DDOS 攻击是指分布式拒绝服务(Distributed Denial of Service,简称 DDoS)攻击,是一种以消耗大量网络带宽、服务器资源为目的的网络攻击方式,通过向目标服务器发送大量的请求,造成服务器无法正常运行或彻底瘫痪。常见的 DoS 攻击包括 ICMP Flood、SYN Flood、UDP Flood 和 ACK Flood 等。
而 iptables 是 Linux 系统中内置的一套防火墙规则,可以通过配置规则来对流量进行过滤、限制等操作,以达到限制 DoS 和 DDoS 攻击的效果。
防范 DDoS 攻击的 iptables 脚本如下:
#!/bin/bash
# 定义流量阈值
bandwidth_limit_kb=1024000
# 定义匹配 DDoS 攻击的 IP 地址和端口
ip_address="133.254.73.98"
port_number="80"
# 启用 iptables 防火墙规则,并设置默认策略
sudo iptables -t raw -A PREROUTING -p tcp -s $ip_address:$port_number --dport $port_number -j NOTRACK
sudo iptables -t raw -A PREROUTING -p tcp -m limit --limit $(echo "scale=0; $bandwidth_limit_kb/1024" | bc) -j DROP
# 如果检测到异常流量,则根据攻击类型进行调整
sudo iptables -t raw -A PREROUTING -p tcp -s $ip_address:$port_number --dport $port_number -j REJECT
该脚本首先设置流量阈值为10 MB,然后匹配 DDoS 攻击的 IP 地址和端口,并将其放入PREROUTING链表中,最后通过echo命令和bc命令进行流量限制和阈值的设置。如果流量超过限制,则直接将流量丢弃。
在实际应用中,可以将脚本添加到 cron 定期执行,以保证及时发现并处理 DoS 和 DDoS 攻击。同时,在使用此脚本时,需要根据自身实际情况进行调整和优化。
领取专属 10元无门槛券
手把手带您无忧上云