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

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服务,并配置配置文件

[[email protected] ~]# yum install bind -y   ##安装bind服务器
[[email protected] ~]# 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; };       ##允许所有
[[email protected] ~]# vim /etc/named.rfc1912.zones    ##配置区域配置文件
zone "kgc.com" IN {
                type master;
                file "kgc.com.zone";
                allow-update { none; };
};

[[email protected] ~]# cd /var/named
[[email protected] named]# cp -p named.localhost kgc.com.zone    ##复制模板为kgc.com.zone
[[email protected] 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       ##解析地址为本机地址
[[email protected] named]# systemctl start named   ##启动DNS解析服务
[[email protected] named]# systemctl stop firewalld.service ##关闭防火墙
[[email protected] named]# setenforce 0

2,远程共享挂载到Linux上

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

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

[email protected] ~]# smbclient -L //192.168.100.3/
                                Sharename       Type      Comment
                                ---------       ----      -------
                                LAMP-C7         Disk      

[[email protected] ~]# mount.cifs //192.168.100.3/LAMP-C7 /mnt
##远程挂载软件包到/mnt目录

3,手工编译安装Apache

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

[[email protected] mnt]# cd /mnt   ##切换到/mnt目录下
[[email protected] mnt]# tar zxvf apr-1.6.2.tar.gz -C /opt/    ##解压源码包到/opt下
...
[[email protected] mnt]# tar zxvf apr-util-1.6.0.tar.gz -C /opt/
....
[[email protected] mnt]# tar jxvf httpd-2.4.29.tar.bz2 -C /opt/
...
[[email protected] mnt]# cd /opt                        //进入/opt目录
[[email protected] opt]# ls                             //查看解压的文件
apr-1.6.2  apr-util-1.6.0  httpd-2.4.29  rh

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

[[email protected] opt]# mv apr-1.6.2/ httpd-2.4.29/srclib/apr
[[email protected] opt]#  mv apr-util-1.6.0/ httpd-2.4.29/srclib/apr-util
[[email protected] opt]# yum -y install gcc \                                       //c语言
gcc-c++ \                        //c++语言
make \                              //编译工具
pcre-devel \                     //pcre语言工具
expat-devel \                   //识别标签性语言工具
perl pcre zlib-devel                       //数据压缩用的函式库

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

[[email protected] opt]# cd /opt/httpd-2.4.29/
[[email protected] httpd-2.4.29]#./configure \                      //配置
--prefix=/usr/local/httpd \
--enable-deflate \  //配置压缩模块
--enable-so \      //apache核心模块开启
--enable-rewrite \    //开启重写功能,防盗链
--enable-charset-lite \  //支持字符集,简体中文
--enable-cgi   //通用网关接口
... 

4)编译和安装

[[email protected] httpd-2.4.29]# make              //生成可执行的二进制文件
...
[[email protected] httpd-2.4.29]# make install  //复制二进制文件到系统,配置应用环境
...

5)配置http主配置文件

[[email protected] httpd-2.4.29]#  cd /usr/local/httpd/
[[email protected] httpd]# ls
bin    cgi-bin  error   icons    lib   man     modules
build  conf     htdocs  include  logs  manual
[[email protected] httpd]# cd conf/             ##切换到http主配置文件中
[[email protected] conf]# vim /etc/httpd.conf  ##配置主配置文件

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

ServerName www.kgc.com:80  ##设置域名
[[email protected] conf]# ln -s /usr/local/httpd/conf/httpd.conf /etc/httpd.conf   ##方便管理创建软连接

4,编辑网页

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

[[email protected] conf]# cd /mnt   ##切换到挂载点
[[email protected] mnt]# cp kali.jpg /usr/local/httpd/htdocs/    ##将图片复制到站点中
[[email protected] mnt]# cd /usr/local/httpd/htdocs/
[[email protected] htdocs]# ls     ##查看图片复制成功
index.html  kali.jpg

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

