Debian/Ubuntu系统UFW防火墙:安装与配置指南

随着网络服务的爆炸式增长,网络安全风险也日益突出。病毒、恶意软件和木马等威胁时刻潜伏,入侵用户系统。因此,部署强大的防火墙至关重要。本文将详细介绍如何在Debian/Ubuntu系统中安装和配置Uncomplicated Firewall (UFW),一个易于上手且功能强大的iptables前端工具。

一、UFW简介

UFW并非一个全新的防火墙,而是iptables的友好型前端。它提供了一个简洁的命令行接口,简化了复杂的iptables规则配置,更易于Linux新手使用。同时,它也保留了高级功能,满足经验丰富的系统管理员的需求。UFW是Debian、Ubuntu和Linux Mint等发行版的理想选择。

二、安装UFW

首先,检查系统是否已安装UFW:

sudo dpkg --get-selections | grep ufw

如果未安装,使用apt包管理器安装:

sudo apt-get install ufw

安装完成后,检查UFW状态:

sudo ufw status

如果状态为inactive,则需要启用它。

三、UFW启用/禁用

启用UFW:

sudo ufw enable

禁用UFW:

sudo ufw disable

建议在系统启动时启用UFW,确保系统始终处于保护状态。

四、UFW规则管理

1. 查看规则:

查看所有UFW规则及其状态(包含详细日志信息):

sudo ufw status verbose

默认策略通常为允许出站连接,拒绝入站连接。

2. 添加允许规则:

允许SSH连接(端口22):

sudo ufw allow ssh

允许特定端口(例如,自定义端口2290):

sudo ufw allow 2290/tcp

允许端口范围(例如,2290-2300端口,TCP协议):

sudo ufw allow 2290:2300/tcp

允许UDP协议的端口范围:

sudo ufw allow 2290:2300/udp

3. 添加拒绝规则:

拒绝FTP连接(端口21):

sudo ufw deny ftp

4. 基于IP地址的规则:

允许来自特定IP地址的连接:

sudo ufw allow from 192.168.0.104

允许来自特定子网的连接:

sudo ufw allow from 192.168.0.0/24

允许访问特定端口(例如,允许任何IP访问22端口):

sudo ufw allow to any port 22

5. 组合参数:

更精细的控制,例如只允许来自192.168.0.104的IP,通过TCP协议访问22端口:

sudo ufw allow from 192.168.0.104 proto tcp to any port 22

6. 删除规则:

根据规则编号删除(推荐):

sudo ufw status numbered  # 查看规则编号
sudo ufw delete 1         # 删除编号为1的规则

根据服务名称删除(可能造成意外删除):

sudo ufw delete allow ftp

7. 重置规则:

重置所有规则到默认状态:

sudo ufw reset

五、高级配置

UFW的配置文件位于/etc目录下,允许对规则进行更精细的控制,例如设置默认策略、IPv6支持等等。

/etc/default/ufw:主要配置文件,包含默认策略、IPv6支持等选项。 /etc/ufw/before[6].rules:在自定义规则之前执行的规则。 /etc/ufw/after[6].rules:在自定义规则之后执行的规则。 /etc/ufw/sysctl.conf:内核网络参数设置。 /etc/ufw/ufw.conf:UFW配置,包括启动时启用状态和日志级别。

六、总结

UFW是一个易于使用且功能强大的iptables前端,显著简化了防火墙的配置和管理。通过本文的介绍,读者可以快速上手UFW,构建一个安全可靠的网络环境。更多详细信息,请参考man ufw