防止利用PHP代码DDOS造成网络带宽耗尽
特征:用PHP代码调用sockets,直接用服务器的网络攻击别的IP,导致本机网络带宽耗尽。
打开IIS,服务器的流出带宽就用光-----就是说服务器不断向别人发包,这个情况和受到DDOS攻击是不同的,DDOS是不断收到大量数据包.
近期由于DEDECMS出现漏洞而导致大量服务器出现这个问题.
如何快速找到这些站?
你可以打开日志
C:\Windows\System32\LogFiles\HTTPERR\httperr...log,打开今天时间的文件,
里面有类似这样的记录:
2012-01-13 19:31:36 61.185.50.214 1725 120.72.38.10 80 HTTP/1.1 GET /plus/diy.php?host=123.123.123.123&port=80&time=60 - 100 Timer_MinBytesPerSecond apppool020007
最后三项 100 Timer_MinBytesPerSecond apppool020007
100就是这个站在IIS中的ID
apppool020007就是所在池
解决办法:
1.按上述找到这个网站后停止它.或停止池,并重启IIS.
2.在IP策略,或防火墙中,禁止所有udp向外发送(该方法已失效).
3.直接禁止上面的代码,修改windows\php.ini后重启IIS
ignore_user_abort = On
(注意前面的;号要删除)
disable_functions=exec,system,passthru,popen,pclose,shell_exec,proc_open,curl_exec,multi_exec,dl,chmod,stream_socket_server,popepassthru,pfsockopen,gzinflate
在后面加上
,fsockopen,set_time_limit
但这样会造成很多php程序都不正常.