利用iptables提升系统安全性的方法主要包括以下几个方面:
默认拒绝所有流量:
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT
这样可以确保只有明确允许的流量才能通过。
只允许必要的端口和服务: 根据实际需求,开放必要的端口和服务,例如SSH(22)、HTTP(80)、HTTPS(443)等。
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 443 -j ACCEPT
echo 1 > /proc/sys/net/ipv4/tcp_syncookies
或者在/etc/sysctl.conf中添加:net.ipv4.tcp_syncookies = 1
然后运行sysctl -p使其生效。limit模块:iptables -A INPUT -p tcp --syn -m limit --limit 1/s -j ACCEPT
iptables -A INPUT -p tcp --syn -j DROP
这样可以防止恶意用户通过大量SYN请求耗尽服务器资源。iptables -A INPUT -s 192.168.1.100 -j DROP
或者使用ipset来管理多个IP地址的黑名单。iptables -A INPUT -m limit --limit 5/min -j LOG --log-prefix "IPTables-Dropped: " --log-level 4
iptables -A INPUT -j DROP
这样可以监控并记录潜在的攻击行为。ufw(Uncomplicated Firewall)ufw。sudo ufw enable
sudo ufw allow 22/tcp
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
iptables-save > /etc/iptables/rules.v4
iptables-save和iptables-restore命令实现,或者使用iptables-persistent包。通过以上方法,你可以显著提升系统的安全性。记得定期审查和更新你的安全策略,以应对不断变化的威胁环境。