在Ubuntu 18.04上配置Ubuntu防火墙(UFW)

安装UFW

UFW默认安装在Ubuntu 18.04中,但是您可以验证以下内容:

which ufw

您应该收到以下输出:

/usr/sbin/ufw

如果未收到输出,则表示未安装UFW。在这种情况下,您可以自己安装它:

sudo apt-get install ufw

允许连接

如果您正在运行Web服务器,则希望全世界都能访问您的网站。因此,您需要确保Web的默认TCP端口是打开的。

sudo ufw allow 80/tcp
sudo ufw allow 443/tcp

通常,可以使用以下格式来允许您需要的任何端口:

sudo ufw allow <port>/<optional: protocol>

拒绝连接

如果您需要拒绝访问某个端口,请使用以下deny命令:

sudo ufw deny <port>/<optional: protocol>

例如,您可以拒绝访问默认的MySQL端口:

sudo ufw deny 3306

UFW还支持最常用服务端口的简化语法:

root@ubuntu:~$ sudo ufw deny mysql
Rule updated
Rule updated (v6)

强烈建议您限制22从受信任IP地址以外的任何地方访问SSH端口(默认情况下,此端口为port )。

允许从受信任的IP地址访问

通常,您只需要允许访问公共开放的端口(例如port)80。对所有其他端口的访问应受到限制或限制。您可以将家庭或办公室IP地址(最好是静态IP)列入白名单,以便能够通过SSH或FTP访问服务器:

sudo ufw allow from 192.168.0.1 to any port 22

您还可以允许访问MySQL端口:

sudo ufw allow from 192.168.0.1 to any port 3306

启用UFW

在启用(或重新启动)UFW之前,您需要确保允许SSH端口从您的IP地址接收连接。要启动/启用UFW防火墙,请使用以下命令:

sudo ufw enable

您将看到以下输出:

root@ubuntu:~$ sudo ufw enable
Command may disrupt existing ssh connections. Proceed with operation (y|n)?

Y,然后按ENTER启用防火墙:

Firewall is active and enabled on system startup

检查UFW状态

打印UFW规则列表:

sudo ufw status

您将看到类似于以下内容的输出:

Status: active

To                         Action      From
--                         ------      ----
80/tcp                     DENY        Anywhere
443/tcp                    DENY        Anywhere
3306                       DENY        Anywhere
22                         ALLOW       192.168.0.1
3306                       ALLOW       192.168.0.1
80/tcp (v6)                DENY        Anywhere (v6)
443/tcp (v6)               DENY        Anywhere (v6)
3306 (v6)                  DENY        Anywhere (v6)

使用verbose参数查看更详细的状态报告:

sudo ufw status verbose

该输出将类似于以下内容:

Status: active
Logging: on (low)
Default: deny (incoming), allow (outgoing), disabled (routed)
New profiles: skip

To                         Action      From
--                         ------      ----
80/tcp                     DENY IN     Anywhere
443/tcp                    DENY IN     Anywhere
3306                       DENY IN     Anywhere
22                         ALLOW IN    192.168.0.1
3306                       ALLOW IN    192.168.0.1
80/tcp (v6)                DENY IN     Anywhere (v6)
443/tcp (v6)               DENY IN     Anywhere (v6)
3306 (v6)                  DENY IN     Anywhere (v6)

禁用/重新加载/重启UFW

如果需要重新加载防火墙规则,请运行以下命令:

sudo ufw reload

要禁用或停止UFW:

sudo ufw disable

为了重新启动UFW,您需要先将其禁用,然后再将其启用:

sudo ufw disable
sudo ufw enable

注意: 启用UFW之前,请确保您的IP地址允许使用SSH端口。

删除规则

要管理您的UFW规则,您需要列出它们。您可以通过使用参数检查UFW状态来做到这一点numbered

sudo ufw status numbered

您将看到类似于以下内容的输出:

Status: active

     To                         Action      From
     --                         ------      ----
