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

林继 VPS 知识 1,937 共写了379个字 (2012-06-17 7:13:41) 没有评论 打印 扫描二维码 百度已收录

一、允许需要UDP服务的端口(如DNS)

  1. iptables -I OUTPUT -p udp --dport 53 -d 8.8.8.8 -j ACCEPT

二、禁止本机对外发送UDP包

  1. iptables -A OUTPUT -p udp -j DROP

绿色“53”,为DNS所需要的UDP端口,黄色“8.8.8.8”部分为DNS IP,根据您服务器的设定来定,若您不知您当前服务器使用的DNS IP,可在SSH中执行以下命令获取:

  1. cat /etc/resolv.conf |grep nameserver |awk 'NR==1{print $2 }'

—————————————————  亲,这是分割线  —————————————————

PHPDDOS是通过UDP协议对外发包,但全部屏蔽又会阻止服务器进行正常的DNS查询,因此提供这个脚本,可以自动提取服务器使用的DNS过滤掉进行阻止。

  1. #!/bin/sh
  2. echo for more information please visit http://fullpanel.net
  3. echo this will drop the php flood ddos
  4. cat /etc/resolv.conf |grep nameserver |awk '{print $2 }' > /tmp/nameservers.txt
  5. cat /tmp/nameservers.txt | while read iii
  6. do
  7. iptables -I OUTPUT -p udp --dport 53 -d $iii -j ACCEPT
  8. done
  9. iptables -A OUTPUT -p udp -j DROP
  10. rm -rf /tmp/nameservers.txt
  11. echo done!!!
  12. iptables -L

如重启服务器,请记得先把防火墙配置保存。

如果觉得我的文章对您有用,请随意赞赏。您的支持将鼓励我继续创作!

发表评论

电子邮件地址不会被公开。 必填项已用*标注

< >