防止本地用户用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 相关文章推荐
实现了一个PHP5的getter/setter基类的代码
Feb 25 PHP
php 随机数的产生、页面跳转、件读写、文件重命名、switch语句
Aug 07 PHP
PHP面向接口编程 耦合设计模式 简单范例
Mar 23 PHP
实测在class的function中include的文件中非php的global全局环境
Jul 15 PHP
测试php连接mysql是否成功的代码分享
Jan 24 PHP
php 判断字符串中是否包含html标签
Feb 17 PHP
php检查页面是否被百度收录
Oct 28 PHP
yii2带搜索功能的下拉框实例详解
May 12 PHP
php+redis在实际项目中HTTP 500: Internal Server Error故障排除
Feb 05 PHP
Laravel框架中Blade模板的用法示例
Aug 30 PHP
OAuth认证协议中的HMACSHA1加密算法(实例)
Oct 25 PHP
PHP正则验证字符串是否为数字的两种方法并附常用正则
Feb 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 join函数应用
2011/05/04 PHP
PHP使用redis实现统计缓存mysql压力的方法
2015/11/14 PHP
学习php设计模式 php实现享元模式(flyweight)
2015/12/07 PHP
thinkphp5实现无限级分类
2019/02/18 PHP
一次失败的jQuery优化尝试小结
2011/02/06 Javascript
json对象转字符串如何实现
2012/12/02 Javascript
Javascript实现真实字符串剩余字数提示的实例代码
2013/10/22 Javascript
jQuery客户端分页实例代码
2013/11/18 Javascript
js实现日历可获得指定日期周数及星期几示例分享(js获取星期几)
2014/03/14 Javascript
JS循环遍历JSON数据的方法
2014/07/08 Javascript
javascript制作坦克大战全纪录(1)
2014/11/27 Javascript
认识Knockout及如何使用Knockout绑定上下文
2015/12/25 Javascript
关于JavaScript作用域你想知道的一切
2016/02/04 Javascript
jQuery可见性过滤选择器用法示例
2016/09/09 Javascript
JavaScript 获取元素在父节点中的下标(推荐)
2017/06/28 Javascript
深入探究AngularJs之$scope对象(作用域)
2017/07/20 Javascript
基于JSONP原理解析(推荐)
2017/12/04 Javascript
修改npm全局安装模式的路径方法
2018/05/15 Javascript
Vue项目添加动态浏览器头部title的方法
2018/07/11 Javascript
监听angularJs列表数据是否渲染完毕的方法示例
2018/11/07 Javascript
angular中如何绑定iframe中src的方法
2019/02/01 Javascript
vue 插件的方法代码详解
2019/06/06 Javascript
[01:21]DOTA2 新英雄 森海飞霞
2020/12/18 DOTA
Python统计文件中去重后uuid个数的方法
2015/07/30 Python
Python决策树之基于信息增益的特征选择示例
2018/06/25 Python
在Python中通过getattr获取对象引用的方法
2019/01/21 Python
基于python生成器封装的协程类
2019/03/20 Python
Python下应用opencv 实现人脸检测功能
2019/10/24 Python
tensorflow实现对张量数据的切片操作方式
2020/01/19 Python
优衣库澳大利亚官网:UNIQLO澳大利亚
2017/01/18 全球购物
玉兰油美国官网:OLAY美国
2018/10/25 全球购物
英国排名第一的餐具品牌:Denby Pottery
2019/11/01 全球购物
电大毕业生自我鉴定
2014/04/10 职场文书
2019假期福利管理制度!
2019/07/15 职场文书
html中显示特殊符号(附带特殊字符对应表)
2021/06/21 HTML / CSS
python 使用pandas读取csv文件的方法
2022/12/24 Python