Apache为什么实现盗链与防盗链与隐藏版本信息(对于企业网站非常有用的呦!)

防盗链是为了防止别人的网站代码里面盗用我们自己服务器上的图片、文件、视频等相关资源。
隐藏版本信息是为了防止攻击者扫描软件的版本信息然后进行针对性的攻击。

一:Apache防盗链服务

1:什么是防盗链

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

2:环境介绍

IP地址 域名 用途
192.168.158.30 www. 服务器
192.168.158.10 www 盗链网站
客户端 Windows 10 客户机

3:模仿盗链过程

  • 两台主机配置测试页面
  • 盗链网站的测试页面,盗用源主机网站目录下的一个logo.jpg文件
  • 在Windows中访问验证
[root@server1 html]# cat index.html 
<html><body><h1>apache</h1><img src="http://192.168.158.30/20201013120035500.png"/></body></html>

在这里插入图片描述

在这里插入图片描述
图片不在本地

5:主机开启防盗链功能

[root@server3 htdocs]# vi /etc/httpd.conf 
LoadModule rewrite_module modules/mod_rewrite.so   #去注释

6:修改配置文件


#再合适位置添加以下内容
RewriteEngine On
    RewriteCond %{
    
    HTTP_REFERER} !^http://192.168.158.30$ [NC]
    RewriteCond %{
    
    HTTP_REFERER} !^http://192.168.158.30/* [NC]
    RewriteCond %{HTTP_REFERER} !^http://192.168.158.30/.*$ [NC]
    RewriteRule .*\.(gif|png|swf)$ http://192.168.158.30/error.jpg [R,NC]    #重写为网址的error图片

只有访问IP为192.168.158.30才能获得资源

7:验证配置文件重启服务

[root@server3 htdocs]# httpd -t
AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using fe80::9a22:5aea:2642:6dff. Set the 'ServerName' directive globally to suppress this message
Syntax OK
[root@server3 htdocs]# apachectl -t
AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using fe80::9a22:5aea:2642:6dff. Set the 'ServerName' directive globally to suppress this message
Syntax OK
[root@server3 htdocs]# netstat -anpt | grep httpd
tcp6       0      0 :::80                   :::*                    LISTEN      110626/httpd   
  • 测试效果

使用Windows主机测试
在这里插入图片描述
在这里插入图片描述
以上通过其他网站获取不到我服务器的资源

二:隐藏版本信息

1:隐藏Apache版本信息作用

攻击者往往是先通过扫描软件的版本信息然后进行针对性的攻击,通常每个版本都不是完美的,所以如果知道版本,就可以进行针对性的攻击,在apache安装完成应该第一时间隐藏它的版本信息

2:配置Apache隐藏版本信息

Apache的版本信息,透露了-定的漏洞信息,从而给
网站带来安全隐患生产环境中要配置Apache隐藏版本信息

3:修改版本信息

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

[root@server3 conf]# pwd
/usr/local/httpd/conf
[root@server3 conf]# vi /etc/httpd.conf 
Include conf/extra/httpd-default.conf            ##去注释 
[root@server3 conf]# vi extra/httpd-default.conf 
ServerTokens Prod
Serversignature Off
选项 输出格式
ServerTokens Prod ServerTokens Major
ServerTokens Minor Server:Apache/2.0
ServerTokens Min Server:Apache/2.0.41
ServerTokens OS Server: Apache/2.0.41 (Unix)
ServerTokens Full Server: Apache/2.0.41 (Unix) PHP/4.2.2 MyMod/1.2

4:访问验证

在这里插入图片描述

三:本次实验所用图片

在这里插入图片描述

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qyf158236/article/details/109064024