防止本地用户用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安全配置方法
Jun 16 PHP
php+mysql事务rollback&commit示例
Feb 08 PHP
基于curl数据采集之单页面采集函数get_html的使用
Apr 28 PHP
如何使用php判断所处服务器操作系统的类型
Jun 20 PHP
对PHP语言认识上需要避免的10大误区
Jun 12 PHP
PHP图片处理之图片背景、画布操作
Nov 19 PHP
php通过ksort()函数给关联数组按照键排序的方法
Mar 18 PHP
php页面,mysql数据库转utf-8乱码,utf-8编码问题总结
Aug 27 PHP
给PHP开发者的编程指南 第一部分降低复杂程度
Jan 18 PHP
php swoole多进程/多线程用法示例【基于php7nts版】
Aug 12 PHP
php7 参数、整形及字符串处理机制修改实例分析
May 25 PHP
PHP xpath提取网页数据内容代码解析
Jul 16 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
让你同时上传 1000 个文件 (一)
2006/10/09 PHP
php download.php实现代码 跳转到下载文件(response.redirect)
2009/08/26 PHP
JS异常处理try..catch语句的作用和实例
2014/05/05 PHP
php给一组指定关键词添加span标签的方法
2015/03/31 PHP
Yii框架结合sphinx,Ajax实现搜索分页功能示例
2016/10/18 PHP
PHP 计算至少是其他数字两倍的最大数的实现代码
2020/05/26 PHP
JavaScript作用域链使用介绍
2013/08/29 Javascript
js动态修改整个页面样式达到换肤效果
2014/05/23 Javascript
浏览器兼容的JS写法总结
2016/04/27 Javascript
jQuery实现简单的计时器功能实例分析
2017/08/29 jQuery
jQuery实现弹窗下底部页面禁止滑动效果
2017/12/19 jQuery
浅谈angular2子组件的事件传递(任意组件事件传递)
2018/09/30 Javascript
Jquery+AJAX实现无刷新上传并重命名文件操作示例【PHP后台接收】
2020/05/29 jQuery
[01:15:15]VG VS EG Supermajor小组赛B组胜者组第一轮 BO3第二场 6.2
2018/06/03 DOTA
Tornado Web服务器多进程启动的2个方法
2014/08/04 Python
Python实现遍历windows所有窗口并输出窗口标题的方法
2015/03/13 Python
Python的Flask框架中@app.route的用法教程
2015/03/31 Python
详解Django框架中的视图级缓存
2015/07/23 Python
pandas每次多Sheet写入文件的方法
2018/12/10 Python
Python 实现遥感影像波段组合的示例代码
2019/08/04 Python
解决Django后台ManyToManyField显示成Object的问题
2019/08/09 Python
python、PyTorch图像读取与numpy转换实例
2020/01/13 Python
.img/.hdr格式转.nii格式的操作
2020/07/01 Python
基于HTML5的齿轮动画特效
2016/02/29 HTML / CSS
SmartBuyGlasses德国:购买太阳镜和眼镜
2019/08/20 全球购物
如何找出EMP表里面SALARY第N高的employee
2013/12/05 面试题
介绍一下Mysql的存储引擎
2015/02/12 面试题
数控专业大学生的自我鉴定
2013/11/13 职场文书
大学毕业生自荐书怎么写?
2014/01/06 职场文书
求职简历自我评价范例
2014/03/12 职场文书
法律专业大学生职业生涯规划书:向目标一步步迈进
2014/09/22 职场文书
2014学习十八届四中全会精神思想汇报范文
2014/10/23 职场文书
2015年五四青年节活动总结
2015/02/10 职场文书
2016年小学优秀班主任事迹材料
2016/02/29 职场文书
Axios取消重复请求的方法实例详解
2021/06/15 Javascript
Python使用socket去实现TCP客户端和TCP服务端
2022/04/12 Python