使用Linux防火墙(如iptables或firewalld)阻止恶意攻击是一种有效的安全措施。以下是一些基本步骤和策略,帮助你配置防火墙以增强系统安全性:
更新iptables规则:
sudo apt update && sudo apt upgrade iptables。默认策略:
sudo iptables -P INPUT DROP
sudo iptables -P FORWARD DROP
sudo iptables -P OUTPUT ACCEPT
允许必要的流量:
sudo iptables -A INPUT -p tcp --dport 22 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
sudo iptables -A OUTPUT -p tcp --sport 22 -m conntrack --ctstate ESTABLISHED -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 80 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
sudo iptables -A OUTPUT -p tcp --sport 80 -m conntrack --ctstate ESTABLISHED -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 443 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
sudo iptables -A OUTPUT -p tcp --sport 443 -m conntrack --ctstate ESTABLISHED -j ACCEPT
限制连接数:
sudo iptables -A INPUT -p tcp --syn -m connlimit --connlimit-above 5 -j DROP
保存规则:
iptables-persistent:sudo apt install iptables-persistent
sudo netfilter-persistent save
sudo netfilter-persistent reload
安装firewalld:
sudo apt update && sudo apt install firewalld
启动并启用firewalld:
sudo systemctl start firewalld
sudo systemctl enable firewalld
配置默认区域:
sudo firewall-cmd --set-default-zone=drop
sudo firewall-cmd --permanent --zone=trusted --add-interface=lo
sudo firewall-cmd --permanent --zone=trusted --add-source=127.0.0.1
sudo firewall-cmd --reload
允许SSH连接:
sudo firewall-cmd --permanent --zone=trusted --add-service=ssh
sudo firewall-cmd --reload
允许HTTP/HTTPS流量:
sudo firewall-cmd --permanent --zone=trusted --add-service=http
sudo firewall-cmd --permanent --zone=trusted --add-service=https
sudo firewall-cmd --reload
限制连接数:
通过这些步骤,你可以显著提高Linux系统的安全性,有效阻止恶意攻击。