CentOS7 Apache調優之隱藏版本號

用curl -I 域名 ,會發現如果沒有設置隱藏版本號的話,服務器版本及Openssl信息會全都顯示出來,這樣容易暴露web服務器版本,進而通過版本號查找漏洞***web服務器。


例如:


HTTP/1.1 302 Found
Date: Wed, 11 Apr 2018 08:03:25 GMT
Server: Apache/2.4.6 (CentOS) OpenSSL/1.0.1e-fips PHP/5.6.32
X-Powered-By: PHP/5.6.32
Set-Cookie: PHPSESSID=slukigut3n2fkuii73r4tse9k1; path=/
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Location: /Home/Login/index.html
Content-Type: text/html; charset=UTF-8

以上信息暴露了apache的版本號以及openssl的版本號,按照下面的方法來隱藏Apache的版本號。



源碼編譯的Apache,以/usr/local/apache爲主目錄


1. vim /usr/local/apache/conf/httpd.conf                                                                 ### 編輯httpd.conf文件  

找到  Include conf/extra/httpd-default.conf,去掉前面的#號,使其生效,wq保存


2. vim /usr/local/apache/conf/extra/httpd-default.conf

找到ServerTokens選項,將其Full值改爲Prod                                                                ### full值爲顯示版本號以及其它詳細信息,Prod爲隱藏這些信息


找到ServerSignature,將其On值改爲Off                                                                                                                                                                                                                                                                 ###  Yes爲啓用這個指令用來配置服務器端生成文檔的頁腳(錯誤信息mod_proxy的FTP目錄列表、mod_info的輸出),No爲隱藏這些信息



以上方法只能隱藏版本號以及Openssl信息,如果需要真正隱藏命名,或者需要僞裝一個新的命名,需要先修改Apache的源碼包,然後再進行編譯安裝


以源碼包httpd-2.4.33爲例


  1. cd 到解壓好的 httpd-2.4.33 文件夾裏

  2. 找到include/ap_release.h文件

  3. vim httpd-2.4.33/include/ap_release.h文件


找到以下幾行:

#define AP_SERVER_BASEVENDOR "Apache Software Foundation"              ###服務的供應商名稱
#define AP_SERVER_BASEPROJECT "Apache HTTP Server"                            ###服務的項目名稱          
#define AP_SERVER_BASEPRODUCT "Apache"                                                ###服務的產品名

#define AP_SERVER_MAJORVERSION_NUMBER 2                                            ###主版本號
#define AP_SERVER_MINORVERSION_NUMBER 4                                            ###小版本號
#define AP_SERVER_PATCHLEVEL_NUMBER   33                                              ###補丁級別
#define AP_SERVER_DEVBUILD_BOOLEAN    0                                                  #


將上邊的內容改成你想要的信息,然後保存,前面的#號保留。編譯安裝,這樣再用curl -I 域名 命令來查詢時就是你修改後的信息了,對方就徹底不知道你的服務器是什麼版本的了^_^






發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章