云服务器Ubuntu UFW防火墙安全防护配置指南
文章分类:技术文档 /
创建时间:2025-09-25
在云服务器的日常运维中,安全防护是绕不开的核心环节。对于Ubuntu系统用户来说,自带的UFW(Uncomplicated Firewall,简单防火墙)工具堪称“入门级安全利器”——它用更友好的交互逻辑简化了传统iptables的复杂操作,即使是新手也能快速上手配置基础防护规则。本文将从安装到实战,带你一步步掌握云服务器Ubuntu UFW防火墙的配置技巧。
先查状态再动手:UFW安装与初始检查
大多数Ubuntu镜像(如20.04/22.04 LTS)已预装UFW,但仍建议首次登录云服务器后先确认状态。打开终端输入命令:
sudo ufw status
若输出“Status: inactive”,说明防火墙未启用;若提示“command not found”,则需通过“sudo apt-get install ufw”完成安装。曾遇到用户反馈新买的云服务器开放22端口后仍无法SSH连接,排查发现是UFW未启用导致。这提醒我们,配置前先确认防火墙状态很重要。
定基调设关卡:基础规则配置逻辑
UFW的核心是“白名单机制”——默认拒绝所有不确定的连接,仅放行明确允许的服务。这就像给云服务器设置“数字门禁”,只有持“端口钥匙”的请求才能进入。
首先设置默认策略:
sudo ufw default deny incoming # 拒绝所有入站连接(外部主动访问)
sudo ufw default allow outgoing # 允许所有出站连接(内部主动访问外部)
这一步相当于给云服务器关上“默认大门”,只留需要开放的“窗口”。
接着根据业务需求放行端口。比如搭建Web服务需开放HTTP(80)和HTTPS(443):
sudo ufw allow 80/tcp # 放行TCP协议的80端口(HTTP)
sudo ufw allow 443/tcp # 放行TCP协议的443端口(HTTPS)
若需远程管理云服务器,别忘了放行SSH默认端口22:
sudo ufw allow 22/tcp
动态调整保安全:规则管理与删除
业务变化时,防火墙规则也需灵活调整。想查看当前所有规则?输入:
sudo ufw status numbered
命令会列出带编号的规则列表,例如:
Status: active
To Action From
-- ------ ----
[1] 22/tcp ALLOW Anywhere
[2] 80/tcp ALLOW Anywhere
[3] 443/tcp ALLOW Anywhere
若要删除某条规则(如误放行的多余端口),直接使用编号操作:
sudo ufw delete 3 # 删除编号为3的规则(即443端口放行规则)
需注意:某企业运维人员曾误删SSH端口规则,导致所有远程连接中断,最终通过云服务器控制台的Web终端重新添加规则才恢复。因此操作前建议记录关键规则用途,避免误删。
启用验证双保险:确保规则生效
完成规则配置后,输入以下命令启用UFW:
sudo ufw enable
系统会提示“Command may disrupt existing SSH connections. Proceed with operation (y|n)?”,建议通过云服务器控制台的Web终端(如VNC)操作,避免本地SSH连接中断导致无法补救。
启用后再次检查状态:
sudo ufw status
应显示“Status: active”及已配置的规则。若需进一步验证,可通过外部主机使用nmap工具测试端口是否开放:
nmap -p 22,80 云服务器公网IP
若输出“22/tcp open ssh”“80/tcp open http”,说明规则已正确生效。
掌握UFW的基础配置后,云服务器的安全防护便迈出了关键一步。后续可结合日志分析(通过“sudo ufw logging on”启用日志)和定期规则审计,进一步提升防护能力。记住,安全是动态过程,根据业务需求及时调整规则,才能为云服务器筑牢安全屏障。