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 域名 命令来查询时就是你修改后的信息了,对方就彻底不知道你的服务器是什么版本的了^_^






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