Ubuntu防火墙(UFW)禁用特定服务的操作步骤
禁用服务前需确保UFW处于激活状态,避免规则未生效。执行以下命令启用防火墙并设置默认拒绝所有外部访问(增强安全性):
sudo ufw enable # 开启防火墙(系统启动时自动启用)
sudo ufw default deny # 设置默认策略:拒绝所有外部对本机的入站连接,允许本机访问外部
UFW通过“服务名称”或“端口+协议”识别规则,需先确认要禁用的服务对应的信息:
/etc/services文件查询(系统自带):cat /etc/services | grep "服务名称"(如smtp),输出结果会显示服务的端口和协议(如smtp 25/tcp表示SMTP服务使用25端口、TCP协议)。sudo ufw status,会列出当前允许的所有服务及对应端口(仅显示已配置的规则)。使用sudo ufw deny命令+服务名称或端口/协议组合,禁止外部访问该服务:
sudo ufw deny smtp
/etc/services中定义的服务):sudo ufw deny 8080/tcp
若需禁用UDP协议,将tcp替换为udp即可(如sudo ufw deny 53/udp禁用DNS服务的UDP端口)。执行sudo ufw status查看防火墙规则列表,确认目标服务的禁用规则已添加(显示为DENY状态)。例如:
Status: active
To Action From
-- ------ ----
25/tcp DENY Anywhere
8080/tcp DENY Anywhere
若需重新启用该服务,可通过delete命令删除对应的禁用规则:
sudo ufw delete deny smtp
sudo ufw delete deny 8080/tcp
注意事项:
ssh服务用于远程管理,禁用后可能导致无法远程登录)。from参数(如sudo ufw allow from 192.168.1.100 to any port 22允许指定IP访问SSH端口)。iptables,复杂规则(如端口转发、NAT)仍需直接配置iptables。