如何制定Apache安全最佳做法?
Apache HTTP Server軟件于18年前首次推出,逾十年以來(lái),該軟件一直都是最流行的Web服務(wù)器軟件--Apache占Web服務(wù)器市場(chǎng)的份額超過(guò)50%,這也使其成為最熱門(mén)的攻擊目標(biāo)。
安全公司ESET和Sucuri的研究人員發(fā)現(xiàn)了最新針對(duì)Apache的高調(diào)攻擊,攻擊人員試圖尋找一個(gè)后門(mén)進(jìn)入Apache,重定向網(wǎng)絡(luò)流量到惡意網(wǎng)站,訪客進(jìn)入惡意網(wǎng)站后,將被Blackhole漏洞利用工具包所感染。這種攻擊表明,企業(yè)必須制定Apache安全最佳做法,并且企業(yè)需要意識(shí)到,不安全的Apache Web服務(wù)器可能引起嚴(yán)重的后果。
在這篇文章中,我們將提供最佳做法來(lái)幫助企業(yè)保護(hù)Apache服務(wù)器抵御現(xiàn)代攻擊。
Apache安全基礎(chǔ)
在很多情況下,Apache服務(wù)器感染是因?yàn)檫^(guò)時(shí)的模塊、配置或甚至Web服務(wù)器托管的Web代碼。為了解決這些問(wèn)題,企業(yè)應(yīng)該使用最新版本的Apache HTTP及其附件,同時(shí)還應(yīng)該保持HTTP服務(wù)器的更新,這是至關(guān)重要的。然而,目前攻擊者的趨勢(shì)是專(zhuān)注于外部組件框架、模塊和附件,這些方面的漏洞讓Apache HTTP很容易受到攻擊,并且很難擺脫。企業(yè)應(yīng)該追蹤這些新組件,這等于成功了一半,另一半則是確保這些數(shù)據(jù)包安裝了最新補(bǔ)丁,以及升級(jí)到最新版本。另外,在更新時(shí),企業(yè)還應(yīng)該記得要仔細(xì)檢查下載來(lái)源,聰明的攻擊往往試圖將惡意軟件偽裝成軟件更新。
除了保持更新外,企業(yè)還應(yīng)該配置Apache HTTP Server以將攻擊面減到最小。雖然這聽(tīng)起來(lái)很簡(jiǎn)單,但這只有系統(tǒng)管理員可以處理的幾十個(gè)考慮因素(通常還需要與Web開(kāi)發(fā)人員協(xié)作)。例如,分布式拒絕服務(wù)攻擊的最新趨勢(shì)是使用最少量的流量消耗系統(tǒng)資源。這種攻擊的影響可以通過(guò)配置參數(shù)來(lái)最小化,例如配置RequestReadTimeout、TimeOut、KeepAliveTimeout 和MaxRequestWorkers來(lái)減少資源消耗值。此外,系統(tǒng)管理員應(yīng)該考慮的以下其他因素:
• 使用限制特權(quán)的賬戶運(yùn)行HTTPd,如果攻擊者試圖攻擊后臺(tái)程序本身的話,這樣做能夠最大限度地減少對(duì)整個(gè)系統(tǒng)的影響。
• 通過(guò)配置AllowOverride參數(shù)到None,拒絕對(duì). htaccess文件的使用。這能夠確保htaccess文件不能使用。
• 配置模式(例如mod_python 和 mod_php)來(lái)使用安全模式,在有必要的地方進(jìn)行這種配置,但在新版本中可能沒(méi)有這個(gè)必要。
• 鎖定文件系統(tǒng),這樣只有根用戶可以重寫(xiě)Apache二進(jìn)制文件,這樣做將防止httpd二進(jìn)制文件被惡意版本替換。
監(jiān)測(cè)Apache攻擊
即使部署了保護(hù)措施來(lái)保護(hù)Apache服務(wù)器,企業(yè)仍然必須警惕攻擊者通過(guò)其他途徑“趁虛而入”。為了確保攻擊者不會(huì)偷偷潛入,企業(yè)必須密切監(jiān)測(cè)其日志來(lái)追蹤攻擊跡象。啟用一定水平的日志記錄,同時(shí)記錄系統(tǒng)水平的HTTPd,以及內(nèi)部web后臺(tái)程序。你可以簡(jiǎn)單地創(chuàng)建bash或Python腳本,來(lái)搜索日志中特定內(nèi)容,或者使用內(nèi)置syslogd命令來(lái)提醒管理員潛在的錯(cuò)誤或攻擊。有效的監(jiān)測(cè)和警報(bào)需要企業(yè)了解所提供的內(nèi)容。一些內(nèi)容(例如使用LDAP用于身份驗(yàn)證)的運(yùn)作方式可能會(huì)導(dǎo)致不太動(dòng)態(tài)的web服務(wù)器生成警報(bào)。如果你的服務(wù)器試圖使用LDAP,而web應(yīng)用被設(shè)計(jì)為使用本地身份驗(yàn)證,這可能會(huì)引起報(bào)警。禁用mod_php可能使企業(yè)排除這種類(lèi)型的攻擊警報(bào),從而使真正的警報(bào)發(fā)揮其作用。對(duì)于面臨高風(fēng)險(xiǎn)攻擊的web服務(wù)器,考慮啟用mod_log_forensic以獲得對(duì)客戶端請(qǐng)求的更深入視圖。
啟用mod_security,所有系統(tǒng)都可以獲益,但高風(fēng)險(xiǎn)web服務(wù)器獲益最多。該模塊還可以使企業(yè)利用各種工具來(lái)檢測(cè)和阻止攻擊。你還可以通過(guò)IPS、IDS、NIDS和SIEM系統(tǒng)將它集成到現(xiàn)有的企業(yè)安全模式中。mod_security還能夠作為web應(yīng)用防火墻,當(dāng)用于可能沒(méi)有最佳輸入過(guò)濾的web應(yīng)用時(shí),它的作用非常巨大。
保持警惕
通過(guò)制定這些基本措施,企業(yè)可以確保Apache HTTP服務(wù)器的安全,同時(shí)以最低風(fēng)險(xiǎn)提供內(nèi)容。操作安全系統(tǒng)最重要的部分之一就是保持追蹤最新的安全風(fēng)險(xiǎn)和軟件版本。這樣做,再加上積極地監(jiān)測(cè),將能夠很好地保護(hù)你的Apache實(shí)例的安全。