Apache安全优化

前言

Apache配置防盗链功能

  • 防盗链是防止别人的网站代码里面盗用我们自己服务器上的图片、文件、视频等相关资源

  • 如果别人盗用网站的这些静态资源,明显的是会增大服务器的带宽压力

  • 作为网站的维护人员,要杜绝服务器的静态资源被其他网站盗用

一、Apache安全优化

 1.1配置防盗链

1.1.1 环境配置

软件包

httpd-2.4.25
apr-util-1.4.1
apr-1.4.6

1.1.2 将安装http服务的三个包上传到服务器opt目录下,并解压缩

[root@localhost opt]# tar jxvf httpd-2.4.29.tar.bz2
[root@localhost opt]# tar zxvf apr-1.6.2.tar.gz
[root@localhost opt]# tar zxvf apr-util-1.6.0.tar.gz
[root@localhost opt]# mv apr-1.6.2 httpd-2.4.29/srclib/apr
[root@localhost opt]# mv apr-util-1.6.0 httpd-2.4.29/srclib/apr-util

1.1.3 安装DNS服务,修改主配置文件

[root@localhost opt]# vi /etc/named.conf 

将原先的127.0.0.1修改为any
options {
        listen-on port 53 { any;};    //修改为any
...省略内容
        allow-query     { any; };    //修改为any

1.1.4 修改区域文件

[root@localhost opt]# vi /etc/named.rfc1912.zones
//添加以下内容到正向解析中
    zone "test.com" IN {
        type master;
        file "test.com.zone";
        allow-update { none; };
};

1.1.5 修改DNS区域数据配置文件

[root@localhost opt]# cd /var/named/
[root@localhost named]# cp -p named.localhost test.com.zone
[root@localhost etc]# vim /var/named/test.com.zone
    //尾行修改为下面内容
www IN  A       192.168.50.136

1.1.6 启动dns 在客户机上进行查看DNS解析是否生效

[root@localhost named]# systemctl start named
nslookup www.test.com

1.2 安装httpd

[root@localhost named]# cd /opt/httpd-2.4.29/

配置http服务安装脚本:
./configure --prefix=/usr/local/httpd --enable-deflate --enable-so --enable-rewrite --enable-charset-lite --enable-cgi
[root@localhost httpd-2.4.29]# make && make install
[root@localhost httpd-2.4.29]# ln -s /usr/local/httpd/conf/httpd.conf /etc 建立软连接

1.3 在网页中添加一张图片

[root@localhost httpd-2.4.29]# cd /usr/local/httpd/htdocs/

将一张图片上传到站点目录中
修改站点页面文件,将图片添加进去:
<img src="cat.jpg"/>
<html><body><h1>It works!</h1>
<img src="cat.jpg"/>
</body></html>

1.4 在http配置文件中修改域名及监听地址

[root@server bin]# vim /etc/httpd.conf    ## 编辑配置文件

修两处51、52与198行:

Listen 192.168.50.134:80     ## 51行
#Listen 80       ## 52行
ServerName localhost:80     ## 198行

1.5 在客户机中打开浏览器,输入192.168.50.134进行访问

Apache安全优化

1.6 盗链主机设置

[root@daolian ~]# vim /var/www/html/index.html    ## 创建站点页面
写入如下内容:
<h1>dao lian wang</h1>
<img src="http://www.test.com/cat.jpg">
[root@daolian ~]# echo "nameserver 192.168.50.134" > /etc/resolv.conf
[root@daolian ~]# systemctl restart httpd

1.7 访问192.168.50.136(盗链web)

Apache安全优化

1.8 开启防盗功能

[root@server bin]# vim /etc/httpd.conf 

将156行的rewrite模块功能开启(前面的#去掉)
156 LoadModule rewrite_module modules/mod_rewrite.so

在<Directory "/usr/local/httpd/htdocs">标签内添加如下防盗链的规则:

RewriteEngine On
RewriteCond %{HTTP_REFERER} !^http://test.com/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://test.com$ [NC]
RewriteCond %{HTTP_REFERER} !^http://www.test.com/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://www.test.com/$ [NC]
RewriteRule .*\.(gif|jpg|swf)$ http://www.test.com/error.png

1.9 进入站点目录,将一张error.jpg图片上传到该目录下,如果发生盗链情况则自动显示该图片

[root@server bin]# cd /usr/local/httpd/htdocs/
[root@server local]# cd /usr/local/httpd/bin/      ## 进入http命令存放目录
[root@server bin]# ./apachectl stop      ## 停止服务
[root@server bin]# ./apachectl start     ## 启动服务

查看是否可以盗链

Apache安全优化

 

Apache安全优化

上一篇:使用ACK和NAS快速搭建弹性NGINX网站


下一篇:js实现十进制转二进制