前不久項目定期漏洞掃描出現兩個漏洞:
apacheHTTPServer安全漏洞(CVE-2020-1934)
ApacheHTTPServer輸入驗證錯誤漏洞(CVE-2020-1927)
這兩個漏洞詳情明确表示Apache HTTP Server 2.4.0版本至2.4.41版本中存在安全漏洞,故對應用進行升級即可,我将httpd升級至最新的2.4.43版本後複掃,結果顯示着兩個漏洞已經修複。
但是出現另外一個漏洞:名稱叫“遠程WWW服務支持TRACE請求”提供的解決辦法是“管理員應禁用WWW服務對TRACE請求的支持”,單純這樣一句話沒什麼作用,具體怎樣做不太清楚。
【詳細描述】
遠端WWW服務支持TRACE請求。RFC 2616介紹了TRACE請求,該請求典型地用于測試HTTP協議實現。攻擊者利用TRACE請求,結合其它浏覽器端漏洞,有可能進行跨站腳本攻擊,獲取敏感信息,比如cookie中的認證信息,這些敏感信息将被用于其它類型的攻擊。
【解決辦法】
管理員應禁用WWW服務對TRACE請求的支持。 IIS URLScan Apache Source Code Modification Mod_rewrite Module RewriteEngine on RewriteCond {Request_Method} ^(TRACE|TRACK) RewriteRule .* - [F]
于是上網搜了一下:漏洞是利用Apache服務器的rewrite功能,對TRACE請求進行攔截,處理方法是将apache http 的配置文件少許改動并重啟即可。得到答案之後想起這個漏洞初次掃描結果裡面沒有,其實是原本也有出現過這個漏洞且已經修複過的,由于修複過程也比較簡單,沒有記錄,今天還是記錄一下,以免後期再遇到此類問題還需重新查詢資料,同樣也可以給遇到該問題的運維小夥伴一個操作指引。方法如下:
【操作理論指引】
方法一:直接修改httpd.conf配置文件後重啟應用
方法二:先停應用,修改httpd.conf配置,最後啟用
針對不同版本修改httpd.conf配置方式不同,詳情如下
查看httpd版本命令:
# httpd -v
【修改httpd.conf文件】
v 對于2.0.55以上版本的apache服務器,方法比較簡單:
編輯httpd.conf文件,添加如下配置即可:
# cd /usr/local/httpd-2.4.43/conf
# vi httpd.conf
TraceEnable off
v 對于非2.0.55以上版本的apache服務器:
# cd /usr/local/httpd-2.4.43/conf
編輯httpd.conf文件
# 首先,激活rewrite模塊(去掉符号#)
LoadModule rewrite_module modules/mod_rewrite.so
# 啟用Rewrite引擎
RewriteEngine On
# 對Request中的Method字段進行匹配:^TRACE 即以TRACE字符串開頭
RewriteCond %{REQUEST_METHOD} ^TRACE
# 定義規則:對于所有格式的來源請求,均返回[F]-Forbidden響應
RewriteRule .* - [F]
【停止Apache服務(以root權限登錄)】
# cd /usr/local/httpd-2.4.43/bin
# ./apachectl stop
或直接service httpd sttop
【啟動Apache服務(以root權限登錄)】
# cd /usr/local/httpd-2.4.43/bin
# ./apachectl start
或直接 service httpd start
【直接重啟Apache服務(以root權限登錄)】
#service httpd restart
【最後檢查應用啟用情況】
最後記得ps -ef|grep httpd 檢查一下應用是否已有正常啟用的進程
【我的實操步驟】
# httpd -v //查看版本,版本為2.4.43
# cd /usr/local/httpd-2.4.43/conf //進入配置文件目錄
# vi httpd.conf //進行編輯
TraceEnable off //最末尾添加該項配置
# service httpd restart //重啟httpd應用
# ps -ef_grep httpd //檢查重啟後的應用進程
,