pythonddos防御_一个自动封IP防御DDOS脚本
DDoS deflate 工作原理
每分钟检测一次IP连接状况,当某些IP连接超过配置脚本限制的连接数,程序会自动禁止这些IP一段时间,以达到防御攻击的目的
Installation 安装
wget http://www.inetbase.com/scripts/ddos/install.sh
chmod 0700 install.sh
./install.sh
Uninstallation 卸载
wget http://www.inetbase.com/scripts/ddos/uninstall.ddos
chmod 0700 uninstall.ddos
./uninstall.ddos
检查是否遭到ddos攻击命令
netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n
DDoS deflate的默认配置位于/usr/local/ddos/ddos.conf ,内容如下:
##### Paths of the script and other files
PROGDIR="/usr/local/ddos"
PROG="/usr/local/ddos/ddos.sh"
IGNORE_IP_LIST="/usr/local/ddos/ignore.ip.list" //IP地址白名单
CRON="/etc/cron.d/ddos.cron" //定时执行程序
APF="/etc/apf/apf"
IPT="/sbin/iptables"
##### frequency in minutes for running the script
##### Caution: Every time this setting is changed, run the script with --cron
##### option so that the new frequency takes effect
FREQ=1 //检查时间间隔,默认1分钟
##### How many connections define a bad IP? Indicate that below.
NO_OF_CONNECTIONS=150 //最大连接数,超过这个数IP就会被屏蔽,一般默认即可
##### APF_BAN=1 (Make sure your APF version is atleast 0.96)
##### APF_BAN=0 (Uses iptables for banning ips instead of APF)
APF_BAN=1 //使用APF还是iptables。推荐使用iptables,将APF_BAN的值改为0即可。
##### KILL=0 (Bad IPs are'nt banned, good for interactive execution of script)
##### KILL=1 (Recommended setting)
KILL=1 //是否屏蔽IP,默认即可
##### An email is sent to the following address when an IP is banned.
##### Blank would suppress sending of mails
EMAIL_TO="root" //当IP被屏蔽时给指定邮箱发送邮件,推荐使用,换成自己的邮箱即可
##### Number of seconds the banned ip should remain in blacklist.
BAN_PERIOD=600 //禁用IP时间,默认600秒,可根据情况调整
试用了一会,感觉还不错,比我以前用的分析nginx日志封IP的脚本要好些,假如几个虚拟主机使用不同的网站日志,就必须运行几个分析日志的脚本,
这个脚本就用一个就可以把整个服务器保护起来了。但这个也存在一些问题,刚开始的时候把mysql服务器给封掉了,搞的我手忙脚乱的解封,
然后把mysql服务器IP添加白名单,谁知过会他过了段时间又把白名单删除了,又给mysql服务器封了,不得以卸载了一次。
研究了一下代码才发现,他禁止的IP也添加到白名单里,然后解封的时候通过tmp目录里的unban.xxxxx文件将白名单里禁止的IP再删除,
这样这个IP就不再受保护。所以我把mysql服务器IP添加白名单之后程序根据这个BAN_PERIOD=600 参数在10分钟后删除,所以就出现了你恢复他继续封的怪圈,白名单设置文件应该和禁止解禁这个IP记录文件分开就好了。
使用心得:
安装后第一时间要将白名单设置好,最好观察一段时间看是不是正常,以免一些和服务器需要保持连接的IP被封,比如mysql服务器,rsync备份服务器等等,这些机器往往都需要和网站服务器保持大量连接
另外假如采用CDN加速不适于用这脚本,cdn节点缓存服务器IP百分百会被他封掉。
pythonddos防御_一个自动封IP防御DDOS脚本相关推荐
- 4. 自动封IP和解IP
对于web服务器来说,出现最普遍的问题就是网站访问慢甚至访问不到,到服务器上查看后得出的结论是,这个网站被CC攻击了.什么是CC攻击?CC攻击属于DDos攻击的一种,攻击者会利用大量被劫持的" ...
- 如何做一个自动重复发消息的脚本
我们可以使用vbs来写一个自动重复发消息的脚本,VBS是基于Visual Basic的脚本语言.VBS的全称是:Microsoft Visual Basic Script Edition.(微软公司可 ...
- 设置固定ip,还有一个自动分配ip
win7设置固定IP过后为什么会出现2个IP,其中一个是自动获取的IP另一个是手动设置的IP,从而导致无法上网 同一局域网,别的电脑把134地址占用了,自己用不了,只能自动获取IP,所以就出现两个IP ...
- 笔记本HTML刷新页面在哪,笔记本电脑ip地址查询_笔记本自动获得ip地址在哪儿?-192路由网...
问:笔记本电脑IP地址怎么查询? 笔记电脑上的时候,把IP地址设置成了 自动获得. 那么自动获得的IP地址是多少?怎么查看到笔记本电脑自动获得的IP地址信息? 答:不同操作系统的笔记本电脑,查看自动获 ...
- Linux自动封ip,Linux上基于配置文件封ip简单实践
用iptabels封ip 假设封ip 54.95.192.213 iptables -I INPUT -p tcp -s 54.95.192.213 -i eth0 -j DROP 用nginx配置文 ...
- 技术改变生活--切换固定IP和自动分配IP地址的脚本
公司给分配的电脑,总是自动重启,无奈自己天天背着本去上班!!更无奈的是,公司的网是固定IP,寝室的网是自动获取IP的(DHCP),每天到公司或者中午.晚上回寝室都得切换IP,很是麻烦,再装一个或者写一 ...
- 一键切换固定IP地址和自动分配IP地址的脚本
<style type="text/css"> <!-- p {text-indent:2em} --> </style> 公司给分配的电脑,总 ...
- topic数量是指什么_一个网站的IP、UV和PV到底是什么
在百度统计后台会看到"IP统计"."UV统计"."PV统计",那么.什么是IP,什么是UV,什么又是PV,三者之间有什么关系,IP重要,还是 ...
- 一个自动设置游戏房间的脚本
最近迷上了带四消极打五疯狂,每开一盘都要重新设置电脑,十分麻烦.所以我用按键精灵做了一个脚本,自动添加电脑. 脚本是这样写的,适用1366*768的长宽比: MoveTo 1081,166 LeftC ...
- 如何写一个自动重复发消息的脚本,聪哥手把手教你(适配任何可发消息的app),亲测有效
1.复制下面的代码 Set WshShell= WScript.CreateObject("WScript.Shell") WshShell.AppActivate "& ...
最新文章
- windows server 驱动精灵_大神教你如何在Win10中检查磁盘驱动器错误
- mysql 创建外键索引吗_索引-MySQL无法创建外键约束
- ActiveMQ 消息持久化到Mysql数据库
- 一句话概括互联网巨头,简直不要太真实!哈哈哈哈哈哈哈哈哈
- 并发工具类【线程安全相关的类】
- Android Studio 创建第一个项目应用
- c++ gdb 绑定源码_2020重学Go系列:30. 非常详细的 Go 语言 GDB 调试指南
- 大数据之-Hadoop之HDFS_HDFS_副本数量设置---大数据之hadoop工作笔记0053
- python类型转换方法_Numpy数据类型转换astype,dtype的方法
- Oracle创建用户、授权、规则
- Python实现鼠标自动在屏幕上随机移动
- HTML鼠标移到a上面让a变色
- 非功能需求分析--web开发课内实例
- Chrome添加扩展程序
- SpringBoot登录验证码实现
- python基础教程:__call__用法
- 怎样成为一个高级JAVA工程师
- 计算机网络技术网络建设小结,计算机网络精品课程建设总结报告.doc
- web前端网页美化重器-------css
- 对未来计算机网络的展望作文300,2017年关于网络的300字作文篇我与网络
热门文章
- 准备系统地学习一下Python
- ie6下的iframe,问题多多。
- mysql导入hdfs参数_导入数据到HDFS
- 小程序学习笔记(8)-导航组件
- web平台安装程序 无效的uri_计算机二级Web(1):Web技术基础(上)
- multipartfile获取文件路径_已知路径,通用获取文件名、后缀、类型
- docker 镜像源_前端 Docker 镜像体积优化
- mac brew 测速 软件_敏捷过程中的软件持续建模
- centos7 python2换成python3后,yum报错解决
- 曼彻斯特编码_网络工程师考点集锦(数字编码和编码效率)