Debian/Ubuntu的UFW防火墙配置

ufw(Uncomplicated Firewall)是Ubuntu和其他基于Debian的Linux发行版上的一种用户友好的防火墙接口。它是一个前端工具,用于简化iptables的配置。以下是使用ufw设置防火墙规则的基本步骤:

安装 ufw

在大多数基于Debian的系统中,ufw默认是安装的。如果没有安装,可以通过以下命令安装:

sudo apt update
sudo apt install ufw

启用 ufw

在第一次使用ufw之前,需要启用它:

sudo ufw enable
sudo ufw default deny  # 这将设置默认策略为拒绝所有传入连接

设置基本规则

  1. 允许特定端口的传入连接

sudo ufw allow 22/tcp  # 允许SSH连接
sudo ufw allow 80/tcp  # 允许HTTP连接
sudo ufw allow 443/tcp # 允许HTTPS连接
  1. 拒绝特定端口的传入连接

sudo ufw deny 23/tcp  # 拒绝Telnet连接
  1. 允许特定服务的传入连接

sudo ufw allow OpenSSH  # 允许SSH连接,服务名称需要在 /etc/services 中定义
  1. 允许来自特定IP地址的连接

sudo ufw allow from 192.168.1.100  # 允许来自这个IP的所有连接
  1. 允许来自特定子网的连接

sudo ufw allow from 192.168.1.0/24  # 允许来自这个子网的所有连接

检查 ufw 状态

查看ufw的状态和规则:

sudo ufw status

禁用或重新启用 ufw

如果需要禁用ufw

sudo ufw disable

重新启用:

sudo ufw enable

删除规则

删除特定的ufw规则,例如删除允许SSH的规则:

sudo ufw delete allow 22/tcp

重置 ufw

如果你想重置ufw到默认状态,可以使用:

sudo ufw reset

这将禁用ufw,并删除所有ufw规则,但不会影响iptables中的其他规则。

更改默认策略

你可以更改ufw的默认入站和出站策略:

sudo ufw default allow incoming  # 默认允许所有传入连接
sudo ufw default allow outgoing  # 默认允许所有传出连接
sudo ufw default deny incoming   # 默认拒绝所有传入连接
sudo ufw default deny outgoing   # 默认拒绝所有传出连接

设置复杂的规则

ufw允许你设置更复杂的规则,例如根据协议、端口和IP地址:

sudo ufw allow from 192.168.1.100 to any port 22 proto tcp  # 允许特定IP的SSH连接
sudo ufw deny to 192.168.1.200 port 80 proto tcp           # 拒绝到特定IP的HTTP连接

设置规则的有效时间

你可以设置规则在一段时间后自动删除:

sudo ufw allow from 192.168.1.100 to any port 22 proto tcp timeout 120  # 2小时后自动删除规则

管理规则

列出所有规则:

sudo ufw status numbered

删除特定编号的规则:

sudo ufw delete NUM

其中NUMufw status numbered命令输出中显示的规则编号。

设置日志级别

ufw可以设置日志级别,以控制日志的详细程度:

sudo ufw logging on  # 开启日志
sudo ufw logging off # 关闭日志
sudo ufw logging low # 设置低日志级别
sudo ufw logging medium # 设置中日志级别
sudo ufw logging high # 设置高日志级别

检查日志

查看ufw的日志:

sudo ufw status verbose

或者查看ufw的日志文件:

sudo tail -f /var/log/ufw.log

使用应用程序配置文件

ufw支持使用应用程序配置文件来简化规则的设置。这些文件位于/etc/ufw/applications.d目录中。你可以使用ufw-applications命令来管理这些文件。

使用IPv6

ufw也支持IPv6。你可以使用ufw6命令来管理IPv6的规则。

注意事项

在对防火墙进行更改时,务必小心,以免影响系统的安全性和可用性。

在生产环境中,建议使用详细的规则和适当的日志记录来监控和调整防火墙设置。

在进行重大更改之前,最好在测试环境中验证规则的效果。

ufw是一个强大的工具,它提供了一个简单的界面来管理iptables,同时也能够处理更复杂的防火墙配置需求。


Debian/Ubuntu的UFW防火墙配置
https://www.opyu.cn/archives/JSUwUM3K
作者
发布于
2024年05月07日
许可协议