在Linux系统中,使用防火墙(如iptables或firewalld)可以有效地防止服务拒绝攻击(DoS攻击)。以下是一些具体的步骤和策略:
限制连接速率
iptables -A INPUT -p tcp --syn -m limit --limit 1/s --limit-burst 3 -j ACCEPT
iptables -A INPUT -p tcp --syn -j DROP
这条规则限制每秒只能接受一个SYN包,超过这个数量的包将被丢弃。
限制并发连接数
iptables -A INPUT -p tcp --syn -m connlimit --connlimit-above 5 -j DROP
这条规则限制每个IP地址最多只能有5个并发TCP连接。
使用SYN Cookies
echo 1 > /proc/sys/net/ipv4/tcp_syncookies
丢弃无效数据包
iptables -A INPUT -m state --state INVALID -j DROP
限制特定端口的访问
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 443 -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -j DROP
安装firewalld
sudo yum install firewalld
启动并启用firewalld
sudo systemctl start firewalld
sudo systemctl enable firewalld
配置防火墙规则
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --permanent --add-service=ssh
sudo firewall-cmd --reload
限制连接速率
使用fail2ban
sudo yum install fail2ban
sudo systemctl start fail2ban
sudo systemctl enable fail2ban
通过上述措施,可以显著提高Linux系统的安全性,有效防止服务拒绝攻击。