Linux对付DDoS攻击的处理方法

模板网 2014-09-13
一、php代码漏洞发包攻击解决方案
近期大量客户反映,PHP程序发包攻击,导致服务器不稳定,甚至于将服务器带宽耗尽.
针对php代码漏洞发包攻击的问题,按照下面2步骤禁止PHP权限过大导致的问题,但是有些程序的功能可能无法使用。
1、编辑PHP.INI 文件,进行如下设置
register_globals改为off
disable_functions = exec,system,passthru,error_log,ini_alter,dl,openlog,syslog,readlink,symlink,link,leak,fsockopen,proc_open,popen,chroot,scandir,chgrp,chown,escapeshellcmd,escapeshellarg,shell_exec,proc_get_status,com,readfile
2、重启WEB服务器
二、php.ini里设置
allow_url_fopen = Off
如果这样他还是能发包
extension=php_sockets.dll
改成
;extension=php_sockets.dll
重启APACHE、IIS、NGINX
这样就可以防止PHP DDOS发包了
三、对这种攻击的处罚政策是
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是什么可以用下面方法查询

相关文章

  1. Linux对付DDoS攻击的处理方法

    一、php代码漏洞发包攻击解决方案 近期大量客户反映,PHP程序发包攻击,导致服务器不稳定,甚至于将服务器带宽耗尽. 针对php代码漏洞发包攻击的问题,按照下面2步骤禁止PHP权限过大导致的问题,但是有些程序的功能可能无法使用。 1、编辑PHP.INI 文件,进行如

  2. ping一个网站的IP,能得到哪些参考信息?

    ping值的参考点有: 1.是否能请求到IP:通常我们本地获取某个域名的解析IP,可以通过CMD中ping域名来获取,但如果ping域名时,没有返回到IP,且这台电脑上网正常,说明域名解析或者域名DNS有问题 2.响应时间通常香港或者美国的ping值在100以上,ping值越高,

  3. 本地Apache测试环境多站点虚拟目录配置

    常用看到技术在本地测试DEDE或PHPCMS时,直接把程序放在www目录下的子目录下,本地测试正常后,上传服务器导致路径信息出错的情况,所以一般建议在本地测试时,以新建虚拟目录的方式来进行。下面是Appserv中配置多站点的方法,其它测试环境类似。 怎么使用Ap

  4. 网页返回404、301、302、200、500分别代表什么涵义?

    网页返回404、301、302、200、500分别代表什么涵义?哪种/哪几种是正常的?怎样检测网站的返回状态码? 答: 1)404 请求的网页不存在 301 永久重定向 302 临时重定向 200 服务器返回页面正常 500 服务器内部错误 2)200是正常状态 3)检测网站返回码 a.使用一

  5. apache rewrite 技术实现防盗链功能

    rewrite 技术实现 apache 防盗链 apache 防盗链的第一种实现方法,可以用 rewrite 实现。首先要确认 apache 的 rewrite module 可用:能够控制 apache httpd.conf 文件的,打开 httpd.conf,确保有这么一行配置: loadmodule rewrite_module modules/mod_rewr

随机推荐

  1. Linux对付DDoS攻击的处理方法

    一、php代码漏洞发包攻击解决方案 近期大量客户反映,PHP程序发包攻击,导致服务器不稳定,甚至于将服务器带宽耗尽. 针对php代码漏洞发包攻击的问题,按照下面2步骤禁止PHP权限过大导致的问题,但是有些程序的功能可能无法使用。 1、编辑PHP.INI 文件,进行如

  2. ping一个网站的IP,能得到哪些参考信息?

    ping值的参考点有: 1.是否能请求到IP:通常我们本地获取某个域名的解析IP,可以通过CMD中ping域名来获取,但如果ping域名时,没有返回到IP,且这台电脑上网正常,说明域名解析或者域名DNS有问题 2.响应时间通常香港或者美国的ping值在100以上,ping值越高,

  3. 本地Apache测试环境多站点虚拟目录配置

    常用看到技术在本地测试DEDE或PHPCMS时,直接把程序放在www目录下的子目录下,本地测试正常后,上传服务器导致路径信息出错的情况,所以一般建议在本地测试时,以新建虚拟目录的方式来进行。下面是Appserv中配置多站点的方法,其它测试环境类似。 怎么使用Ap

  4. 网页返回404、301、302、200、500分别代表什么涵义?

    网页返回404、301、302、200、500分别代表什么涵义?哪种/哪几种是正常的?怎样检测网站的返回状态码? 答: 1)404 请求的网页不存在 301 永久重定向 302 临时重定向 200 服务器返回页面正常 500 服务器内部错误 2)200是正常状态 3)检测网站返回码 a.使用一

  5. apache rewrite 技术实现防盗链功能

    rewrite 技术实现 apache 防盗链 apache 防盗链的第一种实现方法,可以用 rewrite 实现。首先要确认 apache 的 rewrite module 可用:能够控制 apache httpd.conf 文件的,打开 httpd.conf,确保有这么一行配置: loadmodule rewrite_module modules/mod_rewr