防火墙是一个用来监视和过滤进出网络流量的工具。它通过定义一系列安全规则,来决定是否允许或者屏蔽指定的流量。
Ubuntu 自带的防火墙配置工具被称为 UFW (Uncomplicated Firewall)。UFW 是一个用来管理 iptables 防火墙规则的用户友好的前端工具。它的主要目的就是为了使得管理 iptables 更简单,就像名字所说的,简单的。
本文描述如何在 Ubuntu 20.04上使用 UFW 工具来配置和管理一个防火墙。一个被正确配置的防火墙是所有系统安全中最重要的部分。
一、前提条件
仅仅 root 或者其他有 sudo 权限的用户可以管理系统防火墙。最佳实践就是以 sudo 用户来运行管理员任务。
二、安装 UFW
UFW 是标准 Ubuntu 20.04 安装过程中的一部分,它应该已经在你的系统上存在。如果因为某些原因,它没有被安装,你可以通过输入下面的命令安装它:
sudo apt update
sudo apt install ufw
三、检查 UFW 的状态
安装过程不会自动激活防火墙,以避免服务器被锁住。你可以检查 UFW 的状态,输入:
sudo ufw status verbose
输出如下:
Status: inactive
如果 UFW 激活了,输入应该类似下面这样:
四、UFW 默认策略
默认情况下,UFW 阻塞了所有进来的连接,并且允许所有出去的连接。这意味着任何人无法访问你的服务器,除非你打开端口。运行在服务器上的应用和服务可以访问外面的世界。
默认的策略定义在/etc/default/ufw
文件中,并且可以通过使用sudo ufw default <policy> <chain>
命令来修改。
防火墙策略是用来构建更多详细的和用户自定义的规则的基础。通常情况下,初始的默认策略是一个很好的起点。
五、应用配置
大部分应用都附带一份应用配置,它描述了服务,并且包含了 UFW 设置。这个规则在软件包安装的时候,被自动创建在/etc/ufw/applications.d
目录下。
想要列举出你系统上所有的应用配置,输入:
sudo ufw app list
与你系统上安装的软件包有关系,输出应该看起来像下面这样:
Available applications:
Nginx Full
Nginx HTTP
Nginx HTTPS
OpenSSH