[[email protected] ~]# cd /usr/local/httpd/
[[email protected] httpd]# cd htdocs/      ##切换到站点
[[email protected] htdocs]# ls
index.html  kali.jpg
[[email protected] htdocs]# vim index.html     ##编辑网页内容,将图片加入到网页中

<html><body><h1>It works!</h1>
<img src="kali.jpg"/>         ##将图片放到网页中
</body></html>
[[email protected] htdocs]# cd /usr/local/httpd/bin/
[[email protected] bin]# ./apachectl start    ##开启

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


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

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

2)访问网站

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

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

1)在win7上搭建网站服务

2)打开web管理器

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

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

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

9,开启防盗链配置模块

[[email protected] 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   ##防盗链图片

[[email protected] bin]# cp /mnt/error.png /usr/local/httpd/htdocs/   ##将error图片放到站点中
[[email protected] bin]# ./apachectl stop   ##关闭
[[email protected] bin]# ./apachectl start   ##开启

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

配置Apache隐藏版本信息

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

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

2,配置http主配置文件

[[email protected] bin]# vim /etc/http.conf   ##配置主配置文件
Include conf/extra/httpd-default.conf    ##开启子配置文件
[[email protected] bin]# cd ../
[[email protected] httpd]# cd conf/
[[email protected] conf]# ls
extra  httpd.conf  magic  mime.types  original
[[email protected] conf]# cd extra/     ##切换到extra目录下
[[email protected] extra]# vim httpd-default.conf   ##配置子配置文件
ServerTokens Prod   ##将full全部修改为prod

ServerSignature Off    ##签名关闭

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

[[email protected] conf]# cd ../
[[email protected] httpd]# cd bin/
[[email protected] bin]# ./apachectl stop    ##关闭
[[email protected] bin]# ./apachectl start    ##开启

谢谢阅读!!!

原文地址:https://blog.51cto.com/14080162/2446100

时间: 2024-08-13 08:23:17

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

Apache网页优化与安全优化(网页压缩;网页缓存;网页防盗链;隐藏版本信息)

1,网页压缩 网站的访问速度是由多个因素所共同决定的包括: 1)应用程序的响应速度 2)网络带宽 3)服务器性能 4)与客户端之间的网络传输速度等等 其中最重要的就是Apache本身的响应速度,因此提升网站性能第一个需要着手进行处理的便是尽可能地提升Apache的执行速度,使用网页压缩可以提升应用程序的速度,而且不需要任何成本. Apache的压缩模块 Apache2.x内建了mod_deflate这个模块,使用gzip压缩算法.mod_deflate可使用DeflateCompressionL

Apache安全优化:设置防盗链,隐藏版本信息 (内含Apache源码包和抓包工具)

防盗链:一些不良网站有时为了不增加成本又想扩充自己站点的内容,经常盗用其他网站的链接,一方面损害了原网站的合法利益,另一方面又加重了服务器的负担 隐藏版本信息:一般情况下,软件的漏洞信息和特定版本是相关的如果×××或别有用心之人得到了Apache的版本信息,就会使服务器遭受被×××的风险,为了防止这些事的发生,我们可以隐藏版本号,减少危险的发生 实验环境:一台linux作为web服务器,IP为192.168.100.222 一台win7作为盗链网站,IP为192.168.100.3 一台win7

apache 防盗链和隐藏版本

实验环境:一台linux主机作为服务器,二台win10作为测试机 实验步骤 挂载源代码包,解压,配置,编译,安装(流程可参考之前博客,注意一定要配置rewrite模块,这是防盗链的) 下面进行编码,安装,make,make install 因为涉及到域名解析,所以要安装dns服务 二个服务安装完成,分别配置dns dnsf服务配置完成,启动,关闭防火墙,增强型安全功能 apache 进入配置文件更改 在网站站点首页添加一个图片 配置完成,启动服务 二台客户机写明dns解析地址,尝试访问 另一台客

