防止本地用户用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+AJAX实现无刷新注册(带用户名实时检测)
Dec 02 PHP
php 应用程序安全防范技术研究
Sep 25 PHP
一个比较简单的PHP 分页分组类
Dec 10 PHP
PHP 创建标签云函数代码
May 26 PHP
php利用iframe实现无刷新文件上传功能的代码
Sep 29 PHP
PHP 第二节 数据类型之数值型
Apr 28 PHP
php+mysql实现用户注册登陆的方法
Jan 03 PHP
PHP使用array_fill定义多维数组的方法
Mar 18 PHP
PHP计算指定日期所在周的开始和结束日期的方法
Mar 24 PHP
php使用GD实现颜色渐变实例
Jun 02 PHP
php 在线导入mysql大数据程序
Jun 11 PHP
WordPress主题制作中自定义头部的相关PHP函数解析
Jan 08 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
解析thinkphp import 文件内容变量失效的问题
2013/06/20 PHP
Composer设置忽略版本匹配的方法
2016/04/27 PHP
laravel 5.3 单用户登录简单实现方法
2019/10/14 PHP
40个有创意的jQuery图片和内容滑动及弹出插件收藏集之二
2011/12/31 Javascript
JS对象与JSON格式数据相互转换
2012/02/20 Javascript
javascript之Partial Application学习
2013/01/10 Javascript
解析javascript 数组以及json元素的添加删除
2013/06/26 Javascript
js获取数组的最后一个元素
2015/04/14 Javascript
jquery实现经典的淡入淡出选项卡效果代码
2015/09/22 Javascript
javascript简单进制转换实现方法
2016/11/24 Javascript
ES6新特性二:Iterator(遍历器)和for-of循环详解
2017/04/20 Javascript
jQuery实现的鼠标滚轮控制图片缩放功能实例
2017/10/14 jQuery
js实现以最简单的方式将数组元素添加到对象中的方法
2017/12/20 Javascript
vue.js使用v-if实现显示与隐藏功能示例
2018/07/06 Javascript
axios实现简单文件上传功能
2019/09/25 Javascript
jQuery+css实现的点击图片放大缩小预览功能示例【图片预览 查看大图】
2020/05/29 jQuery
python打开网页和暂停实例
2014/09/30 Python
在Python中处理字符串之ljust()方法的使用简介
2015/05/19 Python
使用httplib模块来制作Python下HTTP客户端的方法
2015/06/19 Python
Python中装饰器兼容加括号和不加括号的写法详解
2017/07/05 Python
使用python编写监听端
2018/04/12 Python
如何在Django中添加没有微秒的 DateTimeField 属性详解
2019/01/30 Python
python matplotlib实现双Y轴的实例
2019/02/12 Python
OpenCV-Python 摄像头实时检测人脸代码实例
2019/04/30 Python
Python企业编码生成系统总体系统设计概述
2019/07/26 Python
解决Python中导入自己写的类,被划红线,但不影响执行的问题
2020/07/13 Python
基于Python实现下载网易音乐代码实例
2020/08/10 Python
HTML5实现预览本地图片
2016/02/17 HTML / CSS
Ivory Isle Designs美国/加拿大:婚礼和活动文具公司
2018/08/21 全球购物
来自南加州灵感的工作和娱乐服装:TravisMathew
2019/05/01 全球购物
生产经理的自我评价分享
2013/11/07 职场文书
运动会通讯稿150字
2014/02/15 职场文书
党员批评与自我批评(5篇)
2014/09/23 职场文书
小学教师自我剖析材料
2014/09/29 职场文书
观看焦裕禄观后感
2015/06/09 职场文书
珍爱生命主题班会
2015/08/13 职场文书