防止本地用户用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 empty函数 使用说明
Aug 10 PHP
用php或asp创建网页桌面快捷方式的代码
Mar 23 PHP
PHP中图片等比缩放的实例
Mar 24 PHP
PHP rsa加密解密使用方法
Apr 27 PHP
PHP使用数组依次替换字符串中匹配项
Jan 08 PHP
PHP命名空间namespace用法实例分析
Sep 27 PHP
php与c 实现按行读取文件实例代码
Jan 03 PHP
完美解决thinkphp唯一索引重复时出错的问题
Mar 31 PHP
PHP开发实现微信退款功能示例
Nov 25 PHP
php实现微信公众号企业转账功能
Oct 01 PHP
在laravel框架中使用model层的方法
Oct 08 PHP
PHP 对象继承原理与简单用法示例
Apr 21 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实现多服务器共享SESSION数据的方法
2007/03/16 PHP
php比较两个绝对时间的大小
2014/01/31 PHP
PHP实现生成唯一会员卡号
2015/08/24 PHP
Laravel框架中Blade模板的用法示例
2017/08/30 PHP
PHP实现对图片的反色处理功能【测试可用】
2018/02/01 PHP
一些经常会用到的Javascript检测函数
2010/05/31 Javascript
Javascript 自适应高度的Tab选项卡
2011/04/05 Javascript
Jquery中Ajax 缓存带来的影响的解决方法
2011/05/19 Javascript
js change,propertychange,input事件小议
2011/12/20 Javascript
JS(JQuery)操作Array的相关方法介绍
2014/02/11 Javascript
javascript 动态创建表格
2015/01/08 Javascript
Node.js的包详细介绍
2015/01/14 Javascript
jQuery实现类似淘宝网图片放大效果的方法
2015/07/08 Javascript
浅谈javascript运算符——条件,逗号,赋值,()和void运算符
2016/07/15 Javascript
vue2的todolist入门小项目的详细解析
2017/05/11 Javascript
bootstrap+jQuery实现的动态进度条功能示例
2017/05/25 jQuery
深入理解Node.js中通用基础设计模式
2017/09/19 Javascript
PHP 实现一种多文件上传的方法
2017/09/20 Javascript
Vue-CLI项目中路由传参的方式详解
2019/09/01 Javascript
Python中用Descriptor实现类级属性(Property)详解
2014/09/18 Python
python定时检查某个进程是否已经关闭的方法
2015/05/20 Python
python3.4爬虫demo
2019/01/22 Python
python字典的常用方法总结
2019/07/31 Python
Python写出新冠状病毒确诊人数地图的方法
2020/02/12 Python
在python tkinter界面中添加按钮的实例
2020/03/04 Python
详解如何获取localStorage最大存储大小的方法
2020/05/21 HTML / CSS
美体小铺英国官网:The Body Shop英国
2017/01/24 全球购物
联想新西兰官方网站:Lenovo New Zealand
2018/10/30 全球购物
什么是URL
2015/12/13 面试题
简单的辞职信范文
2014/01/18 职场文书
初三学习决心书
2014/03/11 职场文书
党员教师四风自我剖析材料
2014/09/30 职场文书
药店营业员岗位职责
2015/04/14 职场文书
2015年公务员转正工作总结
2015/04/24 职场文书
山楂树之恋观后感
2015/06/11 职场文书
使用python生成大量数据写入es数据库并查询操作(2)
2022/09/23 Python