apache安全之修改或隐藏版本信息
为什么要屏蔽版本?
防止他人恶意扫描已知版本的漏洞,从而利用漏洞进行×××,造成不必要的损失。
一、源码文件屏蔽版本
1.修改源文件
[root@localhost httpd-2.4.20]# vim include/ap_release.h
修改以下内容:
#define AP_SERVER_BASEVENDOR"Apache Software Foundation"
#define AP_SERVER_BASEPROJECT "ApacheHTTP Server"
#define AP_SERVER_BASEPRODUCT"Apache"
#define AP_SERVER_MAJORVERSION_NUMBER 2
#define AP_SERVER_MINORVERSION_NUMBER 2
#define AP_SERVER_PATCHLEVEL_NUMBER 25
#define AP_SERVER_DEVBUILD_BOOLEAN 0
改为:
#define AP_SERVER_BASEVENDOR"Kry" #服务器供应商名称
#define AP_SERVER_BASEPROJECT "Web Server" #服务的项目名称
#define AP_SERVER_BASEPRODUCT"Kry Web Server" #服务的产品名称
#define AP_SERVER_MAJORVERSION_NUMBER 8 #主板本号
#define AP_SERVER_MINORVERSION_NUMBER 8 #小版本号
#define AP_SERVER_PATCHLEVEL_NUMBER 8 #补丁版本号
#define AP_SERVER_DEVBUILD_BOOLEAN 0
2.测试效果
[root@localhost httpd-2.4.20]# curl -I 192.168.0.146
HTTP/1.1 200 OK
Date: Tue, 10 Jan 2017 16:05:28 GMT
Server: Kry Web Server/8.8.8 (Unix)
3.注意
不是所有与Apache结合使用的程序都适用,例如SVN(subversion),在安装过程中需要检测Apache版本,如果是一个无法识别的版本会安装失败,所以不是所有都适合源码屏蔽版本号。
二、修改配置文件彻底屏蔽
[root@localhost ~]# vim /usr/local/apache-2.4.20/conf/extra/httpd-default.conf
修改以下内容:
ServerTokens Full
ServerSignature Off
改为:
ServerTokens Prod #不显示服务器操作系统类型
ServerSignature On #不显示web服务器版本号
检查语法:/application/apache/bin/apachectl -t
平滑重启:/application/apache/bin/apachectl graceful
查看效果:curl -I 192.168.31.36
目录 返回
首页