Apache安全优化 ----- 设置防盗链+隐藏版本信息

一、防盗链:

(1)防盗链就是防止别人的网站代码里面盗用服务器的图片、文件、视频等相关资源;
(2)如果别人盗用网站的这些静态资源,明细的是会增大服务器的带宽压力;
(3)所以作为网站的维护人员,要杜绝我们服务器的静态资源被其他网站盗用

HTTP标准协议中有专门的Referer 字段记录,它的作用如下

(1)可以追溯上一个入站地址是什么;
(2)对于资源文件,可以追踪到包含显示它的网页地址是什么,因此所有防盗链方法都是基于Referer字段。

1、配置规则变量说明
在这里插入图片描述
2、规则匹配说明

  • RewriteEngine On :打开网页重写功能;
  • RewriteCond : 设置匹配规则;
  • RewriteRule :设置跳转动作

3、规则匹配:如果相应变量的值匹配所设置的规则,则逐条往下处理;如果不匹配,则往后的规则不再匹配。

二、配置实例:

(1)第一步:准备环境

  • 一台linux虚拟机(192.168.220.129)
  • 一台win7(192.168.220.139)虚拟机作为盗链网站;win10(192.168.220.132)作为测试客户端
IP地址域名
192.168.220.129www.kgc.com

1、安装DNS服务,命令:yum install bind -y

2、配置DNS配置文件,加入映射IP地址与域名

3、在 httpd-2.4.29路径下,重新编译Apache,参数中加入 mod_rewrite 模块内容。

./configure \
--prefix=/usr/local/httpd \
--enable-deflate \
--enable-so \
--enable-rewrite \      //加入 mod_rewrite 模块
--enable-charset-lite \
--enable-cgi

4、make && make install

(2)第二步:配置mod_rewrite 模块

文件位置:/usr/local/httpd/conf/httpd.conf

LoadModule rewrite_module modules/mod_rewrite.so   //启用 mod_rewrite 模块

ServerName www.kgc.com:80   //开启域名

Listen 192.168.220.129:80   //开启监听地址和端口
#Listen 80                  //取消ipv6监听端口

1、在 Apache首页中插入一张图片
在这里插入图片描述
在这里插入图片描述
2、在 /usr/local/httpd/bin/ 目录下,开启服务
./apachectl start

(3)第三步:检测客户机上是否能够访问
两台客户机要指定DNS服务器ip地址:192.168.220.129
在这里插入图片描述
(4)第四步:配置盗链网站

1、复制图片路径(右击选择图片,选择属性):http://192.168.220.129/xiongmao.jpg

2、搭建网站:
控制面板 → 系统 → 程序与功能 → 打开或关闭windows 功能 → Indexing Service

写一个txt文档,内容如下:
在这里插入图片描述
在这里插入图片描述
修改txt文档扩展名为 index.html
在这里插入图片描述
把这个网页放到 C:\inetpub\wwwroot 中

(5)第五步:此时,在win10上访问win7主机(192.168.220.139)刚刚做的网页,就会出现和官网一模一样的图片,这样就盗链成功了。
在这里插入图片描述
(6)设置防盗链:

1、先将防盗链照片复制到 /htdocs 中
在这里插入图片描述

2、需要修改Apache的配置文件 http.conf,配置mod_rewrite 模块:

在 <Directory “/usr/local/httpd/htdocs”> 板块中,添加以下代码:


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

在这里插入图片描述
3、在 /usr/local/httpd/bin/ 目录下,再重新关闭开启服务

./apachectl stop        //关闭服务
./apachectl start       //开启服务

(7)为了展示实验效果,我们在开启一台windows虚拟机(指定linux虚拟机的DNS服务器地址),这样一台访问官网,一台访问盗链网站,就有对比了。

1、win10-2 先访问官网 www.kgc.com
在这里插入图片描述
2、由于我们已经做了防盗链设置,现在我们在win10-2访问盗链网站,观察是否还会出现和官网一样的图片
在这里插入图片描述

三、隐藏版本信息:

(1)配置Apache隐藏版本信息

Apache的版本信息,透露出了一定的漏洞信息,在现网中如果不隐藏版本信息,外界知道Apache版本,会根据对应版本的漏洞进行攻击,所以这体现了隐藏版本信息的重要性。

1、将主配置文件 httpd.conf 以下行注释去掉

#Include conf/extra/httpd-default.conf

2、修改 httpddefault.conf 文件两个地方

  • ServerTokens Full 修改为 ServerTokens Prod
  • 将 ServerSignature On 修改为ServerSignature Off

(2)重启httpd 服务,访问网站,可以用 Fiddler工具 进行抓包测试

(3)操作示例

不隐藏版本信息,用 fiddler工具抓包,可以看到版本信息,如下:
在这里插入图片描述
2、隐藏步骤

第一步:主配置文件 httpd.conf

Include conf/extra/httpd-default.conf   //开启httpd-default

第二步:httpddefault.conf 文件
在这里插入图片描述
第三步:重启一下服务
在这里插入图片描述
第四步:在用fiddler 抓包工具测试一下,观察是否已经隐藏版本信息了
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值