1. 程式人生 > >淺談個人部落格網站or屌絲vps伺服器暴露真實IP的危險性

淺談個人部落格網站or屌絲vps伺服器暴露真實IP的危險性

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow

也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!

               

經常關注張戈部落格的朋友應該注意到,張戈在以往的文章中多次提到要隱藏我們網站伺服器的真實IP,比如最近分享的《阿里雲盾網站安全防禦(WAF)的正確使用方法》,肯定有不少人心懷疑問,這是為什麼呢?

attack

一、為啥隱藏真實IP?

今天,丟擲這樣一個話題,也是為了提醒那些還懵懵懂懂,毫無設防的屌絲站長們!我們是小網站,我們用的也是屌絲伺服器,不像騰訊、網易那些大站用的是價格昂貴、效能卓越的高效能、高可用叢集。我們這種屌絲伺服器一旦被人惡意攻擊基本玩完!

也許,大部分人和我有一樣的想法:這有啥,開啟高防CDN啊!比如百度雲加速360網站衛士以及安全寶等。確實,使用國內免費的高防CDN是我們這種屌絲伺服器的最佳選擇。

當我們使用了高仿CDN之後,使用者訪問路徑如下:

使用者請求-->高仿CDN節點-->源伺服器

攻擊請求就落到分散式大頻寬的CDN節點,如果合理設定好快取專案,我們的伺服器幾乎不會受到影響。

看到這,你是否對今天這個話題嗤之以鼻?心裡想著暴露真實IP有什麼問題?我開啟百度雲加速不久好了嘛!

不錯,這應該就是大部分人的想法了,當然肯定還有大部分人對暴露真實IP無動於衷,不知道有什麼危害。

好吧,再往下看你是否依然淡定。

一旦真實IP暴露,攻擊者只要在攻擊時用類似於hosts手段指定IP去攻擊,那就神馬CDN都是浮雲了!因為攻擊請求已繞過了CDN節點,直搗黃龍!

當攻擊者通過hosts強行指定源伺服器IP來進行攻擊時,請求途徑如下:

攻擊請求-->hosts解析-->源伺服器

直接繞過高防CDN節點,落到了源伺服器!小頻寬,低配置的屌絲伺服器,對於大批量的不同IP請求,幾乎毫無防禦能力!每個IP都是正常的請求,根本無法辨別黑白,那麼同時l來1000個,看你死不死?

因此,保護好真實IP不暴露到公網,對於小伺服器來說是重中之重!雖然你是新站,暫時沒被人盯上,一旦有一點起色就很可能招來各種蒼蠅的攻擊騷擾。這些蒼蠅不一定是因為你的網站擋了他的財路,很可能就因為在你網站留言一些推廣被拉黑,也有可能是因為和你換友鏈被拒絕等等,都可能帶來嫉恨似的攻擊騷擾!直接原因無它,只因CC攻擊成本太低而已!

二、如何隱藏真實IP?

上面也已經說了,目前隱藏真實IP的做法主要是利用國內外一些免費的CDN加速服務。比如國內的百度雲加速、加速樂、360網站衛士以及安全寶,國外的CloudFlare。不管有沒有備案,都能選擇一款適合你的免費產品。

baiduyjs

當然,如果你不需要加速功能,也可以考慮入住阿里雲或騰訊雲,然後使用免費的WAF防禦服務,也能使用cname解析,起到改變網站IP的效果。

實際上,如此設定之後,在隱藏真實IP的同時,也杜絕了網路上那些到處掃描埠、掃描漏洞的行為。

三、個人經驗分享

那用這些高仿CDN隱藏真實IP之後,是否百分百可靠呢?且繼續看。

不久前,張戈部落格被一大波蒼蠅攻擊,1核CPU配置下的 load average 直接達到10+!我挺奇怪的,因為張戈部落格早已實現了純靜態化,被攻擊不應該產生這麼高的CPU負載才對,因為都是 html 頁面。

網站已經龜速,容不得我細究。我立刻將網站遷移到百度雲加速,設定為完全快取,結果發現網站開啟速度變快了,但是CPU負載還是沒有明顯的改善,這是為什麼?

當我檢視 nginx 的 access.log 才恍然大悟,原來是 postviews 外掛的 ajax 統計!就算你是純靜態html,被開啟的時候,還是會產生一個 ajax 動態請求來記錄瀏覽數,從而導致了cpu的狂飆,被請求的路徑是:

http://zhangge.net/wp-admin/admin-ajax.php

我最開始想到的解決方法是,直接將 admin-ajax.php 重新命名,讓請求變成404狀態,CPU瞬間恢復正常!

重新命名之後,在WP後臺操作的時候發現一個問題,後臺很多操作都不能生效了,比如我點選批准了一個評論,重新整理後評論又變成待稽核了。看來後臺的很多操作也是ajax請求了這個檔案!

既然不能重新命名了,那隻好想其他辦法了!在頁面裡面看到這個 postviews 的 ajax 請求程式碼如下:

1 2 3 <script type = "text/javascript" > /* <![CDATA[ */ jQuery . ajax ( { type : 'GET' , url : 'http://zhangge.net/wp-admin/admin-ajax.php' , data : 'postviews_id=5097&action=postviews' , cache : false } ) ; /* ]]> */ </script>

因此,我想到的臨時解決辦法是修改 admin-ajax.php 這個檔案,在<?php 後面加入如下內容:

1 2 3 4 #當請求引數action=postviews時自動退出 if ( $_GET [ 'action' ] == 'postviews' ) {    exit ( ) ; }

儲存後,CPU 壓力立馬消失無影無蹤!因為我讓瀏覽統計臨時失效了。瀏覽統計這種不痛不癢的功能,影響不大。等攻擊消停之後再改回來就是。

從這個案例,我們可以看出,百度雲加速等高仿CDN並不是百分百有效的。當攻擊者用數以萬計的不同IP來請求的時候,只要你頁面中存在一個動態請求,負載就上去了!

最後分享一個小經驗,我2個網站的360網站衛士和百度雲加速解析記錄與各種設定都是以前就設定好了的,一旦被攻擊,我只要立刻將NS記錄指向雲加速或360的NS伺服器即可,方便又快捷!這就叫運籌帷幄,未雨綢繆,不管有沒有攻擊都要留好緊急恢復後路,避免不必要的損失。

好了,磨嘰叭嗦的就說到這裡,希望我這篇文章能起到正能量的作用,而不是給那些蒼蠅們提供了一個無視高防CDN的攻擊途徑!當然,張戈在這裡也奉勸那些整天沒事喜歡CC攻擊小網站的朋友,這點攻擊手段真的很菜鳥,很逗逼,很沒技術含量,你真要有本事,敢不敢去做一個白帽子造福網際網路?


參考資料:

jquery ajax 設定json型別的返回串問題  http://www.itmmd.com/201504/694.html

java jsp實現萬年曆 + 日程管理,已經設計好u  http://www.itmmd.com/201504/693.html

jquery 動態新增和刪除 ul li列表  http://www.itmmd.com/201504/692.html

更多資訊請訪問:萌萌的it人

           

給我老師的人工智慧教程打call!http://blog.csdn.net/jiangjunshow

這裡寫圖片描述