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

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

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是什么可以用下面方法查询

Comments

No comments yet. Why don’t you start the discussion?

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注