[ 1] 80/tcp                     DENY IN     Anywhere
[ 2] 443/tcp                    DENY IN     Anywhere
[ 3] 3306                       DENY IN     Anywhere
[ 4] 22                         ALLOW IN    192.168.0.1
[ 5] 3306                       ALLOW IN    192.168.0.1
[ 6] 80/tcp (v6)                DENY IN     Anywhere (v6)
[ 7] 443/tcp (v6)               DENY IN     Anywhere (v6)
[ 8] 3306 (v6)                  DENY IN     Anywhere (v6)

现在,要删除任何这些规则,您将需要在方括号中使用以下数字:

sudo ufw delete [number]

要删除HTTP规则(80),请使用以下命令:

sudo ufw delete 1

启用IPv6支持

如果在VPS上使用IPv6,则需要确保在UFW中启用了IPv6支持。为此,请在文本编辑器中打开配置文件:

sudo vi /etc/default/ufw

打开后,请确保将IPV6其设置为“是”:

IPV6=yes

进行此更改后,保存文件。然后,通过禁用并重新启用它来重新启动UFW:

sudo ufw disable
sudo ufw enable

返回默认设置

如果您需要返回默认设置,只需键入以下命令。这将还原您的所有更改:

sudo ufw reset

恭喜,您已经设置了一些基本的防火墙规则。要了解更多示例,请查看UFW-社区帮助Wiki

留下評論

在Arch Linux上使用Makepkg

在Arch Linux上使用Makepkg

在Arch Linux上使用Makepkg可以避免系统污染,确保仅安装必要的依赖关系。

如何在Ubuntu 16.04上安装OpenSIPS控制面板

如何在Ubuntu 16.04上安装OpenSIPS控制面板

快速学习如何在Ubuntu 16.04上安装OpenSIPS控制面板,为VoIP提供商提供支持的功能。

在Fedora 28上安装Akaunting

在Fedora 28上安装Akaunting

学习如何在Fedora 28上安装Akaunting,一款适合小型企业和自由职业者的开源会计软件。

如何在CentOS 7上安装Mailtrain新闻通讯应用程序

如何在CentOS 7上安装Mailtrain新闻通讯应用程序

使用其他系统?Mailtrain是一个基于Node.js和MySQL / MariaDB构建的开源自托管新闻通讯应用程序。

诊断Minecraft服务器延迟和低TPS

诊断Minecraft服务器延迟和低TPS

了解導致Minecraft延遲的原因和解決方案,包括優化伺服器性能和減少滯後的步驟。

AI 能否應對越來越多的勒索軟件攻擊?

AI 能否應對越來越多的勒索軟件攻擊?

勒索軟件攻擊呈上升趨勢,但人工智能能否幫助應對最新的計算機病毒?AI 是答案嗎?在這裡閱讀知道是 AI 布恩還是禍根

ReactOS:這是 Windows 的未來嗎?

ReactOS:這是 Windows 的未來嗎?

ReactOS,一個開源和免費的操作系統,這裡有最新版本。它能否滿足現代 Windows 用戶的需求並打倒微軟?讓我們更多地了解這種老式但更新的操作系統體驗。

通過 WhatsApp 桌面應用程序 24*7 保持聯繫

通過 WhatsApp 桌面應用程序 24*7 保持聯繫

Whatsapp 終於為 Mac 和 Windows 用戶推出了桌面應用程序。現在您可以輕鬆地從 Windows 或 Mac 訪問 Whatsapp。適用於 Windows 8+ 和 Mac OS 10.9+

人工智能如何將流程自動化提升到新的水平?

人工智能如何將流程自動化提升到新的水平?

閱讀本文以了解人工智能如何在小型公司中變得流行,以及它如何增加使它們成長並為競爭對手提供優勢的可能性。

macOS Catalina 10.15.4 補充更新引發的問題多於解決

macOS Catalina 10.15.4 補充更新引發的問題多於解決

最近,Apple 發布了 macOS Catalina 10.15.4 補充更新以修復問題,但似乎該更新引起了更多問題,導致 mac 機器變磚。閱讀這篇文章以了解更多信息