Web服務(wù)器Apache安全的幾項(xiàng)措施
毋庸諱言,令Apache占領(lǐng)Web服務(wù)器半壁江山的一個(gè)重要原因就是它可以提供一個(gè)安全的Web操作環(huán)境。Apache團(tuán)體為保證其安全性做了大量的工作。想當(dāng)年,在此產(chǎn)品被發(fā)現(xiàn)存在一個(gè)安全缺陷時(shí),Apache的開發(fā)人員就盡快地搞出了一個(gè)補(bǔ)丁。
然而,盡管Apache已經(jīng)堪稱安全的產(chǎn)品,如果你在構(gòu)建你的服務(wù)器時(shí)沒有采取一些安全預(yù)防措施,這種Web服務(wù)器仍易于受到很多攻擊。
在本文中,筆者將為你提供10個(gè)技巧,借此你可以保護(hù)自己的Apache Web服務(wù)器免于受到許多攻擊。不過,必須謹(jǐn)記,你需要仔細(xì)地評估每一個(gè)技巧,以確保其適合于你的組織。
只安裝所需要的
Apache的一個(gè)最大的特點(diǎn)是其靈活性和大量的可選擇安裝模塊,這在涉及到安全問題時(shí)可成為一個(gè)極大的弱點(diǎn)。你安裝的越多,也就為潛在的攻擊者創(chuàng)造了越大的攻擊面。一個(gè)標(biāo)準(zhǔn)的Apache安裝包含20多個(gè)模塊,包括CGI特性,以及一些身份驗(yàn)證機(jī)制。如果你不打算采用CGI,并且你只想采用靜態(tài)的Web站點(diǎn),不需要用戶身份驗(yàn)證,你可能就不需要這些模塊所提供的任何服務(wù),因此在安裝Apache時(shí)請禁用這些模塊。
如果你沿用了一個(gè)正在運(yùn)行的Apache服務(wù)器,并且不想重新安裝它,就應(yīng)當(dāng)仔細(xì)檢查httpd.conf配置文件,查找以LoadModule開頭的行。請檢查Apache的文檔(也可以用Google、Yahoo等搜索),查找每個(gè)模塊的目的信息,找出那些你并不需要的模塊。然后,重新啟動(dòng)Apache。
暴露程度最小化
Apache易于安裝并且相當(dāng)容易管理。不幸的是,許多Apache的安裝由于為完全的陌生者提供了關(guān)于自己服務(wù)器的太多“有幫助”的信息,例如Apache的版本號和與操作系統(tǒng)相關(guān)的信息。通過這種信息,一個(gè)潛在的攻擊者就可以追蹤特定的可以影響你的系統(tǒng)的破壞性漏洞,特別是你沒有能夠保持所有補(bǔ)丁的更新的話情況更為嚴(yán)重。如此一來,攻擊者無需反復(fù)試驗(yàn)就可以確切地知道你在運(yùn)行什么,從而可以調(diào)整其攻擊方法。
要防止服務(wù)器廣播敏感信息,一定要保證將httpd.conf中的“ServerSignature”指令設(shè)置為“off”。一次默認(rèn)的Apache安裝會將此指令設(shè)置為“off”,不過許多管理員卻啟用了它。
同樣地,禁用目錄瀏覽也是一個(gè)不錯(cuò)的注意。在目錄瀏覽被啟用時(shí),訪問一個(gè)并不包含其所需要文檔的目錄的用戶,會看到此目錄中完整的內(nèi)容列表。無疑,你不應(yīng)當(dāng)將敏感材料以純文本的形式存儲到一個(gè)Web服務(wù)器上,除非你必須這樣做,你也不應(yīng)該允許人們看到超過其需要的內(nèi)容。
目錄瀏覽默認(rèn)地是被啟用的。要禁用這個(gè)特性,應(yīng)編輯http.conf文件,而且對每一個(gè)“Directory”指令,應(yīng)清除“Indexs”引用。
例如,在筆者的做實(shí)驗(yàn)用的Apache 2.2.4服務(wù)器上,這是默認(rèn)的目錄命令:
Options Indexes FollowSymLinks
AllowOverrride None
Order allow,deny
Allow from all
清除Indexes引用后的樣子:
Options FollowSymLinks
AllowOverrride None
Order allow,deny
Allow from all
你也可以保留Indexes指令,并用一個(gè)破折號引導(dǎo),從而禁用此指令(也就是“-Indexes”)。
禁用符號連接追蹤
如果你是唯一一個(gè)校對Web內(nèi)容的人員,而你在創(chuàng)建新的符號連接時(shí)又幾乎不犯錯(cuò)誤,你可能不會擔(dān)心此措施。不過,如果你有很多人員能夠向你的站點(diǎn)增加內(nèi)容,并非所有的人都像你一樣謹(jǐn)慎從事,那么就會有一種風(fēng)險(xiǎn),即某個(gè)用戶可能偶然會創(chuàng)建一個(gè)符號連接指向你的文件系統(tǒng)的一部分,而你又確實(shí)不想讓人們看到這些文件。例如,如果你的Apache服務(wù)器的根目錄中的某人創(chuàng)建了一個(gè)指向 “/”文件夾的符號連接,你該怎么辦?
為了取消Apache服務(wù)器允許用戶追蹤符號連接的請求,應(yīng)該在Directory命令中清除FollowSymlinks指令。
例如,在筆者的試驗(yàn)性的Apache 2.2.4服務(wù)器中,Directory命令如下:
Options Indexes FollowSymLinks
AllowOverrride None
Order allow,deny
Allow from all
在清除了FollowSymLinks引用后,就成為如下的樣子:
Options Indexes
AllowOverrride None
Order allow,deny
Allow from all
如果一些用戶需要跟蹤符號連接的能力,可以考慮使用SymLinksIfOwnerMatch代替。
Listen指令具體化
在你第一次安裝Apache時(shí),httpd.conf包含一個(gè)“Listen 80”指令。應(yīng)將其改變?yōu)椤癓isten mn.xx.yy.zz:80”,在這里“mn.xx.yy.zz”是你想讓Apache監(jiān)聽其請求的IP地址。如果你的Apache運(yùn)行在一個(gè)擁有多個(gè)IP地址的服務(wù)器上時(shí),這一點(diǎn)尤其重要。如果你不采取預(yù)防措施,默認(rèn)的“Listen 80”指令告訴Apache監(jiān)聽每一個(gè)IP地址的80端口。
關(guān)鍵字:Web 服務(wù)器 Apache 安全 措施
新文章:
- CentOS7下圖形配置網(wǎng)絡(luò)的方法
- CentOS 7如何添加刪除用戶
- 如何解決centos7雙系統(tǒng)后丟失windows啟動(dòng)項(xiàng)
- CentOS單網(wǎng)卡如何批量添加不同IP段
- CentOS下iconv命令的介紹
- Centos7 SSH密鑰登陸及密碼密鑰雙重驗(yàn)證詳解
- CentOS 7.1添加刪除用戶的方法
- CentOS查找/掃描局域網(wǎng)打印機(jī)IP講解
- CentOS7使用hostapd實(shí)現(xiàn)無AP模式的詳解
- su命令不能切換root的解決方法
- 解決VMware下CentOS7網(wǎng)絡(luò)重啟出錯(cuò)
- 解決Centos7雙系統(tǒng)后丟失windows啟動(dòng)項(xiàng)
- CentOS下如何避免文件覆蓋
- CentOS7和CentOS6系統(tǒng)有什么不同呢
- Centos 6.6默認(rèn)iptable規(guī)則詳解