最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
linux下利用iptables防Ddos攻击配置
时间:2022-11-14 22:08:21 编辑:袖梨 来源:一聚教程网
使用iptables 设定单个客户机的指定时间内发起最大连接数请求,超过限制的直接DROP
| 代码如下 | 复制代码 |
|
iptables -A INPUT -p tcp –dport 80 -m state –state NEW -m recent –set –name WEB |
|
上例??0秒内20次
配置相应的iptables脚本
| 代码如下 | 复制代码 |
|
#!/bin/sh REPEAT_CONNECT_IP=`less $LOGFILE|awk '{print $5}'|cut -f1 -d ':'|sort|uniq -d |tee > $LOGFILE_IP` if [ -f $DROP_IP_LOG ];then for i in `less $LOGFILE_IP`;do ALL_CONNECT=`uniq -u $LOGFILE|wc -l` |
|
3.利用shell脚本
1、Shell脚本
| 代码如下 | 复制代码 |
|
#!/bin/bash for i in $(cat /tmp/dropip) |
|
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