Linux—Apache安全优化—防盗链及隐藏版本信息
一.防盗链简述
1.防盗链就是防止别人的网站代码里面盗用服务器的图片、文件、视频等相关资源;如果别人盗用网站的这些静态资源,明显的是会增大服务器的带宽压力;作为网站的维护人员,要杜绝服务器的静态资源被其他网站盗用。
2.HTTP标准协议中专门的Referer字段记录,它的作用是可以追溯上一个入站地址是什么,此外,对于资源文件,可以追踪到包含显示它的网页地址是什么。因此,防盗链方法基于这个Referer字段
3.Apache防盗链需要安装mod_rewrite模块
二.隐藏版本信息概述
1.一般情况下,Apache的版本信息,透露了一定的漏洞信息,从而给网站带来安全隐患
2.在生产环境中要配置Apache的隐藏版本信息
3.可以使用Fiddler抓包工具分析,网站的版本信息
三.实验操作:
1.安装域名服务:
[root@localhost ~]# yum install bind -y
2.配置DNS服务:
主配置文件:
[root@localhost ~]# vim /etc/named.conf
区域配置文件:
[root@localhost ~]# vim /etc/named.rfc1912.zones
区域数据文件:
[root@localhost ~]# cd /var/named
[root@localhost named]# cp -p named.localhost kgc.com.zone
[root@localhost named]# vim kgc.com.zone
3.关闭防火墙,开启服务:
[root@localhost named]# systemctl start named
[root@localhost named]# systemctl stop firewalld
[root@localhost named]# setenforce 0
4.压缩Apache包
[root@localhost named]# cd /mnt
[root@localhost mnt]# ls
[root@localhost mnt]# rz
[root@localhost mnt]# ls
apr-1.4.6.tar.gz apr-util-1.4.1.tar.gz httpd-2.4.2.tar.gz
[root@localhost mnt]# tar zxvf apr-1.4.6.tar.gz -C /opt
[root@localhost mnt]# tar zxvf apr-util-1.4.1.tar.gz -C /opt
[root@localhost mnt]# tar zxvf httpd-2.4.2.tar.bz2 -C /opt
[root@localhost mnt]# cd /opt
[root@localhost opt]# mv apr-1.4.6 httpd-2.4.2/srclib/apr
[root@localhost opt]# mv apr-util-1.4.1 httpd-2.4.2/srclib/apr-util
5.安装环境包:
[root@localhost opt]# yum install gcc gcc-c++ pcre pcre-devel zlib-devel expat-devel make perl -y
6.配置Apache服务
[root@localhost opt]# cd httpd-2.4.2
[root@localhost httpd-2.4.2]# ./configure \
> --prefix=/usr/local/httpd \
> --enable-deflate \
> --enable-so \
> --enable-rewrite \
> --enable-charset-lite \
> --enable-cgi
7.编译:
[root@localhost httpd-2.4.2]# make && make install
8.设置主配置文件,创建软链接
vim /usr/local/httpd/conf/httpd.conf
Listen 192.168.88.131:80
ServerName www.kgc.com:80
[root@localhost httpd-2.4.2]# ln -s /usr/local/httpd/conf/httpd.conf /etc/http.conf
9.添加图片
[root@localhost mnt]# ls
123.jpg error.png apr-1.4.6.tar.gz apr-util-1.4.1.tar.gz httpd-2.4.2.tar.gz
[root@localhost mnt]# cp 123.jpg error.png /usr/local/httpd/htdocs/
[root@localhost mnt]# cd /usr/local/httpd/htdocs/
[root@localhost htdocs]# ls
123.jpg erroe.png index.html
[root@localhost htdocs]# vim index.html
<html><body><h1>It works!</h1>
<img style height=200px;width=300px src="123.jpg"/>
</body></html>
10.开服务看端口:
[root@localhost htdocs]# cd /usr/local/httpd/bin/
[root@localhost bin]# ./apachectl start
[root@localhost bin]# netstat -ntap | grep 80
tcp 0 0 192.168.88.131:80 0.0.0.0:* LISTEN 63700/httpd
11.验证网页:
12.设置主配置文件:
开启rewrite模块:
[root@localhost mnt]# vim /etc/http.conf
LoadModule_rewrite_module_modules/mod_rewrite.so
配置mod_rewrite模块的内容:
13.验证模块:
[root@localhost mnt]# cd /usr/local/httpd/bin
[root@localhost bin]# ./apachectl -t -D DUMP_MODULES | grep "rewrite"
rewrite_module (shared)
14.重启服务:
[root@localhost htdocs]# cd /usr/local/httpd/bin/
[root@localhost bin]# ./apachectl stop
[root@localhost bin]# ./apachectl start
14.隐藏版本号:
[root@localhost bin]# vim /usr/local/httpd/conf/httpd.conf
[root@localhost bin]# vim /usr/local/httpd/conf/extra/httpd-default.conf
15.安装另外一台盗链主机
[root@localhost ~]# yum install httpd -y
[root@localhost ~]# vim /var/www/html/index.html
<html>
<body><h1>It works!</h1>
<img src=”http://www.kgc.com/123.jpg”/>
</body>
</html>
[root@localhost ~]# systemctl start httpd