您好,登錄后才能下訂單哦!
這篇文章主要為大家展示了“如何配置Apache實現防盜鏈、隱藏版本信息”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“如何配置Apache實現防盜鏈、隱藏版本信息”這篇文章吧。
1.防盜鏈就是防止別人的網站代碼里面盜用服務器的圖片、文件、視頻等相關資源
2.如果別人盜用網站的這些靜態資源,明顯的是會增大服務器的帶寬壓力
3.所以作為網站的維護人員,要杜絕我們服務器的靜態資源被其他網站盜用
兩臺主機配置與功能如下:
1.兩臺主機配置測試頁面
2.盜鏈網站的測試網頁page盜 用源主機目錄page/image的一個logo.jpg文件
3.在Windows中訪問 http://a.test2.com/page.html,并用Fiddler抓包工具的查看效果圖
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 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.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.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 "kgc.com" IN { type master; file "kgc.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 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.1 www 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.gz apr-util-1.6.0.tar.gz Discuz_X2.5_SC_UTF8.zip php-5.6.11.tar.bz2 awstats-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]# 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 #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]# 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><h2>It works!</h2> <img src="time.jpg"/> </body></html> //需要插入圖片,做以上更改,后按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 80 tcp 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.so Require all granted //在此行下插入以下規則 RewriteEngine On RewriteCond %{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改為Prod wq保存退出 [root@localhost bin]# ./apachectl stop [root@localhost bin]# ./apachectl start //重啟服務
5、驗證結果:版本號被隱藏
以上是“如何配置Apache實現防盜鏈、隱藏版本信息”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。