千家信息网

如何配置Apache实现防盗链、隐藏版本信息

发表于:2025-01-28 作者:千家信息网编辑
千家信息网最后更新 2025年01月28日,这篇文章主要为大家展示了"如何配置Apache实现防盗链、隐藏版本信息",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"如何配置Apache实现防盗链、隐藏版
千家信息网最后更新 2025年01月28日如何配置Apache实现防盗链、隐藏版本信息

这篇文章主要为大家展示了"如何配置Apache实现防盗链、隐藏版本信息",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"如何配置Apache实现防盗链、隐藏版本信息"这篇文章吧。

一、配置Apache实现防盗链

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

使用两台主机模拟盗链

两台主机配置与功能如下:

盗链模拟步骤

1.两台主机配置测试页面
2.盗链网站的测试网页page盗 用源主机目录page/image的一个logo.jpg文件
3.在Windows中访问 http://a.test2.com/page.html,并用Fiddler抓包工具的查看效果图

检查Apache是否安装了mod_ rewrite模块

1./usr/ocal/apache/bin/apachectl -t -D DUMP_MODULES
2.如果输出中没有rewrite_module (static),, 则说明编译时没有安装
mod_rewrite模块

如果没有安装则要重新编译安装

1…/configure --enable-rewrite…
2.make &&make install

配置规则变量说明

1.%{HTTP_ REFERER}: 浏览header中的链接字段,存放一一个链
接的URL,代表是从哪个链接访问所需的网页
2.!^:不以后面的字符串开头
3…*$:以任意字符结尾
4.NC:不区分大写
5.R:强制跳转

规则匹配说明

1.RewriteEngine On:打开网页重写功能
2.RewriteCond:设置匹配规则
3.RewriteRule:设置跳转动作

规则匹配

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

配置操作演示

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

RewriteEngine OnRewriteCond %{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]

配置Apache隐藏版本信息

1.Apache的版本信息,透露了一定的漏洞信息,从而给网站带来安全隐患
2.生产环境d要配置Apache隐藏版本信息
3.可使用Fiddler抓包工具分析
4.配置Apache隐藏版本信息
5.将主配置文件httpd.conf以下行注释去掉
(1)#Include conf/extra/httpd-default. conf
修改httpd-default.conf文件两个地方
(1)Server Tokens Full修改为Server Tokens Prod
(2)将ServersSignature On修改为ServersSignature Off
6.重启httpd服务,访问网站,抓包测试

配置实验

1、配置DNS域名解析文件

[root@localhost ~]# yum install bind -y[root@localhost ~]# vim /etc/named.confoptions {        listen-on port 53 { any; };     //括号内127.0.0.1改为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; };       //括号内localhost改为any#修改后按Esc,输入:wq保存退出[root@localhost ~]# vim /etc/named.rfc1912.zoneszone "kgc.com" IN {        type master;        file "kgc.com.zone";        allow-update { none; };};#在同格式下添加以上内容后按Esc,输入:wq保存退出[root@localhost ~]# cd /var/named/[root@localhost named]# lsdata  dynamic  named.ca  named.empty  named.localhost  named.loopback  slaves [root@localhost named]# cp -p named.localhost 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.1www IN  A       192.168.18.128#做以上格式的改动,注意最后的IP地址是填自己linux主机的IP地址,修改后按Esc,输入:wq保存退出[root@localhost named]# systemctl start named[root@localhost named]# systemctl stop firewalld.service [root@localhost named]# setenforce 0

2、共享文件

[root@localhost named]# mkdir /abc[root@localhost named]# mount.cifs  //192.168.124.17/LAMP-C7  /abc          //在宿主机中把有压缩文件的文件夹共享出来Password for root@//192.168.124.17/rpm:         //此处直接回车 [root@localhost named]# cd /abc/LAMP/[root@localhost LAMP]# ls       //此时可以看到挂载文件夹中的压缩文件apr-1.6.2.tar.gz       cronolog-1.6.2-14.el7.x86_64.rpm  mysql-5.6.26.tar.gzapr-util-1.6.0.tar.gz  Discuz_X2.5_SC_UTF8.zip           php-5.6.11.tar.bz2awstats-7.6.tar.gz     httpd-2.4.29.tar.bz2[root@localhost LAMP]# tar   jxvf   httpd-2.4.29.tar.bz2   -C   /opt/[root@localhost LAMP]# tar   zxvf   apr-1.6.2.tar.gz   -C   /opt/[root@localhost LAMP]# tar   zxvf   apr-util-1.6.0.tar.gz   -C   /opt/[root@localhost LAMP]# cd /opt/[root@localhost opt]# lsapr-1.6.2  apr-util-1.6.0  httpd-2.4.29  rh[root@localhost opt]# mv apr-1.6.2/     httpd-2.4.29/srclib/apr     #srclib为数据库,可解析apr[root@localhost opt]# mv apr-util-1.6.0/    httpd-2.4.29/srclib/apr-util[root@localhost opt]# yum install gcc gcc-c++ pcre pcre-devel zlib-devel expat-devel -y      #expat环境包不能忘[root@localhost opt]#cd  httpd-2.4.29/    [root@localhost httpd-2.4.29]# ./configure \--prefix=/usr/local/httpd \--enable-deflate \--enable-so \--enable-rewrite \--enable-charset-lite \--enable-cgi[root@localhost httpd-2.4.29]#make[root@localhost httpd-2.4.29]#make   inatall[root@localhost httpd-2.4.29]# vim   /usr/local/httpd/conf/httpd.conf /ServerName,搜索到网址处,把#注释去掉,内容改为如下内容ServerName www.kgc.com:80/Listen,搜索到监听端口,把IPv6注释加上,把IPv4监听IP地址改为自己linux的地址Listen 192.168.234.164:80#Listen 80#修改后按Esc,输入:wq保存退出  [root@localhost httpd-2.4.29]# ln   -s   /usr/local/httpd/conf/httpd.conf /etc/httpd.conf//建立软连接[root@localhost httpd-2.4.29]# cd   /usr/local/httpd/bin/[root@localhost bin]# lsab            apu-1-config  dbmmanage    fcgistarter   htdigest  httxt2dbmapachectl     apxs          envvars      htcacheclean  htpasswd  logresolveapr-1-config  checkgid      envvars-std  htdbm         httpd     rotatelogs[root@localhost bin]# vim   /usr/local/httpd/htdocs/index.html  

It works!

//需要插入图片,做以上更改,后按Esc,输入:wq保存退出[root@localhost bin]# cp /aaa/LAMP/time.jpg /usr/local/httpd/htdocs///复制图片到此目录下 [root@localhost bin]# ./apachectl start[root@localhost bin]# netstat -ntap | grep 80tcp 0 0 192.168.18.128:80 0.0.0.0:* LISTEN 93989/httpd

3、验证
win10-1作为盗链网站,win7-1作为测试客户端
在win7-1中,网络把DNS解析的地址改为自己linux系统的IP地址


4、我们进入浏览器输入: www.kgc.com, 此时可以浏览我们写好的网页:

5、我们进入win7-1盗链客户端的浏览器输入www.kgc.com,此时也可以访问这个网页,此时我们想到用这个图片,右键点击图片,选择属性,可以看到这张图片的URL:http://www.kgc.com/time.jpg

6、此时我们需要搭建盗链网站:
控制面板-程序-程序和功能-打开和关闭windows功能-选择Internet信息服务

7、我们点击左下角的图标,在搜索栏搜索iis

8、新建文档

9、看文档扩展名


10、把网页文件拖至以下路径中:C:\inetpub\wwwroot

此时就可以用测试机进行访问了

1.此处需要注意的是两台主机都需要关闭防火墙,否则会无法访问网页
2.在盗链浏览器中国输入测试主机的IP地址:192.168.234.161,就可以访问到盗链的网站
3.此时图片相同说明盗链成功,test.web是盗链网站,盗用了kgc的官方网站的图片,别人在访问test.web的时候,这张图片被自动加载,但是流量依旧被导给了kgc的官方网站
以上是盗链的过程,但是有盗链的事情出现我们需要杜绝就要用到防盗链

[root@localhost bin]# vim ../conf/httpd.conf /rewrite,将此行注释去掉LoadModule rewrite_module modules/mod_rewrite.soRequire all granted//在此行下插入以下规则  RewriteEngine OnRewriteCond %{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/error.png  #修改后按Esc,输入:wq保存退出

4、拷贝图片

[root@localhost bin]# ls ../htdocs/ha.jpg  index.html[root@localhost bin]# cp /aaa/LAMP/error.png ../htdocs/[root@localhost bin]# ls ../htdocs/error.png  ha.jpg  index.html[root@localhost bin]# ./apachectl stop[root@localhost bin]# ./apachectl start

5、验证防盗链:
我们使用测试机再次输入192.168.234.161,此时因为设置了防盗链所以会强制弹出我们的error图片,此时说明了防盗链设置成功!

二、隐藏版本信息

基于上一个防盗链的配置不变,开始隐藏版本号的优化操作。
实验步骤
1、实验前的验证
进入Windows客户端,使用fiddler抓包,可看到版本信息

2、抓包会显示版本后缀,图谋不轨之人会针对该版本的漏洞对服务器进行attack,这是非常不安全,因此需要对版本号进行隐藏。
3、优化过程如下:

[root@localhost ~]# vim  /usr/local/httpd/conf/httpd.conf/default  搜索default,进行如下修改Include conf/extra/httpd-default.conf    //将开头的#删除wq保存退出

4、开启后将会在/usr/local/httpd/conf/extra/中生成httpd-default.conf配置文件用于优化

[root@localhost bin]# vim /usr/local/httpd/conf/extra/httpd-default.conf /ServerTokens 搜索ServerTokens,进行如下修改ServerTokens Prod               //将Full改为Prodwq保存退出[root@localhost bin]# ./apachectl stop[root@localhost bin]# ./apachectl start     //重启服务


5、验证结果:版本号被隐藏

以上是"如何配置Apache实现防盗链、隐藏版本信息"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!

配置 版本 文件 网站 信息 防盗 图片 输入 规则 主机 地址 网页 服务 测试 内容 搜索 功能 浏览 服务器 注释 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 数据库查询的exists vba数据库方式连接工作簿 如何从0中恢复数据库 无法验证服务器安全证书 计算机软件开发都有哪些证件 数据库查询和连接的优先级 成都软件开发培训班价格 开展网络安全的全面评估报告 不能将当前数据库对象导出到 dayz刷不出服务器 系统数据库实例修改 网贷黑名单数据库 u8怎么删除数据库 redis集群云服务器配置 行业加强网络安全管理制度 确定数据库名字 一般网络安全培训学校 苏州软件开发多少钱 从软件开发到成熟应用需要多少钱 大龄嵌入式软件开发的前程 iptv服务器与电视怎么连接 电脑泰拉瑞亚开服务器的方法 无线网络技术导论第三版试卷 华夏恒生科技互联网etf手续费 网络技术是什么内容 深圳阿里做软件开发工资 中国服务器排行榜戴尔小企业 北京实用软件开发技术指导 上海黄金交易所软件开发中心 数据库远程连接数据库代理
0