防止本地用户用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 相关文章推荐
ASP和PHP都是可以删除自身的
Apr 09 PHP
php操作sqlserver关于时间日期读取的小小见解
Nov 29 PHP
php代码收集表单内容并写入文件的代码
Jan 29 PHP
PHP数组传递是值传递而非引用传递概念纠正
Jan 31 PHP
PHP数组循环操作详细介绍 附实例代码
Feb 03 PHP
php获取mysql字段名称和其它信息的例子
Apr 14 PHP
php+ajax实时刷新简单实例
Feb 25 PHP
PHP的Laravel框架结合MySQL与Redis数据库的使用部署
Mar 21 PHP
PHP中trait使用方法详细介绍
May 21 PHP
Laravel中批量赋值Mass-Assignment的真正含义详解
Sep 29 PHP
PHP实现的基于单向链表解决约瑟夫环问题示例
Sep 30 PHP
PHP实现搜索时记住状态的方法示例
May 11 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
PHP5.5迭代生成器用法实例详解
2016/03/16 PHP
PHP简单实现DES加密解密的方法
2016/07/12 PHP
phpcms中的评论样式修改方法
2016/10/21 PHP
PHP连接MYSQL数据库的3种常用方法
2017/02/27 PHP
PHP开发api接口安全验证操作实例详解
2020/03/26 PHP
为jQuery增加join方法的实现代码
2010/11/28 Javascript
关于js new Date() 出现NaN 的分析
2012/10/23 Javascript
用jquery统计子菜单的条数示例代码
2013/10/18 Javascript
浏览器图片选择预览、旋转、批量上传的JS代码实现
2013/12/04 Javascript
JavaScript返回当前会话cookie全部键值对照的方法
2015/04/03 Javascript
jQuery插件Elastislide实现响应式的焦点图无缝滚动切换特效
2015/04/12 Javascript
JavaScript+canvas实现七色板效果实例
2016/02/18 Javascript
jquery+html仿翻页相册功能
2016/12/20 Javascript
H5上传本地图片并预览功能
2017/05/08 Javascript
js随机生成一个验证码
2017/06/01 Javascript
使用Fullpage插件快速开发整屏翻页的页面
2017/09/13 Javascript
浅谈JS 数字和字符串之间相互转化的纠纷
2017/10/20 Javascript
浅析Vue 中的 render 函数
2020/02/28 Javascript
在Vue中创建可重用的 Transition的方法
2020/06/02 Javascript
浅谈Ant Design Pro 菜单自定义 icon
2020/11/17 Javascript
js实现简易计算器小功能
2020/11/18 Javascript
vue 实现基础组件的自动化全局注册
2020/12/25 Vue.js
[02:16]深扒TI7聊天轮盘语音出处2
2017/05/11 DOTA
linux环境下的python安装过程图解(含setuptools)
2017/11/22 Python
python语言中with as的用法使用详解
2018/02/23 Python
Python绘制的二项分布概率图示例
2018/08/22 Python
Window 64位下python3.6.2环境搭建图文教程
2018/09/19 Python
Python numpy大矩阵运算内存不足如何解决
2020/11/19 Python
土耳其时尚购物网站:Morhipo
2017/09/04 全球购物
京东全球售:直邮香港,澳门,台湾,美国,澳大利亚等地区
2017/09/24 全球购物
阿联酋网上花店:Ferns N Petals
2018/02/14 全球购物
口头翻译求职人自荐信
2013/12/07 职场文书
光荣入党自我鉴定
2014/01/22 职场文书
口才训练演讲稿范文
2014/09/16 职场文书
群众路线领导干部个人对照检查材料(集锦)
2014/09/23 职场文书
2014年保安个人工作总结
2014/11/13 职场文书