Home  >  Article  >  php教程  >  对外DDoS攻击的处理方法 Linux 通过Iptalbes禁止PHPDDOS发包

对外DDoS攻击的处理方法 Linux 通过Iptalbes禁止PHPDDOS发包

WBOY
WBOYOriginal
2016-06-21 08:52:041033browse

  对这种攻击的处罚政策是,

  Further violations will proceed with these following actions:

  1st violation - Warning and shutdown of server. We will allow 24 hours for you to rectify the problem. 第一次是警告+关机,给24小时的时间来解决问题

  2nd violation - Immediate reformat of server. 第二次是立即格式化服务器

  3rd violation - Cancellation with no refund. 第三次是取消服务并不给退款

  针对这个问题,给一个简单的描述,

  表现特征:一打开IIS,服务器的流出带宽就用光-----就是说服务器不断向别人发包,这个情况和受到ddos攻击是不同的,Ddos是不断收到大量数据包.

  解决办法:

  先停止IIS,这样就暂时没法对外攻击了,然后

  禁止上述的代码:

  在c:\windows\php.ini里设置:

  disable_functions =gzinflate,passthru,exec,system,chroot,scandir,chgrp,chown,shell_exec,proc_open,proc_get_status,ini_alter,ini_alter,ini_restore,dl,pfsockopen,openlog,syslog,readlink,symlink,popepassthru,stream_socket_server,fsocket,fsockopen

  在c:\windows\php.ini里设其值为Off

  allow_url_fopen = Off

  并且:

  ;extension=php_sockets.dll

  前面的;号一定要有,意思就是限制用sockets.dll

  前面的;号要保留

  然后启动IIS

  在IP策略,或防火墙中,禁止所有udp向外发送

  linux下解决办法

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

  iptables -A OUTPUT -p udp -j DROP

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

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

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

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

  附完整iptables规则

  #iptables -A INPUT -p tcp -m tcp --sport 53 --dport 1024:65535 -m state --state ESTABLISHED -j ACCEPT

  #iptables -A INPUT -p udp -m udp --sport 53 --dport 1024:65535 -m state --state ESTABLISHED -j ACCEPT

  #iptables -A OUTPUT -p tcp -m tcp --sport 1024:65535 -d 8.8.4.4 --dport 53 -m state --state NEW,ESTABLISHED -j ACCEPT

  #iptables -A OUTPUT -p udp -m udp --sport 1024:65535 -d 8.8.8.8 --dport 53 -m state --state NEW,ESTABLISHED -j ACCEPT

  #iptables -A OUTPUT -p udp -j REJECT

  #/etc/rc.d/init.d/iptables save

  # service iptables restart

  #chkconfig iptables on

  开放 对外 以及对内的 DNS端口 53

  禁止其他全部出站的UDP 协议

  开机启动iptables

  另外要说明的是,上面的代码是因为我服务器使用的是谷歌的DNS来解析,我服务器端对外的访问(在服务器端上网,就需要,如果只是单纯的服务器,不进行 yum安装也可以不用),因此我开放对8.8.4.4和8.8.8.8的访问,如果你不是设置为谷歌的DNS,那么这里要自行修改成你的DNS。使用的 DNS是什么可以用下面方法查询



Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn