如何有效防止phpddos发包
2012年6月18日
没有评论
最近一段时间以来经常发现vps的客户出现发大量udp攻击包,照成网络带宽堵塞。协助客户查了一下原因是有的网站出现的代码漏洞黑客上传了php的udp发包代码。
如何有效的对此类事件的防护及处理呢?
我们可以看到php的upd代码发包过程是由于利用了php的fsockopen函数漏洞进行的。
那我们可以这样限制一下php的代码函数:
下面是两种常用的禁用fsockopen的方法。
1、修改php.ini,将 disable_functions = 后加入 fsockopen
2、修改php.ini,将 allow_url_fopen = On 改为 allow_url_fopen = Off
一般可以写成这样:
disable_functions = popen,exec,passthru,system,fsockopen,pfsockopen
然后我们在对机器对外发udp包进行限制。windows 我已经为大家写好了规则。大家可以直接通过服务器的本地安全策略进行导入。可以有效的限制udp发包。
下载: phpddos.ipsec
Linux系统下可使用iptables防火墙进行限制udp发包,如下:
1 2 3 4 5 6 7 8 9 | iptables -F iptables -A OUTPUT -p udp -j DROP iptables -I OUTPUT -p udp --dport 53 -d 168.95.1.1 -j ACCEPT service iptables save service iptables restart |
注:168.95.1.1 为你linux服务器的dns。如果不知道可以用以下代码查dns
1 | DNSIP=`cat /etc/resolv.conf |grep nameserver |awk 'NR==1{print $2 }'` |