html5视频防盗链,Apache网页与安全优化——防盗链和隐藏版本(理论实践相结合!)...

Apache网页与安全优化——防盗链和隐藏版本(理论实践相结合!)

原创

一拳超人0072019-10-28 21:29:16©著作权

©著作权归作者所有:来自51CTO博客作者一拳超人007的原创作品,如需转载,请注明出处,否则将追究法律责任

https://blog.51cto.com/u_14080162/2446100

# Apache防盗链

> * 防盗链就是防止别人的网站代码里面盗用服务器的图片,文件,视频等相关资源

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

> * 所有作为网站的维护人员,是要杜绝我们服务器的静态资源被其他网站盗用

# 配置规则变量说明

* %{HTTP_REFERER}:浏览header中的链接字段,存放一个链接的URL,

代表是从哪个链接访问所需的网页

* !^:不以后面的字符串开头

* .*$:以任意字符结尾

* NC:不区分大写

* R:强制跳转

# 规则匹配说明

RewriteEngineOn:打开网页重写功能

RewriteCond:设置匹配规则

RewriteRule:设置跳转动作

# 规则匹配

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

# 配置操作演示

#### 修改配置文件启用防盗链功能并设置规则:

RewriteEngineOn

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.html [R,NC]

## 环境

一台Linux服务器(192.168.13.128)

一台win10测试机

一台win7盗链机(192.168.13.135)

## 1,yum安装DNS服务,并配置配置文件

[root@localhost ~]# yum install bind -y ##安装bind服务器

[root@localhost ~]# vim /etc/named.conf ##配置主配置文件信息

