温馨提示×

Ubuntu防火墙如何禁用某个服务

小樊
40
2025-11-02 18:25:55
栏目: 智能运维

Ubuntu防火墙禁用某个服务的操作步骤

1. 确认服务是否已被允许(可选但建议)

在禁用服务前,建议先通过以下命令查看当前防火墙规则,确认目标服务是否已被允许访问:

sudo ufw status

若服务(如smtpssh)已在允许列表中,继续下一步;若未允许,则无需禁用。

2. 禁用指定服务

使用ufw deny命令禁止外部访问目标服务,语法为:

sudo ufw deny [service_name]

其中[service_name]服务名称(而非端口号),需来自Ubuntu系统/etc/services文件中的预定义服务(如smtpsshhttpftp等)。

示例

  • 禁用SMTP服务(25/tcp):
    sudo ufw deny smtp
    
  • 禁用SSH服务(22/tcp):
    sudo ufw deny ssh
    

3. 验证禁用结果

再次运行sudo ufw status,查看目标服务是否已从允许列表中移除,或显示为“DENY”状态。例如:

Status: active
To                         Action      From
--                         ------      ----
22/tcp                     DENY        Anywhere
smtp                       DENY        Anywhere

若目标服务显示为“DENY”,则表示禁用成功。

4. (可选)删除已有的允许规则

若之前曾通过ufw allow命令允许过该服务,建议删除原有允许规则,避免规则冲突。语法为:

sudo ufw delete allow [service_name]

示例

  • 删除SMTP服务的允许规则:
    sudo ufw delete allow smtp
    

注意事项

  • 服务名称有效性:确保[service_name]/etc/services中的有效服务(可通过cat /etc/services | grep [服务关键词]查询),否则需直接指定端口号(如sudo ufw deny 25/tcp)。
  • 默认策略:若防火墙默认策略为deny(即sudo ufw default deny),禁用服务后外部无法访问该端口;若默认策略为allow,需额外确认是否有其他规则允许该服务。
  • 持久化规则ufw规则默认在系统重启后保留,无需额外配置。

通过以上步骤,即可完成Ubuntu防火墙对指定服务的禁用操作。

0