防止本地用户用fsockopen DDOS攻击对策


Posted in PHP onNovember 02, 2011

原因
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=any description=dns访问 protocol=udp mirrored=yes dstport=53

REM 添加筛选器到IP筛选器列表(不让别人访问)
netsh ipsec static add filter filterlist=拒绝列表 srcaddr=any dstaddr=me 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=y

PHP 相关文章推荐
聊天室php&mysql(六)
Oct 09 PHP
在任意字符集下正常显示网页的方法一
Apr 01 PHP
php数组函数序列之array_combine() - 数组合并函数使用说明
Oct 29 PHP
php 计划任务 检测用户连接状态
Mar 29 PHP
探讨:parse url解析URL,返回其组成部分
Jun 14 PHP
php循环创建目录示例分享(php创建多级目录)
Mar 04 PHP
ThinkPHP打开验证码页面显示乱码的解决方法
Dec 18 PHP
Codeigniter发送邮件的方法
Mar 19 PHP
PHP读取mssql json数据中文乱码的解决办法
Apr 11 PHP
CI(CodeIgniter)框架中URL特殊字符处理与SQL注入隐患分析
Feb 28 PHP
php面向对象基础详解【星际争霸游戏案例】
Jan 23 PHP
Thinkphp 框架扩展之驱动扩展实例分析
Apr 27 PHP
PHP隐形一句话后门,和ThinkPHP框架加密码程序(base64_decode)
Nov 02 #PHP
php数组函数序列之krsort()- 对数组的元素键名进行降序排序,保持索引关系
Nov 02 #PHP
php数组函数序列之asort() - 对数组的元素值进行升序排序,保持索引关系
Nov 02 #PHP
php数组函数序列之sort() 对数组的元素值进行升序排序
Nov 02 #PHP
php数组函数序列之ksort()对数组的元素键名进行升序排序,保持索引关系
Nov 02 #PHP
php数组函数序列之rsort() - 对数组的元素值进行降序排序
Nov 02 #PHP
求PHP数组最大值,最小值的代码
Oct 31 #PHP
You might like
php注册登录系统简化版
2020/12/28 PHP
php图片添加水印例子
2016/07/20 PHP
浅谈PHP中的面向对象OOP中的魔术方法
2017/06/12 PHP
PHP删除数组中特定元素的两种方法
2019/02/28 PHP
基于jQuery判断两个元素是否有重叠部分的代码
2012/07/25 Javascript
jQuery中setTimeout的几种使用方法小结
2013/04/07 Javascript
选择器中含有空格在使用示例及注意事项
2013/07/31 Javascript
jQuery实现新消息在网页标题闪烁提示
2015/06/23 Javascript
js只执行1次的函数示例
2016/07/20 Javascript
JS上传图片预览插件制作(兼容到IE6)
2016/08/07 Javascript
webpack 开发和生产并行设置的方法
2018/11/08 Javascript
JavaScript实现与使用发布/订阅模式详解
2019/01/19 Javascript
Vue 动态组件components和v-once指令的实现
2019/08/30 Javascript
vue 中几种传值方法(3种)
2019/11/12 Javascript
JavaScript 实现拖拽效果组件功能(兼容移动端)
2020/11/11 Javascript
简单说明Python中的装饰器的用法
2015/04/24 Python
Python简单实现socket信息发送与监听功能示例
2018/01/03 Python
Python subprocess模块详细解读
2018/01/29 Python
Python实现ping指定IP的示例
2018/06/04 Python
解决Mac安装scrapy失败的问题
2018/06/13 Python
对TensorFlow的assign赋值用法详解
2018/07/30 Python
python 浅谈serial与stm32通信的编码问题
2019/12/18 Python
Shopty西班牙:缝纫机在线销售
2018/01/26 全球购物
澳大利亚领先的优质葡萄酒拍卖会:Langton’s Fine Wines
2019/03/24 全球购物
EJB需直接实现它的业务接口或Home接口吗,请简述理由
2016/11/23 面试题
学校采购员岗位职责
2014/01/02 职场文书
会计顶岗实习心得
2014/01/25 职场文书
小学生家长评语集锦
2014/01/30 职场文书
干部下基层实施方案
2014/03/14 职场文书
课前三分钟演讲稿
2014/04/24 职场文书
优秀毕业生自荐信
2014/06/10 职场文书
质量保证书
2015/01/17 职场文书
关于拾金不昧的感谢信
2015/01/21 职场文书
2015年度团总支工作总结
2015/04/23 职场文书
《窃读记》教学反思
2016/02/18 职场文书
MySQL中一条update语句是如何执行的
2022/03/16 MySQL