Apache防盗链和隐藏版本信息

实验要求:三台虚拟机分别是:linux和两台windows虚拟机,linux虚拟机为服务器,Windows7-1为客户端,Windows7-2为盗链端.实验步骤:(一)防盗链1.把httpd.apr.apr-util安装包解压缩到/opt目录中tar zxvf apr-1.4.6.tar.gz -C /opt/tar zxvf apr-util-1.4.1.tar.gz -C /opt/tar zxvf httpd-2.4.2.tar.gz -C /opt/2.切换到opt目录中,把解压的文件夹

Apache网页与安全优化——网页压缩及缓存(理论实践相结合!)

Apache网页优化概述 > 在企业中,部署Apache后只采用默认的配置参数,会引发网站很多问题,换言之默认配置是针对以前较低的服务器配置的,以前的配置已经不适用当今互联网时代 > 为了适应企业需求,就需要考虑如何提升Apache的性能与稳定性,这就是Apache优化内容 优化内容 配置网页压缩功能 工作模式的选择与参数优化 配置防盗链 配置隐藏版本号 gzip介绍 配置Apache的网页压缩功能,是使用gzip压缩算法来对网页进行压缩后再传输到客户端浏览器 作用 降低了网络传输的字节数,加

详述Linux系统中Apache网页与安全优化(一)

Apache网页优化 Apache网页优化概述 在企业中,部署Apache后只采用默认的配置参数,会引发网站很多问题,换言之默认配置是针对以前较低的服务器配置的,以前的配置已经不适用当今互联网时代 为了适应企业需求,就需要考虑如何提升Apache的性能与稳定性,这就是Apache优化的内容 优化内容 配置网页压缩功能 工作模式的选择与参数优化 配置防盗链 配置隐藏版本号 ....... 网页压缩 gzip介绍 配置Apache的网页压缩功能,是使用gzip压缩算法来对网页内容进行压缩后再传输到客

Apache网页优化之防盗链和隐藏版本号

Apache网页优化之防盗链 防盗链的作用 防盗链就是防止别人的网址代码里面盗用服务器的图片,文件,视频等相关资源如果别人盗用网站的这些静态资源,明显的是会增大服务器的带宽压力所以作为网站的维护人员,要杜绝我们服务器的静态资源被其他网站盗用 防盗链的配置规则 %{}HTTP_REFERER}: 浏览header中的链接字段,存放一个链接的URL,代表是从哪个链接访问所需的网页 !^: 不以后面的字符串开头 .*$: 以任意字符结尾 NC: 不区分大写 R:强制跳转 防盗链规则匹配说明 Rewri

详述Linux系统中Apache网页与安全优化(二)

网页缓存 配置网页的缓存时间 通过mod_ expire模块配置Apache,使网页能在客户端浏览器缓存一段时间,以避免重复请求 启用mod_ expire模块后,会自动生成页面头部信息中的Expires标签和Cache-Control标签,从而降低客户端的访问频率和次数,达到减少不必要的流量和增加访问速度的目的 启用网页缓存功能步骤 查看是否安装mod_ expire模块 修改配置文件启用缓存功能 抓包测试 查看是否安装了mod_ expire模块 /usr/local/apache/bin/

Apache 网页与安全优化

网页压缩:可以提升应用程序的速度且不需要任何成本.网页缓存:将一部分经常不会改变或变动很少的页面缓存,下次浏览器再次访问这些页面时,不需要再次去下载这些页面,从而提高了用户的访问速度.实验要求:需要两台虚拟机,一台linux虚拟机.一台windows虚拟机.linux虚拟机安装Apache,windows虚拟机安装抓包工具用来验证.实验步骤:(一)网页压缩 1.把httpd.apr.apr-util安装包解压缩到/opt目录中tar zxvf apr-1.4.6.tar.gz -C /opt/t