options {

listen-on port 53 { any; }; ##监听所有

listen-on-v6 port 53 { ::1; };

directory "/var/named";

dump-file "/var/named/data/cache_dump.db";

statistics-file "/var/named/data/named_stats.txt";

memstatistics-file "/var/named/data/named_mem_stats.txt";

recursing-file "/var/named/data/named.recursing";

secroots-file "/var/named/data/named.secroots";

allow-query { any; }; ##允许所有

[root@localhost ~]# vim /etc/named.rfc1912.zones ##配置区域配置文件

zone "kgc.com" IN {

type master;

file "kgc.com.zone";

allow-update { none; };

};

[root@localhost ~]# cd /var/named

[root@localhost named]# cp -p named.localhost kgc.com.zone ##复制模板为kgc.com.zone

[root@localhost named]# vim kgc.com.zone ##修改区域数据配置文件信息

$TTL 1D

@ IN SOA @ rname.invalid. (

0 ; serial

1D ; refresh

1H ; retry

1W ; expire

3H ) ; minimum

NS @

A 127.0.0.1

www IN A 192.168.13.128 ##解析地址为本机地址

[root@localhost named]# systemctl start named ##启动DNS解析服务

[root@localhost named]# systemctl stop firewalld.service ##关闭防火墙

[root@localhost named]# setenforce 0

## 2,远程共享挂载到Linux上

#### 1)在Windows上将LAMP所需压缩软件包共享出来(此处如有问题请看之前的博客相关文章)

![](https://s1.51cto.com/images/blog/201910/28/9e6faed01832db754bff499384218cf5.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)

#### 2)在Linux上使用远程共享获取文件并挂载到/mnt目录下

root@localhost ~]# smbclient -L //192.168.100.3/

Sharename Type Comment

--------- ---- -------

LAMP-C7 Disk

[root@localhost ~]# mount.cifs //192.168.100.3/LAMP-C7 /mnt

##远程挂载软件包到/mnt目录

## 3,手工编译安装Apache

#### 1)将源码包解压到/opt目录下

[root@localhost mnt]# cd /mnt ##切换到/mnt目录下

[root@localhost mnt]# tar zxvf apr-1.6.2.tar.gz -C /opt/ ##解压源码包到/opt下

...

[root@localhost mnt]# tar zxvf apr-util-1.6.0.tar.gz -C /opt/

....

[root@localhost mnt]# tar jxvf httpd-2.4.29.tar.bz2 -C /opt/

...

[root@localhost mnt]# cd /opt //进入/opt目录

[root@localhost opt]# ls //查看解压的文件

apr-1.6.2 apr-util-1.6.0 httpd-2.4.29 rh

#### 2)将apr组件包移动到http中并安装编译工具

[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

[root@localhost opt]# yum -y install \

gcc \ //c语言

gcc-c++ \ //c++语言

make \ //编译工具

pcre-devel \ //pcre语言工具

expat-devel \ //识别标签性语言工具

perl \

pcre \

zlib-devel //数据压缩用的函式库

#### 3)配置安装目录及各种模块

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

[root@localhost httpd-2.4.29]#./configure \ //配置

--prefix=/usr/local/httpd \

--enable-deflate \ //配置压缩模块

--enable-so \ //apache核心模块开启

--enable-rewrite \ //开启重写功能,防盗链

--enable-charset-lite \ //支持字符集,简体中文

--enable-cgi //通用网关接口

...

#### 4)编译和安装

[root@localhost httpd-2.4.29]# make //生成可执行的二进制文件

...

[root@localhost httpd-2.4.29]# make install //复制二进制文件到系统,配置应用环境

...

#### 5)配置http主配置文件

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

[root@localhost httpd]# ls

bin cgi-bin error icons lib man modules

build conf htdocs include logs manual

[root@localhost httpd]# cd conf/ ##切换到http主配置文件中

[root@localhost conf]# vim /etc/httpd.conf ##配置主配置文件

Listen 192.168.13.128:80 ##设置监听地址

#Listen 80

ServerName www.kgc.com:80 ##设置域名

[root@localhost conf]# ln -s /usr/local/httpd/conf/httpd.conf /etc/httpd.conf ##方便管理创建软连接

## 4,编辑网页

#### 1)切换到你的共享挂载点,将图片复制到站点中

[root@localhost conf]# cd /mnt ##切换到挂载点

[root@localhost mnt]# cp kali.jpg /usr/local/httpd/htdocs/ ##将图片复制到站点中

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

[root@localhost htdocs]# ls ##查看图片复制成功

index.html kali.jpg

#### 2)编辑站点的首页内容,并启动

[root@localhost ~]# cd /usr/local/httpd/

[root@localhost httpd]# cd htdocs/ ##切换到站点

[root@localhost htdocs]# ls

index.html kali.jpg

[root@localhost htdocs]# vim index.html ##编辑网页内容,将图片加入到网页中

It works!

kali.jpg ##将图片放到网页中

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

[root@localhost bin]# ./apachectl start ##开启

## 5,用win10测试机测试网页,并查看图片的属性情况

![](https://s1.51cto.com/images/blog/201910/28/6b4dd654c9a554486bba961e60a98250.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)

![](https://s1.51cto.com/images/blog/201910/28/b269b1f7e74acedb04a45e4bfcca2bc7.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)

## 6,用win7盗链机器访问网页

#### 1)修改DNS解析服务器地址

![](https://s1.51cto.com/images/blog/201910/28/617d9a28be69f922f937c589e57e3a92.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)

#### 2)访问网站

![](https://s1.51cto.com/images/blog/201910/28/256ac3fe5ce454eb6f09426489a8888b.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)

#### 3)查看网页图片的属性信息

![](https://s1.51cto.com/images/blog/201910/28/d859f6691682219c8ebfd06c4d77beea.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)

## 7,在win7盗链机器上安装web网站服务并使用kgc.com的网页图片

#### 1)在win7上搭建网站服务

![](https://s1.51cto.com/images/blog/201910/28/07edb749d6162b69bb6daf4f9f74da5e.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)

#### 2)打开web管理器

![](https://s1.51cto.com/images/blog/201910/28/65618a696dc8895ebb1122e92c16b2e0.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)

#### 3) 编辑首页的html文件,修改文本为index.html

![](https://s1.51cto.com/images/blog/201910/28/c63a3027b0a8f7dee56213634b8ba921.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)

#### 4) 将编辑好的首页内容放到站点中

![](https://s1.51cto.com/images/blog/201910/28/a6e86776bd8b383a212ac1d91c3e146d.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)

## 8,利用win10测试机访问盗链网站的信息(关闭防火墙)

![](https://s1.51cto.com/images/blog/201910/28/a73f3dba52a8ac97bfe40defe8788d32.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)

## 9,开启防盗链配置模块

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

LoadModule rewrite_module modules/mod_rewrite.so ##开启防盗链模块

##找到htdocs并添加权限内容

249 RewriteEngine On

250 RewriteCond %{HTTP_REFERER} !^http://kgc.com/.*$ [NC]

251 RewriteCond %{HTTP_REFERER} !^http://kgc.com$ [NC]

252 RewriteCond %{HTTP_REFERER} !^http://www.kgc.com/.*$ [NC]

253 RewriteCond %{HTTP_REFERER} !^http://www.kgc.com/$ [NC]

254 RewriteRule .*\.(gif|jpg|swf)$ http://www.kgc.com/error.png ##防盗链图片

[root@localhost bin]# cp /mnt/error.png /usr/local/httpd/htdocs/ ##将error图片放到站点中

[root@localhost bin]# ./apachectl stop ##关闭

[root@localhost bin]# ./apachectl start ##开启

## 10,测试盗链模块开启之后盗链网站win7网页的内容

![](https://s1.51cto.com/images/blog/201910/28/52fa1b99fa602ee9cf956541f63e5bae.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)

# 配置Apache隐藏版本信息

> * Apache的版本信息,透露了一定的漏洞信息,从而给网站带来安全隐患

> * 生产环境中要配置apache隐藏版本信息

> * 可使用Fiddler工具分析

## 1,正常访问网页时用抓包软件查看

![](https://s1.51cto.com/images/blog/201910/28/3a94dd3e48a7647ae1a16f9ba88e5485.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)

## 2,配置http主配置文件

[root@localhost bin]# vim /etc/http.conf ##配置主配置文件

Include conf/extra/httpd-default.conf ##开启子配置文件

[root@localhost bin]# cd ../

[root@localhost httpd]# cd conf/

[root@localhost conf]# ls

extra httpd.conf magic mime.types original

[root@localhost conf]# cd extra/ ##切换到extra目录下

[root@localhost extra]# vim httpd-default.conf ##配置子配置文件

ServerTokens Prod ##将full全部修改为prod

ServerSignature Off ##签名关闭

## 3,关闭服务并重新开启服务查看抓包信息

[root@localhost conf]# cd ../

[root@localhost httpd]# cd bin/

[root@localhost bin]# ./apachectl stop ##关闭

[root@localhost bin]# ./apachectl start ##开启

![](https://s1.51cto.com/images/blog/201910/28/41877f35061d744a167afa48c6fdefee.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)

# 谢谢阅读!!!

打赏

收藏

评论

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值