利用iptables防止php-ddos对外发包
发布时间:2012年2月18日 阅读:26975次 分类:CentOS应用 10 条评论
最近一段时间php-ddos泛滥,许多虚拟主机服务商都担心客户网站因为网站权限或漏洞问题被植入php-ddos,对外发送大量的数据包,带来不必要的麻烦和损失。为此,我们可以利用iptables,从根源上禁止php-ddos对外发包。
一、允许需要UDP服务的端口(如DNS)
iptables -I OUTPUT -p udp --dport 53 -d 8.8.8.8 -j ACCEPT
二、禁止本机对外发送UDP包
iptables -A OUTPUT -p udp -j DROP
绿色“53”,为DNS所需要的UDP端口,黄色“8.8.8.8”部分为DNS IP,根据您服务器的设定来定,若您不知您当前服务器使用的DNS IP,可在SSH中执行以下命令获取:
cat /etc/resolv.conf |grep nameserver |awk 'NR==1{print $2 }'
端口可以随意设置么?
第三步 iptables-save
哦也
求如何UDP发包方法
应该先允许DNS出,再拒绝所有UDP出吧。
iptables -I OUTPUT -p udp --dport 53 -d 8.8.8.8 -j ACCEPT
iptables -A OUTPUT -p udp -j DROP
这两条语句的顺序反了吧。。。
而且不同的服务器使用的dns地址不一样,。。
我写了个脚本,是可以自动读取dns设置并且加入进去的,当然这个脚本还有改进的空间,但至少现在是能正常工作的。。
http://www.fullpanel.net/node/26
顺序已经调整,感谢反馈。
路过,支持一下技术博.
因为你的第一句仅允许谷歌的 DNS 访问外网了,所以你应该再接一句:
echo "nameserver 8.8.8.8" > /etc/resolv.conf && /etc/init.d/network restart
不然的话可能会导致 VPS 不能访问外网显示 DNS 无效,我刚刚就是用了你第一句之后再 wget 就下载不了了、说无法解析 。。
好吧、我承认没认真看文章 。。蛋疼了