利用iptables防止php-ddos对外发包

发布时间:2012年2月18日 阅读:21857次 分类: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, php-ddos

已有 10 条评论 »

  1. 小陈 小陈

    端口可以随意设置么?

  2. Caboo Caboo

    第三步 iptables-save

  3. VPS评测 VPS评测

    求如何UDP发包方法

  4. 欧诺VPS 欧诺VPS

    应该先允许DNS出,再拒绝所有UDP出吧。
    iptables -I OUTPUT -p udp --dport 53 -d 8.8.8.8 -j ACCEPT
    iptables -A OUTPUT -p udp -j DROP

  5. fullpanel fullpanel

    这两条语句的顺序反了吧。。。
    而且不同的服务器使用的dns地址不一样,。。
    我写了个脚本,是可以自动读取dns设置并且加入进去的,当然这个脚本还有改进的空间,但至少现在是能正常工作的。。
    http://www.fullpanel.net/node/26

    1. kwx kwx

      顺序已经调整,感谢反馈。

  6. an9 an9

    路过,支持一下技术博.

  7. babytomas babytomas

    因为你的第一句仅允许谷歌的 DNS 访问外网了,所以你应该再接一句:

    echo "nameserver 8.8.8.8" > /etc/resolv.conf && /etc/init.d/network restart

    不然的话可能会导致 VPS 不能访问外网显示 DNS 无效,我刚刚就是用了你第一句之后再 wget 就下载不了了、说无法解析 。。

  8. babytomas babytomas

    好吧、我承认没认真看文章 。。蛋疼了

添加新评论 »




captcha
请输入验证码