防止本地用户用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 相关文章推荐
smarty静态实验表明,网络上是错的~呵呵
Nov 25 PHP
Base64在线编码解码实现代码 演示与下载
Jan 08 PHP
一些PHP Coding Tips(php小技巧)[2011/04/02最后更新]
May 02 PHP
PHP FOR MYSQL 代码生成助手(根据Mysql里的字段自动生成类文件的)
Jul 23 PHP
PHP-CGI进程CPU 100% 与 file_get_contents 函数的关系分析
Aug 15 PHP
php全局变量和类配合使用深刻理解
Jun 05 PHP
php实现信用卡校验位算法THE LUHN MOD-10示例
May 07 PHP
php的XML文件解释类应用实例
Sep 22 PHP
PHP实现文件下载断点续传详解
Oct 15 PHP
php实现ip白名单黑名单功能
Mar 12 PHP
PHP几个实用自定义函数小结
Jan 25 PHP
thinkphp3.2.3版本的数据库增删改查实现代码
Sep 22 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
15种PHP Encoder的比较
2007/04/17 PHP
php数组总结篇(一)
2008/09/30 PHP
yii用户注册表单验证实例
2015/12/26 PHP
php的debug相关函数用法示例
2016/07/11 PHP
PHP cookie,session的使用与用户自动登录功能实现方法分析
2019/06/05 PHP
jquery禁用右键单击功能屏蔽F5刷新
2014/03/17 Javascript
JS使用getComputedStyle()方法获取CSS属性值
2014/04/23 Javascript
JavaScript在Android的WebView中parseInt函数转换不正确问题解决方法
2015/04/25 Javascript
轻松实现jquery手风琴效果
2016/01/14 Javascript
JavaScript中匿名函数的用法及优缺点详解
2016/06/01 Javascript
js实现固定宽高滑动轮播图效果
2017/01/13 Javascript
vue组件中点击按钮后修改输入框的状态实例代码
2017/04/14 Javascript
vue组件实现文字居中对齐的方法
2017/08/23 Javascript
前端必备插件之纯原生JS的瀑布流插件Macy.js
2017/11/22 Javascript
js实现左右两侧浮动广告
2018/07/09 Javascript
video.js 实现视频只能后退不能快进的思路详解
2018/08/09 Javascript
利用原生JS实现data方法示例代码
2019/05/28 Javascript
你不可不知的Vue.js列表渲染详解
2019/10/01 Javascript
小程序实现按下录音松开识别语音
2019/11/22 Javascript
Vue项目中数据的深度监听或对象属性的监听实例
2020/07/17 Javascript
原生js实现点击按钮复制内容到剪切板
2020/11/19 Javascript
JS算法教程之字符串去重与字符串反转
2020/12/15 Javascript
[23:21]Ti4 冒泡赛第二轮DK vs C9 2
2014/07/14 DOTA
python解决字典中的值是列表问题的方法
2013/03/04 Python
python3 pillow生成简单验证码图片的示例
2017/09/19 Python
使用Python和xlwt向Excel文件中写入中文的实例
2018/04/21 Python
python 实现在txt指定行追加文本的方法
2018/04/29 Python
Python迭代器与生成器基本用法分析
2018/07/26 Python
tensorflow saver 保存和恢复指定 tensor的实例讲解
2018/07/26 Python
python画一个玫瑰和一个爱心
2020/08/18 Python
windows10 pycharm下安装pyltp库和加载模型实现语义角色标注的示例代码
2020/05/07 Python
css3 盒模型以及box-sizing属性全面了解
2016/09/20 HTML / CSS
利用Storage Event实现页面间通信的示例代码
2018/07/26 HTML / CSS
联想英国官网:Lenovo英国
2019/07/17 全球购物
2015大学生入党个人自传
2015/06/26 职场文书
分享MySQL常用 内核 Debug 几种常见方法
2022/03/17 MySQL