防DDOS攻击SHELL脚本
2016-05-09 11:04
639 查看
最近一段时间服务器频繁遭到DDOS攻击,目前只能通过封IP来源来暂时解决。IP不源变化多端,光靠手工来添加简直是恶梦,想了个方法,用SHELL来做。
比较简单,但很实用:) 以下内容根据作者原文进行适当的修改:)
1.编写脚本
2.增加执行权限
chmod +x /root/bin/dropip.sh
3.添加到计划任务,每分钟执行一次
crontab -e
*/1 * * * * /root/bin/dropip.sh
说明:
以上脚本比较简单,但很实用,最重要的是第二行,获取ESTABLISHED连接数最多的前10个ip并写入临时文件/tmp/dropip,排除了 内部ip段192.168 - 127.0开头的.通过for循环将dropip里面的ip通过iptables全部drop掉,然后写到日志文件/var/log/ddos
比较简单,但很实用:) 以下内容根据作者原文进行适当的修改:)
1.编写脚本
mkdir /root/bin vi /root/bin/dropip.sh #!/bin/bash /bin/netstat -nagrep ESTABLISHED awk ‘{print }’awk -F: ‘{print }’sortuniq -csort -rnhead -10grep -v -E ’192.168 127.0′awk ‘{if (!=null && >4) {print }}’>/tmp/dropip for i in $(cat /tmp/dropip) do /sbin/iptables -A INPUT -s $i -j DROP echo "$i kill at `date`">>/var/log/ddos done
2.增加执行权限
chmod +x /root/bin/dropip.sh
3.添加到计划任务,每分钟执行一次
crontab -e
*/1 * * * * /root/bin/dropip.sh
说明:
以上脚本比较简单,但很实用,最重要的是第二行,获取ESTABLISHED连接数最多的前10个ip并写入临时文件/tmp/dropip,排除了 内部ip段192.168 - 127.0开头的.通过for循环将dropip里面的ip通过iptables全部drop掉,然后写到日志文件/var/log/ddos
相关文章推荐
- shell笔记
- Android 代码执行Linux Shell小记
- MySQL 自动备份 Shell 脚本
- sed命令详解
- 重复调用ab命令的shell代码和整理ab结果的java代码
- [sh]shell案例
- Shell脚本学习笔记-循环结构
- Linux学习之shell基础
- 玩转变量、环境变量以及数学运算(shell)
- shell学习(二)变量
- shell学习(三)运算符
- erlang shell清屏命令
- 算法实现之直接插入排序与shell排序
- Xshell与securecrt对比(转)
- Linux系统中shell使用知多少
- shell---------Debug模式
- Shell脚本编程入门到放弃
- shell编程总结
- shell简单使用(三)函数
- 与bash script脚本自动化交互