Linux防火墙配置要点如下:
-
选择工具
- iptables:适合精细控制,需熟悉语法(传统工具)。
- ufw:Ubuntu默认,简化配置,适合新手。
- firewalld:CentOS默认,支持动态规则和区域管理。
- nftables:iptables替代品,性能更优,语法简洁(推荐新系统)。
-
基础配置原则
- 默认拒绝:默认拒绝所有入站流量,按需开放必要端口(如SSH 22、HTTP 80/443)。
- 最小权限:仅允许特定IP或网段访问敏感服务(如数据库)。
- 服务/端口管理:通过
add-service或add-port开放必要服务,避免暴露非必要端口。
-
安全增强配置
- 限制SSH访问:修改默认端口(如10000+)、禁用root登录、启用密钥认证。
- 防范攻击:限制ICMP请求(如禁止ping)、设置SYN洪水防护。
- 日志与监控:开启防火墙日志记录,定期分析异常流量。
-
高级功能
- IP白名单/黑名单:通过富规则(
add-rich-rule)允许/拒绝特定IP或网段。
- 端口转发与NAT:配置内网服务通过公网端口访问(需配合内核参数)。
- 动态规则:使用
firewalld的runtime-to-permanent保存临时规则。
-
维护与更新
- 定期审查:清理冗余规则,更新防火墙工具及系统补丁。
- 备份规则:保存规则配置文件,便于快速恢复。
工具参考命令:
- iptables:
iptables -L(查看规则)、iptables -A INPUT -p tcp --dport 22 -j ACCEPT(允许SSH)。
- ufw:
ufw allow 22/tcp(允许SSH)、ufw deny from 192.168.1.1(拒绝IP)。
- firewalld:
firewall-cmd --add-service=ssh --permanent(允许SSH)、firewall-cmd --reload(重载规则)。
注:配置前建议备份现有规则,测试环境验证后再应用到生产环境。