1. 选择合适的防火墙工具
Debian系统有多种防火墙工具可选,其中**UFW(Uncomplicated Firewall)**是默认推荐的选择,尤其适合初学者和中低端服务器。它简化了iptables的复杂命令,提供直观的接口;iptables/nftables则适合高级用户,支持更灵活的规则配置(如端口转发、IP伪装)。根据需求选择工具:基础防护用UFW,高级需求用iptables/nftables。
2. 设置严格的默认策略
默认策略是防火墙的第一道防线,应遵循“拒绝所有未明确允许的流量”原则:
sudo ufw default deny incoming
(拒绝所有入站连接)、sudo ufw default allow outgoing
(允许所有出站连接);sudo iptables -P INPUT DROP
(拒绝所有入站)、sudo iptables -P OUTPUT ACCEPT
(允许所有出站)。3. 仅开放必要端口和服务
根据服务器用途,仅开放必需的网络端口,关闭不必要的服务。例如:
sudo ufw allow 22/tcp
(SSH)、sudo ufw allow 80/tcp
(HTTP);使用iptables命令示例:sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
(HTTP)。4. 限制访问源,减少攻击面
通过IP地址或网络范围限制访问,仅允许可信来源连接关键服务:
sudo ufw allow from 192.168.1.100
(允许单个IP)、sudo ufw allow from 192.168.1.0/24
(允许子网);sudo iptables -A INPUT -p tcp --dport 22 -s 192.168.1.100 -j ACCEPT
(仅允许192.168.1.100访问SSH)。5. 启用日志记录,便于监控与排查
日志是排查防火墙问题和检测异常流量的关键。启用UFW日志:sudo ufw logging on
(日志保存在/var/log/ufw.log
);启用iptables日志:sudo iptables -A INPUT -j LOG --log-prefix "Dropped Packet: "
(日志保存在/var/log/kern.log
或/var/log/syslog
)。
通过sudo tail -f /var/log/ufw.log
实时监控日志,及时发现可疑连接(如频繁的端口扫描、暴力破解)。
6. 定期备份与恢复规则
防火墙规则是系统安全的重要组成部分,需定期备份以防止误删除或系统故障:
sudo ufw export > /etc/ufw/backup_rules.txt
;sudo iptables-save > /etc/iptables/rules.v4
。sudo ufw import < /etc/ufw/backup_rules.txt
,iptables使用sudo iptables-restore < /etc/iptables/rules.v4
。确保备份文件存储在安全位置(如加密磁盘)。7. 测试规则有效性,避免锁自己出门
修改防火墙规则前,务必在测试环境验证,避免误操作导致无法远程访问(如SSH端口被误拦截)。例如,先在本地测试SSH连接,再应用规则;或通过控制台(如云服务器的控制台)临时访问,确保规则正确。
使用UFW时,可通过sudo ufw status verbose
查看规则是否生效;使用iptables时,通过sudo iptables -L -n -v
查看规则列表。
8. 结合其他安全措施,提升整体防护
防火墙并非孤立的安全工具,需与其他措施配合使用:
PasswordAuthentication no
);sudo apt update && sudo apt upgrade -y
,修复安全漏洞;