在Linux系统中,可以使用iptables或firewalld等工具来配置防火墙规则,以阻止恶意攻击。以下是使用这两种工具的基本步骤:
查看当前iptables规则:
sudo iptables -L -n -v
允许必要的端口和服务: 确保只开放必要的端口和服务,关闭不必要的端口。
阻止特定IP地址或范围: 例如,阻止某个IP地址的访问:
sudo iptables -A INPUT -s 192.168.1.100 -j DROP
阻止特定端口: 例如,阻止TCP端口80和443以外的所有HTTP/HTTPS流量:
sudo iptables -A INPUT -p tcp --dport 80 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 443 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 80 -j DROP
sudo iptables -A INPUT -p tcp --dport 443 -j DROP
阻止SYN Flood攻击:
sudo iptables -A INPUT -p tcp --syn -m limit --limit 1/s -j ACCEPT
sudo iptables -A INPUT -p tcp --syn -j DROP
保存iptables规则: 不同的Linux发行版保存iptables规则的方法不同。例如,在Debian/Ubuntu上:
sudo sh -c "iptables-save > /etc/iptables/rules.v4"
在CentOS/RHEL上:
sudo service iptables save
查看当前firewalld状态:
sudo firewall-cmd --state
允许必要的端口和服务: 例如,允许HTTP和HTTPS流量:
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
阻止特定IP地址或范围: 例如,阻止某个IP地址的访问:
sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.100" reject'
重新加载firewalld配置:
sudo firewall-cmd --reload
查看firewalld规则:
sudo firewall-cmd --list-all
/var/log/auth.log
、/var/log/syslog
等,以便及时发现异常活动。通过以上步骤,可以有效地使用Linux防火墙来阻止恶意攻击。