文章目录

  • 一、配置防盗链
    • 1、防盗链概述
    • 2、盗链模拟步骤
    • 3、检查Apache是否安装了mod_rewrite模块
    • 4、配置规则变量说明
    • 5、规则匹配说明
    • 6、配置操作演示
  • 二、防盗链实操
    • 1、环境配置
    • 2、源码编译下载apache
    • 3、设置dns
    • 4、在网页中添加一张图片
    • 5、验证
    • 6、盗链主机设置(另起一台centos)
    • 7、测试是否成功盗链
    • 8、正常主机开启防盗链功能
  • 二、隐藏版本信息
    • 1、配置Apache隐藏版本信息的必要性
    • 2、配置Apache隐藏版本信息详解
    • 3、隐藏版本信息实操
      • 没隐藏之前
      • (1)Apache主机设置
      • (3)验证隐藏

一、配置防盗链

1、防盗链概述

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

2、盗链模拟步骤

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

3、检查Apache是否安装了mod_rewrite模块

/usr/local/apache/bin/apachectl -t -D DUMP_MODULES
如果输出中没有rewrite_module(static),则说明编译时没有安装mod_resrite模块
若没有安装则需要重新编译安装
./configure --enable-rewrite…
make && make install

4、配置规则变量说明

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

5、规则匹配说明

规则匹配

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

RewriteEngine On:打开网页重写功能

RewriteCond:设置匹配规则

RewriteRule:设置跳转动作

6、配置操作演示

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

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

二、防盗链实操

1、环境配置

环境配置同之前的网页缓存
之前的win10作为盗链客户端
添加一台centos7虚拟机作为测试机

2、源码编译下载apache

