1、Shell脚本
#!/bin/bash
/bin/netstat -na |grep ESTABLISHED |awk ‘{print $5}’ |awk -F : ‘{print $1}’ | sed ‘/^$/d’ |sort|uniq -c|sort -rn|head -n 10|grep -v -E ’192.168|127.0′ |sed ‘/^$/d’ |awk ‘{if ($2!=null && $1>10);{print $2}}’>/tmp/dropipfor 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.sh3.添加到计划任务,每分钟执行一次
crontab -e
*/1 * * * * /root/bin/dropip.sh说明:
以上脚本比较简单,但很实用,最重要的是第二行,获取ESTABLISHED连接数最多的前10个ip并写入临时文件/tmp/dropip,排除了内部ip段192.168|127.0开头的.通过for循环将dropip里面的ip通过iptables全部drop掉,然后写到日志文件/var/log/ddosIBM Tivoli Endpoint Manager 超长POST参数缓冲区溢出漏洞Linux下防御/减轻DDOS攻击相关资讯 Linux Shell
- Linux Shell 使用笔记 (今 17:03)
- Linux shell数组 (07月26日)
- Linux Shell实现批量关闭局域网中 (03月10日)
| - Linux基础知识:shell基础命令 (09月06日)
- Linux系统监控shell脚本 (04月09日)
- Linux shell脚本编程 (03月01日)
|
本文评论 查看全部评论 (0)