Ubuntu服务器安全配置:使用firewalld实现网络访问控制

狂野之心 +0/-0 0 0 正常 2025-12-24T07:01:19 网络访问控制

在Ubuntu服务器环境中,firewalld作为默认的防火墙管理工具,为系统提供了灵活的网络访问控制能力。本文将通过具体案例展示如何配置firewalld来实现安全的网络访问控制。

首先,确保firewalld服务已安装并启用:

sudo apt update
sudo apt install firewalld
sudo systemctl enable firewalld
sudo systemctl start firewalld

接下来,配置基础规则。假设服务器需要开放SSH(22端口)和HTTPS(443端口),同时限制其他所有入站连接:

# 设置默认区域为拒绝策略
sudo firewall-cmd --set-default-zone=drop

# 允许本地回环通信
sudo firewall-cmd --add-interface=lo --permanent

# 允许SSH访问
sudo firewall-cmd --add-service=ssh --permanent

# 允许HTTPS访问
sudo firewall-cmd --add-service=https --permanent

# 重新加载配置
sudo firewall-cmd --reload

更精细的控制可以通过源地址限制实现。例如,仅允许特定网段访问Web服务:

# 添加自定义端口规则
sudo firewall-cmd --add-port=80/tcp --permanent
sudo firewall-cmd --add-port=443/tcp --permanent

# 仅允许192.168.1.0/24网段访问HTTP/HTTPS
sudo firewall-cmd --direct --add-rule ipv4 filter INPUT 0 -s 192.168.1.0/24 -p tcp --dport 80 -j ACCEPT
sudo firewall-cmd --direct --add-rule ipv4 filter INPUT 0 -s 192.168.1.0/24 -p tcp --dport 443 -j ACCEPT

验证配置的有效性:

# 查看当前规则
sudo firewall-cmd --list-all

# 检查特定端口状态
sudo ss -tuln | grep :80

通过以上配置,服务器实现了最小化权限原则,仅开放必需的服务端口,有效降低了攻击面。建议定期审查防火墙规则,确保安全策略与业务需求相匹配。

推广
广告位招租

讨论

0/2000
Ethan886
Ethan886 · 2026-01-08T10:24:58
firewalld配置确实比iptables更友好,但别忘了定期check规则,不然容易因策略堆积导致性能问题。建议用--list-rules配合grep筛选关键端口。
SpicySteve
SpicySteve · 2026-01-08T10:24:58
默认drop策略很酷,但记得提前开SSH通道,否则可能直接锁死自己。我习惯先加个临时白名单再切换zone,避免操作失误。
WellWeb
WellWeb · 2026-01-08T10:24:58
源地址限制那块用direct规则不错,不过要注意顺序,优先级高的规则放前面,不然可能被低优先级的拦截了。
紫色茉莉
紫色茉莉 · 2026-01-08T10:24:58
验证部分可以加个脚本定时巡检,比如用nmap扫描开放端口,确保防火墙规则生效。生产环境不能靠手动check