Apache安全优化:设置防盗链,隐藏版本信息 (内含Apache源码包和抓包工具)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Apache安全优化:设置防盗链,隐藏版本信息 (内含Apache源码包和抓包工具)相关的知识,希望对你有一定的参考价值。
防盗链:一些不良网站有时为了不增加成本又想扩充自己站点的内容,经常盗用其他网站的链接,一方面损害了原网站的合法利益,另一方面又加重了服务器的负担
隐藏版本信息:一般情况下,软件的漏洞信息和特定版本是相关的如果×××或别有用心之人得到了Apache的版本信息,就会使服务器遭受被×××的风险,为了防止这些事的发生,我们可以隐藏版本号,减少危险的发生
实验环境:一台linux作为web服务器,IP为192.168.100.222
一台win7作为盗链网站,IP为192.168.100.3
一台win7作为访问网站的客户机,在这台win7上需要安装抓包工具,IP地址为192.168.100.4
Apache安装包:https://pan.baidu.com/s/1F4RbBO3-BzHdZMbHaWpuhw 密码:75hy
抓包工具链接:https://pan.baidu.com/s/1pxYbLdmfMdmeo7oGJfjbaA 密码:dbf3
1、先卸载系统自带的Apache服务,接着进行手工编译安装,具体安装过程在上一篇文章中已经演示,这里就不再演示
在执行安装过程中一定要在configure这个执行文件下添加一个网页重写功能,不然防盗链无法进行执行
2、执行make命令对这些文件进行编译
接着将Apache的执行文件放到一个便于管理的目录下
进入这个执行文件在开头插入一段脚本备注信息
3、脚本添加完成后我们查看这个服务的权限,发现并没有执行权限,所以需要给它加上一个执行权限,同时还需要将它放到chkconfig当中,便于系统的管理
4、执行文件配置完成后就可以对主配置文件进行更改,为了方便从操作这里我们可以建立一个软链接将主配置文件放到etc目录下
在主配置文件中需要更改的是监听地址和域名,这里我将监听地址改为自己服务器的地址,定义的域名为www.benet.com
文件配置完成后可以在usr/local/httpd/bin/目录下执行apachectl这条命令,可以检查文件中有没有什么语法错误
在发现没有什么错误之后就可以开启httpd服务了,接着就需要关闭防火墙和setenforce,不然客户机无法进行访问
5、Apache服务开启之后还需要有DNS服务器进行解析,所以还需要安装一个DNS功能,DNS可以用rpm进行安装
在安装完DNS之后我们需要配置里面的三个文件,首先是主配置文件,这里将监听地址设为自己的服务器地址,允许进行解析的客户机设为所有
接着需要配置的是区域,在这个文件中添加一个名为www.benet的模块
最后需要修改的是区域数据文件,这里benet域名对应的ip地址为192.168.100.222
6、接着我们在网站的站点目录下添加一张图片,在100.3这台win7进行访问,上图就是网站的访问效果,注意这张图片的来源是benet,同时图片上面的话为“It works!”
7、接着我们利用100.4这台win7来模仿一下盗链
首先开启window的网站服务,接着建一个名为“this is test !!!”的网页,同时将benet网站上的这张图片放到这个网页当中
上图就是访问盗链网站的界面,这里的图片路径依然是benet
8、为了防止盗链的发生就需要在服务器上设置一个防盗链
首先在httpd的主配置文件中开启网页重写这个模块选项
接着找到Directory这个模块,在末尾加上防盗链的设置规则,具体内容都已在图片中指出
规则设定完成后就需要把自己指定的报错图片添加到站点目录下,这样当别人从其他网站访问这张图片时就会显示那张报错图片,如上图显示
隐藏版本信息实验
1、在100.3这台客户机上安装一个抓包工具,上图显示的是我访问Apache网站时显示的一些信息,右下角可以看到这里显示了详细的版本信息,这对Apache服务是很不安全的
2、为了隐藏版本信息我们可以对一些文件进行配置
首先在主配置文件下开启httpd-default.conf这个文件,这个文件包含了是否返回版本信息的内容
进入这个文件,找到ServerTokens这个关键字,这个是显示服务器编译过后的描述信息,将其中的Full改为Prod,之后就只会显示服务名而不显示版本号了
3、如上图所示,这里只显示了服务名称,并没有显示版本号
以上是关于Apache安全优化:设置防盗链,隐藏版本信息 (内含Apache源码包和抓包工具)的主要内容,如果未能解决你的问题,请参考以下文章