通過PHP代碼進行DDOS已經不是什麼新鮮事了,其特征是用PHP代碼調用sockets,直接用服務器的網絡攻擊別的IP。在服務器上的表現為一打開IIS,服務器的流出帶寬就用光,不管你是10M還是100M,統統用光,也就是說服務器不斷向別人發包,這個情況和受到DDOS攻擊不同,受到DDOS是不斷收到大量數據包,造成帶寬占滿從而無法提供服務,PHP DDOS是不停的發包,占滿帶寬,從而無法提供服務。我說管理的服務器就受到了這樣的一次攻擊,下面來分享下解決辦法。
解決服務器上通過PHP代碼DDOS第一種方法:找到攻擊所屬網站並關閉。
找到這個網站
打開IIS錯誤日志,位置是C:\Windows\System32\LogFiles\HTTPERR\,一般裡面有一個httperr1.log的文件,裡面有類似這樣的記錄:
2011-10-19 11:30:39 61.147.121.175 3108 96.139.56.156 80 HTTP/1.1 GET /Editor/sc.php?ip=119.112.90.217&port=80&time=6000 - 26200000 Timer_MinBytesPerSecond DefaultAppPool
主要是看最後三項,上面的范例是26200000 Timer_MinBytesPerSecond DefaultAppPool,26200000是這個利用PHP進行DDOS進行攻擊的網站在IIS中的ID,DefaultAppPool就是網站所在的應用程序池,通過這兩個參數我們可以在IIS管理器裡面快速查到這個網站。
關閉這個網站或者這個應用程序池
通過IIS管理器停止上面日志裡面找到的應用程序池,或者就關閉上面的ID的網站。
現在這樣一來,利用PHP進行DDOS攻擊的網站就被停止了,這樣就解決了這個問題。但通過這樣的方法解決比較的費時費力,而且如果出現在其他網站還得這樣來操作,不能一勞永逸,下面說一個一勞永逸的方法,就是解決服務器上通過PHP代碼DDOS第二種方法:禁止UDP訪問。
方法一:打開“管理工具”——“本地安全策略”——“IP安全策略”,在IP安全策略中禁止UDP訪問;
方法二:打開Windows防火牆,在防火牆中設置禁止UDP訪問。
上面2個方法建議使用方法一,因為dns服務需要用UDP,用方法一可以很靈活的設置為允許DNS服務的UDP訪問禁止其他所有UDP,規則中可以加入指定的DNS服務器地址,更安全。
為了方便使用,聚友做了一個批處理文件,直接將裡面的DNS服務器地址修改成你服務器的DNS服務器地址,再直接執行即可,下載地址:點擊此處下載
還有修改PHP配置的方法,但那種方法會造成好多PHP的網站程序不正常,在此就不說了。