#!/bin/bash
ip=www.baidu.com
ping -c 2 -w 3 -i 0.3 $ip &>/dev/null
if  [ $? -eq 0 ]then
echo " 可以ping的通百度"elseecho "正在更改你的网卡"
sed -i '/^IPADDR=/cIPADDR=192.168.110.132' /etc/sysconfig/network-scripts/ifcfg-ens33
sed -i '/^GATEWAY=/cGATEWAY=192.168.110.2' /etc/sysconfig/network-scripts/ifcfg-ens33
sed -i '/^DNS1=/cDNS1=8.8.8.8' /etc/sysconfig/network-scripts/ifcfg-ens33
echo "网卡配置文件已改完  正在重启网络服务"
systemctl restart network
fiping -c 2 $ip &>/dev/null
if [ $? -eq 0 ] ;thenecho "一切准备就绪"elseecho "请检查你绑定的网卡是不是vm8"
ficd ~
cd apache
tar zxvf apr-1.6.2.tar.gz
tar zxvf apr-util-1.6.0.tar.gz
tar jxvf httpd-2.4.29.tar.bz2
mv apr-1.6.2 httpd-2.4.29/srclib/apr
mv apr-util-1.6.0 httpd-2.4.29/srclib/apr-util
yum -y install gcc gCc-C++ make pcre-devel expat-devel perl zlib-develif [ $? -eq 0 ];thenecho "正在下载软件包环境"fi
cd httpd-2.4.29
./configure \
--prefix=/usr/local/httpd \
--enable-so \
--enable-rewrite \
--enable-charset-lite \
--enable-cgi \
--enable-deflate
if [ $? -eq 0 ];thenecho "./configure 执行成功"elseecho "凉了"
fi
make
make install
cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd
sed -i '2a#chkconfig: 35 85 21' /etc/init.d/httpd
chkconfig --add httpd
sed -i '/#ServerName www.example.com:80/cServerName www.shang.com:80' /usr/local/httpd/conf/httpd.conf
sed -i '52s/^/#/' /usr/local/httpd/conf/httpd.conf
sed -i '/#Listen 12.34.56.78:80/cListen 192.168.110.132:80' /usr/local/httpd/conf/httpd.conf
ln -s /usr/local/httpd/conf/httpd.conf /etc/httpd.conf
ln -S /usr/local/httpd/bin/* /usr/local/bin/
systemctl stop firewalld.service
setenforce 0
service httpd start
if [ $? -eq 0 ] ;thenecho "成功启动apache"elseecho "完犊子了"fi

3、设置dns

[root@localhost bin]# yum install bind -y
[root@localhost bin]# vim /etc/named.conf
options {listen-on port 53 { any;}; '//修改为any'
...省略内容allow-query     { any; };    '//修改为any'
[root@localhost bin]# vim /etc/named.rfc1912.zones
'//添加以下内容到正向解析中'zone "shang.com" IN {type master;file "shang.com.zone";allow-update { none; };
};
[root@localhost etc]# cp -p /var/named/named.localhost /var/named/shang.com.zone
[root@localhost etc]# vim /var/named/shang.com.zone'//尾行修改为下面内容'
www IN  A       192.168.110.132
[root@localhost etc]# systemctl start named

4、在网页中添加一张图片

[root@promote htdocs]# vim /usr/local/httpd/htdocs/index.html
<html><body><h1>It works!</h1>
<img src="av.jpg"/>
</body></html>
[root@promote htdocs]# service httpd restart
[root@localhost bin]# netstat -ntap |grep 80
tcp        0      0 192.168.197.143:80      0

5、验证

在win10上进行验证

6、盗链主机设置(另起一台centos)

[root@localhost ~]# yum install httpd -y
[root@localhost ~]# echo "nameserver 192.168.110.132" > /etc/resolv.conf
[root@localhost ~]# nslookup www.shang.com
Server:        192.168.110.133
Address:        192.168.110.133#53Name:   www.shang.com
Address: 192.168.110.133
[root@localhost ~]# ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500inet 192.168.110.133
[root@localhost ~]# vim /var/www/html/index.html
<html><body><h1>this is daolian web!</h1>
<img src="http://www.shang.com/av.jpg"/>
</body></html>
[root@localhost ~]# systemctl start httpd
[root@localhost ~]# systemctl stop firewalld.service
[root@localhost ~]# setenforce 0

7、测试是否成功盗链

8、正常主机开启防盗链功能

[root@promote htdocs]# vim /usr/local/httpd/conf/httpd.conf
LoadModule rewrite_module modules/mod_rewrite.so
'//将以下文字添加到<Directory "/usr/local/httpd/htdocs"> </Directory>中'
<Directory "/usr/local/httpd/htdocs">
以下是要添加的内容RewriteEngine OnRewriteCond %{HTTP_REFERER} !^http://shang.com/.*$ [NC]RewriteCond %{HTTP_REFERER} !^http://shang.com$ [NC]RewriteCond %{HTTP_REFERER} !^http://www.shang.com/.*$ [NC]RewriteCond %{HTTP_REFERER} !^http://www.shang.com$ [NC]RewriteRule .*\.(gif|jpg|swf)$ http://www.shang.com/error.png
</Directory>[root@localhost htdocs]# ls
aaa.jpg  error.png  index.html
[root@localhost htdocs]# service httpd restart

win10 验证

二、隐藏版本信息

1、配置Apache隐藏版本信息的必要性

Apache的版本信息,透露了一定的漏洞信息,从而给网站带来安全隐患
生产环境中要配置Apache隐藏版本信息
可使用Fiddler抓包工具分析

2、配置Apache隐藏版本信息详解

将主配置文件httpd.conf以下行注释去掉
#Include conf/extra/httpd-default.conf
修改httpd-default.conf文件两个地方
ServerTokens Full修改为ServerTokens Prod
将ServersSignature On 修改为ServersSignature Off
重启httpd服务,访问网站,抓包测试

3、隐藏版本信息实操

没隐藏之前

(1)Apache主机设置

[root@promote htdocs]# vim /usr/local/httpd/conf/httpd.conf
Include conf/extra/httpd-default.conf '将此开启'
[root@localhost extra]# vim httpd-default.conf '//将以下内容修改'
Include conf/extra/httpd-default.conf   '//开启,取消注释'ServerTokens Prod   '//将原本的Full修改为ProdServerSignature Off      '//保持是Off'
[root@promote htdocs]# service httpd restart

(3)验证隐藏

手把手教你,嘴对嘴传达------Apache(安全优化防盗链、隐藏版本信息)相关推荐

  1. 在Apache上配置防盗链功能和隐藏版本号

    文章目录 在Apache上配置防盗链功能 安装DNS服务 配置http服务软件目录 开启服务 开启服务 源站进行防盗链操作 隐藏版本信息步骤 使用抓包工具查看版本信息 隐藏设置 在Apache上配置防 ...

  2. linux隐藏apache信息,Apache防盗链和隐藏版本信息-linux-centos运维

    有需要服务器方面的需求和咨询,可以联系博主 QQ 7271895 一.防盗链 二.隐藏版本信息 实验要求: 三台虚拟机分别是:linux和两台windows虚拟机,linux虚拟机为服务器,Windo ...

  3. Apache实现盗链与防盗链与隐藏版本信息

    文章目录 一:盗链实操步骤 1.2:win 10 测试dns解析 1.3:首先需要手工编译安装Apache 1.4:make编译安装make install 1.5:编辑配置文件 1.6:客户机测试正 ...

  4. 手把手教你,嘴对嘴传达------Apache网页优化

    文章目录 Apache网页优化 一.Apache网页压缩 1.网页优化概述 2. 网页gzip概述 3.Apache的压缩模块 4.配置网页压缩功能 5.Apache网页压缩实操 (1) 手动编译安装 ...

  5. apache 下实现防盗链

    什么是盗链  盗链是指在自己的页面上展示一些并不在自己服务器上的内容.通常的做法是通过技术手段获得它人服务器上的资源地址,  绕过别人的资源展示页面,直接在自己的页面上向最终用户提供此内容.  比较常 ...

  6. Apache(httpd)配置--防盗链配置和访问控制

    一.配置防盗链 通过防盗链的方式,可以设置限制第三方的站点通过引用的方式获取服务器上的图片,数据等,如果想要获取本站点的图片数据,只能通过本站点访问获取,这样也有效的减少了服务器的资源. 什么是ref ...

  7. Apache和Nginx防盗链

    要实现防盗链,我们就必须先理解盗链的实现原理,提到防盗链的实现原理就不得不从HTTP协议说起,在HTTP协议中,有一个表头字段叫referer,采用URL的格式来表示从哪儿链接到当前的网页或文件.换句 ...

  8. apache隐藏版本信息及设置网页缓存

    安装apache屏蔽apache版本等敏感信息 查看apache版本信息: [root@localhost ~]# curl -I www.baidu.com X-Powered-By: HPHP S ...

  9. apache调优隐藏版本信息及404重定向

    生产环境中,部署了apache之后,我们应该从安全还是性能角度,在apache服务上线之前,对其做诸多的优化调试才行.   Apache 实验环境: apache版本:httpd-2.2.31 源码包 ...

最新文章

  1. 98年“后浪”科学家,首次挑战图片翻转不变性假设,一作拿下CVPR最佳论文提名​...
  2. 使用AngularJS上传文件
  3. 数组作为方法参数_传递地址
  4. Android一个自定义的进度环:ProgressChart
  5. linux 日志面试题,Linux运维 | 面试题
  6. winform中通过FileStream实现将文件上传
  7. [转]phpmyadmin安装使用
  8. 简单实现ToolStripMenuItem(菜单栏)的单选效果
  9. 微控制器实验计算机组成原理,计算机组成原理(西安理工大学)实验二cpth模型机综合实验——微控制器实验.doc...
  10. vsCode编写Latex文本( texlive +vsCode )
  11. 在微型计算机所说的80586,2017年职称计算机考试题库及答案
  12. win7删除桌面计算机图标怎么删除,Windows7电脑桌面ie图标怎么删除不了?
  13. 缓冲区溢出实例(一)--Windows
  14. 求字符串中的回文数或者是回文单词
  15. 一个简单好用的磨皮祛斑算法理论和python实现
  16. [Openwrt 项目开发笔记]:Openwrt平台搭建(一)
  17. VUE 前端SSO单点登录
  18. Windows Server 2016搭建AD子域
  19. java基础之经典算法总结篇
  20. C++——书写HelloWord

热门文章

  1. SLC、MLC、TLC与QLC的区别
  2. python制作飞船大战
  3. 细数CSS伪元素及其用法
  4. 拯救者r720黑苹果_拯救级手游语音,大象声科助力联想拯救者电竞手机
  5. 新编大学英语5翻译整理
  6. xml数据处理--sax模块使用
  7. clamav Java_ClamAV安装使用详解
  8. 金山毒霸机智卸载法!!!
  9. 优麒麟(18.10)安装五笔拼音输入法
  10. 【数字图像处理】-- 弄懂等距变换(刚性变换)、相似变换、仿射变换、透视变换(投影变换)