意见箱
恒创运营部门将仔细参阅您的意见和建议,必要时将通过预留邮箱与您保持联络。感谢您的支持!
意见/建议
提交建议
配置详情
本产品仅限新用户首购专享!每人限购1台,续费5折
当前配置
数据中心: {{ getconfigInfoArea(productDetailInfo) }}
套餐规格: 2 核 2 G
带宽:
系统盘 {{ validateMySplit(ProductVM.getProductappointInfoBykey(productDetailInfo,'云系统盘'),'|',1) }} 性能型
IP 数 1 个
可选配置
操作系统:
VPC:
安全组:
购买时长:
1 月
我已阅读并同意《恒创科技服务协议》
购买前请阅读协议并勾选同意

Ubuntu防火墙配置全攻略:从基础到高级的防护策略

来源:佚名 编辑:佚名
2026-02-15 23:26:09

一、为什么需要配置Ubuntu防火墙?

在云计算和容器化盛行的今天,Ubuntu服务器作为企业级应用的基础平台,其安全性至关重要。防火墙作为第一道安全防线,能够有效控制入站/出站流量,防止未授权访问。根据2023年SANS Institute报告,78%的服务器入侵事件源于未正确配置的防火墙规则。

二、Ubuntu防火墙核心组件解析

Ubuntu默认使用netfilter/iptables框架,但更推荐使用其前端工具ufw(Uncomplicated Firewall)或nftables(新一代替代方案)。以下是三者的对比:

特性 iptables ufw nftables
学习曲线 陡峭 平缓 中等
性能 中(依赖iptables) 最高
语法复杂度 ★★★★☆ ★☆☆☆☆ ★★★☆☆
推荐场景 高级用户/复杂规则 新手/简单配置 新项目/高性能需求

三、ufw实战配置指南

1. 基础操作

sudo ufw status # 查看当前状态 sudo ufw enable # 启用防火墙(开机自启) sudo ufw disable # 禁用防火墙 sudo ufw reset # 重置所有规则

2. 允许/拒绝流量

sudo ufw allow 22/tcp # 允许SSH(TCP端口22) sudo ufw deny 80/tcp # 拒绝HTTP(TCP端口80) sudo ufw allow from 192.168.1.100 to any port 3306 # 允许特定IP访问MySQL

3. 应用配置文件(推荐)

Ubuntu为常见服务提供了预置规则:

sudo ufw app list # 查看可用应用配置 sudo ufw allow OpenSSH # 允许SSH服务 sudo ufw allow Nginx Full # 允许Nginx完整访问(HTTP+HTTPS)

四、高级场景:nftables配置

对于需要更高性能和更灵活规则的场景,nftables是更好的选择。以下是典型配置示例:

# 创建基本规则集 sudo nft add table inet filter sudo nft add chain inet filter input { type filter hook input priority 0 ; } sudo nft add chain inet filter forward { type filter hook forward priority 0 ; } sudo nft add chain inet filter output { type filter hook output priority 0 ; } # 允许已建立的连接 sudo nft add rule inet filter input ct state established,related accept # 允许本地回环 sudo nft add rule inet filter input iifname lo accept # 拒绝无效包 sudo nft add rule inet filter input ct state invalid drop # 允许SSH(需保存规则:nft list ruleset > /etc/nftables.conf) sudo nft add rule inet filter input tcp dport 22 accept

五、生产环境最佳实践

安全建议:
1. 始终先在测试环境验证规则
2. 启用日志记录:sudo ufw logging on
3. 定期审计规则:sudo ufw status numbered
4. 结合Fail2Ban实现动态防护

FAQ常见问题大全

Q1: 配置防火墙后无法远程连接怎么办?

A1: 首先检查是否允许了SSH端口(默认22)。可通过控制台登录后执行sudo ufw status确认规则。紧急情况下可进入恢复模式禁用防火墙。

Q2: 如何允许ICMP(ping)请求?

A2: 执行sudo ufw allow icmp或针对nftables添加规则:sudo nft add rule inet filter input icmp type echo-request accept

Q3: 防火墙规则是否会影响出站流量?

A3: 默认情况下ufw不限制出站流量。如需控制,需显式配置:sudo ufw default deny outgoing,然后逐个允许必要服务。

Q4: 如何备份和恢复防火墙规则?

A4: ufw规则存储在/etc/ufw/目录,可直接备份该文件夹。nftables规则可通过nft list ruleset > backup.nft备份。

Q5: 防火墙与云平台安全组冲突怎么办?

A5: 需协调两者规则,建议:1) 在云平台设置最宽松的必要规则 2) 在服务器防火墙实现细粒度控制 3) 定期对比两者规则差异。

本网站发布或转载的文章均来自网络,其原创性以及文中表达的观点和判断不代表本网站。
上一篇: Windows远程连接Ubuntu全攻略:从SSH到图形界面全解析 下一篇: Ubuntu删除文件命令全解析:从基础到进阶的10种方法