一、隐藏版本号的重要性及配置思路
-
Apache的版本信息,透露了一定的漏洞信息,从而给网站带来了安全隐患
-
生产环境中要配置Apache隐藏版本信息
-
配置思路:
-
将主配置文件httpd.conf以下行注释去掉
#lnclude conf/extra/httpd-default.conf
-
修改httpd-default.conf文件
ServerTokens Full修改为ServerTokens Prod
-
重启httpd服务,进行访问验证
二、实践:配置Apache隐藏版本号
-
实验环境:VMware Workstation 15.5、Centos 7.6、X Shell6、windows10专业工作站版
-
实验准备:
-
实验所需要用到的软件包下载地址:
fiddler:https://wwa.lanzous.com/iiI72fcuoqh
-
实验步骤:
2.1 yum安装的设置方法
1、在Centos7.6系统中安装http服务
[root@localhost ~]# yum -y install httpd
2、修改http服务配置文件中的监听端口及ServerName
[root@localhost ~]# vim /etc/httpd/conf/httpd.conf ## 编辑配置文件
修改以下两处:
Listen 192.168.50.136:80
#Listen 80
ServerName localhost:80
3、给站点创建一个主页面
[root@localhost ~]# vim /var/www/html/index.html ## 在站点目录下新建一个主页
在其中增加以下内容:
<img src="cat.jpg"/>
将一张图片上传到/var/www/html/目录下
4、关闭系统核心防护功能并清空防火墙规则
[root@localhost ~]# setenforce 0
[root@localhost ~]# iptables -F
5、开启http服务
[root@localhost html]# systemctl start httpd
搭建成功!
7、现在使用软件fiddler进行页面抓包,打开软件,软件运行后会自动进入抓包模式,这时候刷新一下网站页面就可以看到软件左侧抓到的数据包了
通过以上步骤,只要通过一个抓包软件就可以轻松获取网站服务器的Apache版本号,非常不完全;那下面我们就来通过配置实现隐藏版本号的功能:
8、编辑http服务配置文件
[root@localhost html]# vim /etc/httpd/conf/httpd.conf
在末尾插入两行内容:
ServerTokens Prod
ServerSignature off
9、在客户机上清除浏览器缓存,重启浏览器和抓包软件,访问192.168.50.136站点
从抓包结果看出,已经不显示版本号了
2.2 手工编译安装的设置方法
1、在httpd.conf配置文件中修改如下内容
修改489行,将前面的#去掉
Include conf/extra/httpd-default.conf
2、在编译安装的路径下找到httpd-default.conf 这个配置文件(每个人编译安装的路径不同,以实际情况为准)
将配置文件中原先的Full修改为Prod
ServerTokens Prod
cd /usr/local/httpd/bin ## 进入http服务放置命令的目录
[root@localhost bin]# ./apachectl stop ## 停止http服务
[root@localhost bin]# ./apachectl start ## 开启http服务
4、在客户机中打开抓包软件fiddler,打开浏览器访问站点192.168.50.136,查看抓到的数据包
从上图可以看出,也达到了隐藏版本号的效果