DDOS防御之IPTABLES应用
实验环境
攻击机:192.168.92.128,已安装slowhttptest
靶机:192.168.92.129,已安装apache httpd,开启iptables服务
实验步骤
一、配置iptables
以下操作使用靶机执行
# 开启iptables |
配置iptables
防护规则
# 新建一个链 |
攻击机发起syn攻击
以下操作使用攻击机执行
hping3 --rand-source -S -p 80 192.168.92.129 --flood |
观察攻击效果
以下操作使用靶机执行
netstat -ant | more |
可以看到服务器一很多的SYN_RECV
半连接
限制同一IP的连接数
以下操作使用靶机执行
重启iptables,就会自动删除上面配置的规则
iptables -I INPUT -p tcp -m tcp --dport 80 -j ACCEPT |
使用攻击机,发起slowhttptest攻击
以下操作使用攻击机执行
slowhttptest -c 10000 -B -i 5 -r 200 -u http://192.168.92.129 -p 3 > 1.txt & |
slowhttptest工具执行慢速HTTP攻击测试。模拟攻击者发送大量低速HTTP请求以尝试耗尽服务器资源或导致服务不可用。
下面是命令的各个部分的解释:
slowhttptest
: 这是慢速HTTP攻击测试工具的命令。-c 10000
: 这部分指定要发送的HTTP请求的数量,这里是10000个。-B
: 这是一个选项,表示在每个请求之间包括一些不完整的请求头,模拟慢速请求。-i 5
: 这部分指定了请求之间的延迟,以毫秒为单位。在这里,延迟为5毫秒。-r 200
: 这是一个选项,指定了每个请求的速率,即每秒发送200个请求。-u http://192.168.0.116
: 这部分指定了目标URL,即HTTP请求将发送到的服务器地址。-p 3
: 这是一个选项,指定了要使用的HTTP请求方法,这里是3(POST方法)。> 1.txt
: 这部分将命令的输出重定向到名为1.txt
的文本文件中,以保存测试结果。&
: 这是一个后台运行的符号,它使命令在后台运行,以便您可以继续使用终端。
测试网站是否正常
其他知识
删除iptables的规则
方法 1: 按规则号删除
如果要删除规则号为3的规则,可以执行以下命令:
iptables -D INPUT 3 |
方法 2: 按匹配条件删除
如果您不知道规则号,可以使用匹配条件删除规则。这需要您提供要匹配的规则的匹配条件,然后删除匹配的规则。
例如,如果您知道要删除具有特定源IP地址的规则,可以执行以下命令:
iptables -D INPUT -s 192.168.1.100 -j ACCEPT |
这将删除匹配源IP地址为192.168.1.100
并采取ACCEPT
动作的规则。
方法 3: 清空链
如果您想要删除特定链中的所有规则,可以使用-F
选项清空该链。例如:
iptables -F INPUT |
这将清空INPUT
链中的所有规则。