网站地图    收藏   

主页 > 后端 > 网站安全 >

叫停fsockopen phpddos处理方案 - 网站安全 - 自学ph

来源:自学PHP网    时间:2015-04-17 13:03 作者: 阅读:

[导读] www.2cto.com:这个文章没有超出以前的解决方法,还是那些,一个是禁止函数,一个是封端口。实际用在运用中会带来一些例如不能采集之类的问题,红黑联盟官方微博曾经讨论过这个问...

www.2cto.com:这个文章没有超出以前的解决方法,还是那些,一个是禁止函数,一个是封端口。实际用在运用中会带来一些例如不能采集之类的问题,红黑联盟官方微博曾经讨论过这个问题,后来出来一个通过设置进程时间的办法,也不是治本的法子,还需要大家想别的办法。

前文:

fsockopen函数被PHPDDOS利用攻击的解决办法

从PHPDDOS源码谈防御
利用IP安全策略和PHP配置完美解决PHPDDOS发包
预防PHPDDOS的发包

感谢:
 
网络策划师
sreang
 
 
原因
php脚本部分源码
 
 
 
        $fp = fsockopen("udp://$ip", $rand, $errno, $errstr, 5);
        if($fp){
                fwrite($fp, $out);
                fclose($fp);php脚本中的fsockopen 函数,对外部地址,通过UDP发送大量的数据包,攻击对方。
 
 
 
应对
可通过php.ini ,禁用fsockopen 函数,及使用Windows 2003的 安全策略 屏蔽本机的UDP端口。
 
 
 
禁用函数
查找到disable_functions ,添加需禁用的函数名,如下例:
 
 
 
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重启IIS后生效。
 
 
 
屏蔽UDP端口
将以下着色文本复制到记事本,另存为banudp.bat 或任意名,双击运行即可。
 
 
 
REM 添加安全策略,名称
netsh ipsec static add policy name=我的安全策略
 
REM 添加IP筛选器列表
netsh ipsec static add filterlist name=允许列表
netsh ipsec static add filterlist name=拒绝列表
 
REM 添加筛选器到IP筛选器列表(允许上网)
netsh ipsec static add filter filterlist=允许列表  srcaddr=me dstaddr=209.11.240.36 description=dns访问protocol=udp mirrored=yes dstport=53
netsh ipsec static add filter filterlist=允许列表  srcaddr=me dstaddr=209.11.240.35 description=dns访问protocol=udp mirrored=yes dstport=53
netsh ipsec static add filter filterlist=允许列表  srcaddr=me dstaddr=208.98.0.7 description=dns访问protocol=udp mirrored=yes dstport=53
netsh ipsec static add filter filterlist=允许列表  srcaddr=me dstaddr=208.98.0.8 description=dns访问protocol=udp mirrored=yes dstport=53
netsh ipsec static add filter filterlist=允许列表  srcaddr=me dstaddr=4.2.2.1 description=dns访问protocol=udp mirrored=yes dstport=53
netsh ipsec static add filter filterlist=允许列表  srcaddr=me dstaddr=8.8.8.8 description=dns访问protocol=udp mirrored=yes dstport=53
netsh ipsec static add filter filterlist=允许列表  srcaddr=me dstaddr=208.67.222.222 description=dns访问protocol=udp mirrored=yes dstport=53
netsh ipsec static add filter filterlist=允许列表  srcaddr=me dstaddr=66.90.68.16 description=dns访问 protocol=udp mirrored=yes dstport=53
netsh ipsec static add filter filterlist=允许列表  srcaddr=me dstaddr=66.90.68.25 description=dns访问protocol=udp mirrored=yes dstport=53
netsh ipsec static add filter filterlist=允许列表  srcaddr=me dstaddr=192.43.244.18 description=dns访问protocol=udp mirrored=yes dstport=123
 
REM 添加筛选器到IP筛选器列表(不让别人访问)
netsh ipsec static add filter filterlist=拒绝列表srcaddr=me dstaddr=any description=别人到我任何访问protocol=udp mirrored=yes
 
REM 添加筛选器操作
netsh ipsec static add filteraction name=可以  action=permit
netsh ipsec static add filteraction name=不可以  action=block
 
REM 创建一个链接指定IPSec 策略、筛选器列表和筛选器操作的规则(加入规则到我的安全策略)
netsh ipsec static add rule name=允许规则  policy=我的安全策略filterlist=允许列表filteraction=可以
netsh ipsec static add rule name=拒绝规则  policy=我的安全策略filterlist=拒绝列表filteraction=不可以
 
REM 激活我的安全策略
netsh ipsec static set policy name=我的安全策略assign=yLinux环境里的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 209.11.240.36 --dport 53 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -p udp -m udp --sport 1024:65535 -d 209.11.240.36 --dport 53 -m state --state NEW,ESTABLISHED -j ACCEPT
-A OUTPUT -p udp -j REJECT

自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论