優化Apache安全方面(二)——防盜鏈、隱藏版本信息

優化Apache服務——防盜鏈

假如某天你負責的網站服務器突然流量暴增,先不要感到驚喜。有很大可能是有其他網站將本站的靜態資源進行了盜鏈,使很多的訪問壓力都轉接到自己服務器上,點擊量還不是自己的。

作爲作爲網站的維護人員,要杜絕我們服務器的靜態資源被其他網站盜用。

模擬環境

IP地址 域名 實驗用途
192.168.116.148 www.zhy.com DNS服務器、源網站
192.168.116.128 無域名 盜鏈網站

實驗步驟

1、安裝DNS

[root@localhost ~]# yum install bind -y
[root@localhost ~]# vim /etc/named.conf
options {
        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.zones
zone "zhy.com" IN {
        type master;
        file "zhy.com.zone";
        allow-update { none; };
};
#在同格式下添加以上內容後按Esc,輸入:wq保存退出

[root@localhost ~]# cd /var/named/
[root@localhost named]# ls
data  dynamic  named.ca  named.empty  named.localhost  named.loopback  slaves 
[root@localhost named]# cp -p named.localhost zhy.com.zone
[root@localhost named]# vim zhy.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.116.148
#做以上格式的改動,注意最後的IP地址是填自己linux主機的IP地址,修改後按Esc,輸入:wq保存退出

[root@localhost named]# systemctl start named
[root@localhost named]# systemctl stop firewalld.service 
[root@localhost named]# setenforce 0

2、手工編譯安裝Apache,建立源網站

[root@localhost named]# mount.cifs //192.168.10.181/rpm /mnt		
//在宿主機中把有壓縮文件的文件夾共享出來
Password for root@//192.168.10.181/rpm: 		//此處直接回車 
[root@localhost named]# cd /mnt
[root@localhost mnt]# ls 
anaconda-ks.cfg          error.png             LAMP-php5.6.txt      
apr-1.6.2.tar.gz         httpd-2.4.29.tar.bz2  mysql-5.6.26.tar.gz  
apr-util-1.6.0.tar.gz    initial-setup-ks.cfg  php-5.6.11.tar.bz2   
Discuz_X2.5_SC_UTF8.zip  LAMP-C7.rar           yuan.jpg             
[root@localhost mnt]# tar xjf httpd-2.4.29.tar.bz2 -C /opt/
[root@localhost mnt]# tar xzf apr-1.6.2.tar.gz -C /opt/
[root@localhost mnt]# tar xzf apr-util-1.6.0.tar.gz -C /opt/
[root@localhost LAMP]# cd /opt/
[root@localhost opt]# ls
apr-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
[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   //安裝環境包
[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 && make install
[root@localhost httpd-2.4.29]# vim /usr/local/httpd/conf/httpd.conf 
/ServerName,搜索到網址處,把#註釋去掉,內容改爲如下內容
ServerName www.zhy.com:80
/Listen,搜索到監聽端口,把IPv6註釋加上,把IPv4監聽IP地址改爲自己linux的地址
Listen 192.168.116.148: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]# ls
ab            apu-1-config  dbmmanage    fcgistarter   htdigest  httxt2dbm
apachectl     apxs          envvars      htcacheclean  htpasswd  logresolve
apr-1-config  checkgid      envvars-std  htdbm         httpd     rotatelogs
[root@localhost bin]# vim /usr/local/httpd/htdocs/index.html  
<html><body><h1>It works!</h1>
<img src="yuan.jpg"/>
</body></html>
//需要插入圖片,做以上更改,後按Esc,輸入:wq保存退出
[root@localhost bin]# cp /mnt/yuan.jpg /usr/local/httpd/htdocs/
//複製圖片到此目錄下 
[root@localhost bin]# ./apachectl start
[root@localhost bin]# netstat -atnp | grep "80"
tcp     0    0 192.168.116.148:80     0.0.0.0:*             LISTEN      40569/httpd

驗證:

打開一臺Windows虛擬機,將其作爲測試端,更改其DNS解析地址。

進入瀏覽器,輸入域名:www.zhy.com

在這裏插入圖片描述

通過右鍵點擊該圖,選擇屬性,就可以看見這張圖的URL:http://www.zhy.com/yuan.jpg
在這裏插入圖片描述

建立盜鏈網站

此時我們打開另一臺Windows虛擬機,將其作爲盜鏈網站服務器。

控制面板—程序—程序和功能—打開和關閉windows功能—選擇Internet信息服務

在這裏插入圖片描述

安裝完成後,在C:\inetpub\wwwroot中,新建網頁文件“index.html”

<html>
  <head></head>
  <body>
    <h1>test web</h1>
    <img src="http://www.zhy.com/yuan.jpg"/>
  </body>
</html>

此時,在瀏覽器中輸入盜鏈網站IP地址:192.168.116.128,即會出現跟源網站一樣的圖片,視爲盜鏈成功。

建立防盜鏈措施

[root@localhost bin]# vim ../conf/httpd.conf 
/rewrite,將此行註釋去掉
LoadModule rewrite_module modules/mod_rewrite.so

Require all granted
//在此行下插入以下規則  
RewriteEngine On
RewriteCond %{HTTP_REFERER} !^http://zhy.com/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://zhy.com$ [NC]
RewriteCond %{HTTP_REFERER} !^http://www.zhy.com/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://www.zhy.com/$ [NC]
RewriteRule .*\.(gif|jpg|swf)$ http://www.zhy.com/error.png  
#修改後按Esc,輸入:wq保存退出

拷貝錯誤圖片

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

驗證防盜鏈

在測試Windows機上,輸入192.168.116.128,因爲我們已做過防盜鏈措施,現在訪問盜鏈網站將會出現報錯的圖片。

在這裏插入圖片描述

優化Apache安全服務——隱藏版本號

基於上一個防盜鏈的配置不變,開始隱藏版本號的優化操作。

實驗步驟

1、實驗前的驗證

進入Windows客戶端,使用“fiddler”抓包工具,查看網站頭部。

在這裏插入圖片描述

此時,抓包會顯示版本後綴,有心之人會針對該版本的漏洞對服務器進行攻擊,這是非常不安全,因此需要對版本號進行隱藏。

2、開始進行優化

[root@localhost ~]# vim /usr/local/httpd/conf/httpd.conf
/default  搜索default,進行如下修改
Include conf/extra/httpd-default.conf  //將開頭的#刪除
wq保存退出

開啓後將會在/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改爲Prod
wq保存退出
[root@localhost bin]# ./apachectl stop
[root@localhost bin]# ./apachectl start     //重啓服務

在這裏插入圖片描述
3、結果驗證
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章