欲犯我者,我必誅之


     看標題就有點霸氣側漏的感覺,哈哈!

    開篇之前我先講一件發生在我們身邊的事情,記得不久之前國內大名鼎鼎的CSDN賬號泄露一案嗎?這一泄露大概有600萬會員的個人資料以及密碼被人拿走了(詳情可見http://tech.qq.com/a/20111221/000485.htm),這批資料對於那些別有用心的人來說實在太寶貴了,據統計80%的人在各個網站上的登錄ID和密碼是相同的,有沒有想過如果這些人拿着這些個資去猜測其他網站的登錄會出現什么狀況呢?其危害之大不言而喻.

     那么究竟是什么原因導致CSDN個資泄露的呢?據業內人士透露,是因為CSDN自家的人把會員個資壓縮之后放在了網站目錄里,被他們給猜測到了,然后直接給下再回去的,是不是聽起來很扯呢!其實一點都不扯,很多程序員都會犯這樣的錯,這絕非偶然,請看下邊的圖片.

     上圖中的內容是我用PHP捕捉到的404錯誤,每當發生404錯誤時,PHP就會自動給我發送Email告知我下邊的詳情:

     看吧,對方的意圖很明顯,就是要猜測我的網站上是否有忘記刪除的壓縮文件,如果我真的忘記刪除壓縮文件的話,恐怕CSDN的事情就會再次重演了.不過不說的是對方的猜測工具真的挺好用的,在短時間內發送大量的猜測請求到我的服務器,這不但會浪費我的網絡帶寬,還會因為不停發送email拖慢服務器,最可怕的是如果一旦被對方猜對了,那么危害就不言而喻了.

     對於如此宵小之輩有沒有懲治的措施呢?方法當然是有的,如果沒有解決辦法我還在這里廢這么多話還不得被大家生吞活剝了:) 其實最簡單的辦法就是封鎖對方的IP,一旦發現這種猜測行為立即果斷封鎖對方的IP,或許你會說對方是浮動ip,重新撥號ip就變了,其實這一點我也有想到,最簡單的做法就是對方換10個ip就封10個,換100個封100個.只要他還嘗試猜測下去就封他當前的IP,這樣一來除非他用的軟件能夠實現馬上斷線重撥更換IP,否則不管他的猜測軟件有多好用也就只能一個ip猜測一次.這就從很大程度上降低了網站服務器的風險.

    具體實施方法分為兩個分支,第一個分支是linux服務器,第二個分支是windows服務器.

    首先我來說一下linux服務器的做法:相比windows服務器來說,linux簡單的多,因為linux的shell可以全面控制服務器這一點windows是無法比的.做法如下:

     1.用nginx或apache重定向404錯誤到某個php文件(假如這個文件叫lock.php),當發生404錯誤時就會呼叫該php文件

     2.lock.php實現捕捉來訪者的ip等資料,另外這個文件還要實現發送email功能,最重要的是這個文件要可以用來生成shell文件,並給與0700權限,讓其可以被PHP執行

     3.生成的shell既然可以被PHP執行,那么你想在這個shell里做啥都行了,你就為所欲為吧,你可以用它操作硬件防火牆封殺ip也可以用它操作linux自帶的防火牆,這就看你的心情了.

     Linux的做法就是這么簡單,只有三步而已,那么接下來我說一下windows服務器的做法:

     1.用nginx或apache重定向404錯誤到某個php文件(假如這個文件叫lock.php),當發生404錯誤時就會呼叫該php文件

     2.lock.php實現捕捉來訪者的ip等資料,另外這個文件還要實現發送email功能,最重要的是這個文件要可以用來生成bat文件,讓其可以被PHP執行

     3.bat文件的內容可以是用來操作硬件防火牆,如果你沒有硬件防火牆的話你也可以用它來操作服務器上的ip安全策略達到實現封ip的目的(詳情可以了解一下windows自帶的netsh命令).

 

     事實證明這兩套做法效果都是非常好的,因為我有自己的服務器,最近常常被猜測,所以被逼出來了這樣的做法,通過上述做法我發現效率非常高,從對方開始猜測到封鎖完成的時間間隔不足1秒,如果您也有自己的服務器不妨嘗試一下.

     如果您對我的這篇文章有異議,歡迎您加我的群一起討論,QQ群號:223494678


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM