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 # 这将设置默认策略为拒绝所有传入连接
设置基本规则
允许特定端口的传入连接:
sudo ufw allow 22/tcp # 允许SSH连接
sudo ufw allow 80/tcp # 允许HTTP连接
sudo ufw allow 443/tcp # 允许HTTPS连接
拒绝特定端口的传入连接:
sudo ufw deny 23/tcp # 拒绝Telnet连接
允许特定服务的传入连接:
sudo ufw allow OpenSSH # 允许SSH连接,服务名称需要在 /etc/services 中定义
允许来自特定IP地址的连接:
sudo ufw allow from 192.168.1.100 # 允许来自这个IP的所有连接
允许来自特定子网的连接:
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
其中NUM
是ufw 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
,同时也能够处理更复杂的防火墙配置需求。