一、php對外發包問題
客戶說自己的vps對外發包嚴重,我司機房人員查看監控,截圖如下:
在這樣下去客戶的機器肯定會造成ping值不穩定,甚至服務器崩潰。
二、分析問題
經分析發現,這些發包的PHP程序都使用了fsockopen()這個函數。強烈建議您修改php.ini文件,關閉這個函數,95%以上的程序是不需要這個函數的,個別程序如淘寶客、Ucenter、部分API程序等才需要使用這個函數。如果關閉這個函數,發包程序徹底失效,極大的增強了服務器的安全級別。
1. 關閉這個函數的流程,編輯php.ini文件搜索這個文件中的“disable_functions =”,如果這行前面有;符號的就刪除這個符號,然后把這行修改為:
代碼如下:
disable_functions = popen,exec,passthru,system,fsockopen,pfsockopen
修改完成后保存退出,并重啟 IIS或apache服務即可生效 。
2. 如果您的服務器上有DedeCMS程序,請特別注意檢查:
代碼如下:
/plus/config_s.php
/plus/index.php
/data/cache/t.php
/data/cache/x.php
這些一般是木馬程序,要及時刪除!
3. 請下載udpdeny.rar,使用ip策略來阻止服務器對外發包;
4. 在星外最新版本的安全包中,已帶有4.0版本的IP策略【下載safe包】,您導入后就直接可以限制了外發的UDP包。下載這個包,之后導入安全策略。但這個策略并沒有關閉DNS端口,部分攻擊還是有效. 為了解決這個問題,你也可以調整IP策略,限制udp只能訪問特定的DNS服務器IP,如8.8.8.8,除非黑客攻擊這個IP,不然攻擊也是無效的,你可以在網卡DNS中設置一個你才知道的DNS IP,并且不要公開,然后調用IP策略中的udp open部分就可以解決.(打開IP策略的屬性,雙擊open,將open中的兩條udp記錄刪除任意一條,在保留的這條中,雙擊,改成 地址 從源地址 任何地址 到目標地址 "特定IP 這個IP就是設置為你自己的DNS IP,如8.8.8.8" 保存后就行了 )
以前我司寫過一個較全面的文章,你可以參考php對外發包引發服務器崩潰的終極解決方法這篇文章,希望可以給予你幫助