在 Ubuntu Linux 中使用帶有 UFW 的防火牆 [新手指南]

UFW(簡單防火牆)是一種簡單易用的防火牆實用程序,為各種用戶提供了大量選項。

它實際上是 iptables 的一個接口,它是為您的網絡設置規則的經典低級工具(並且更難適應)。

閱讀更多

為什麼要使用防火牆?

防火牆是一種調節網絡傳入和傳出流量的方法。 這對服務器至關重要,但它也使普通用戶的系統更加安全,讓您擁有控制權。 如果您是那些喜歡在高級級別控制事物的人之一,即使是在桌面上,您也可以考慮設置防火牆。

總之,防火牆是服務器必備的。 在台式機上,是否要進行設置取決於您。

使用 UFW 設置防火牆

正確設置防火牆很重要。 如果您正在為遠程 Linux 系統(如雲或 VPS 服務器)進行設置,則不正確的設置可能會使服務器無法訪問。 例如,您阻止通過 SSH 訪問的服務器上的所有傳入流量。 現在您將無法通過 SSH 訪問服務器。

在本教程中,我將詳細介紹如何配置適合您需要的防火牆,讓您大致了解使用這個簡單的實用程序可以做什麼。 這應該適合雙方 Ubuntu 服務器和桌面用戶.

請注意,我將在這裡使用命令行方法。 有一個 GUI 前端叫做 古夫 對於桌面用戶,但我不會在本教程中介紹它。 有專門的 Gufw指南 如果你想使用它。

安裝 UFW

如果您使用的是 Ubuntu, UFW 應該已經安裝了。 如果沒有,您可以使用以下命令安裝它:

sudo apt install ufw

對於其他發行版,請使用您的包管理器安裝 UFW。

要檢查 UFW 是否已正確安裝,請輸入:

ufw --version

如果已安裝,您應該會看到版本詳細信息:

[email protected]:~$ ufw --version
ufw 0.36.1
Copyright 2008-2021 Canonical Ltd.

偉大的! 所以你的系統上有 UFW。 讓我們看看現在如何使用它。

注意:您需要使用 sudo 或成為 root 用戶才能運行(幾乎)所有 ufw 命令。

檢查 ufw 狀態和規則

UFW 通過為傳入和傳出流量設置規則來工作。 這些規則包括 允許否認 具體來源和目的地。

您可以使用以下命令檢查防火牆規則:

sudo ufw status

這應該在這個階段為您提供以下輸出:

Status: inactive

如果啟用了防火牆,上面的命令會向您顯示防火牆規則。 默認情況下,UFW 未啟用且不會影響您的網絡。 我們將在下一節中解決這個問題。

檢查ufw狀態檢查ufw狀態
檢查 UFW 狀態

但問題是,即使未啟用 ufw,您也可以查看和修改防火牆規則。

sudo ufw show added

在我的例子中,它顯示了這個結果:

[email protected]:~$ sudo ufw show added
Added user rules (see 'ufw status' for running firewall):
ufw allow 22/tcp
[email protected]:~$

現在,我不記得我是否手動添加了這條規則。 這不是一個新鮮的系統。

默認政策

默認情況下,UFW 拒絕所有傳入並允許所有傳出流量。 這種行為對於普通桌面用戶來說非常有意義,因為您希望能夠連接到各種服務(例如通過 http/https 訪問網頁)並且不希望任何人連接到您的機器。

然而, 如果您使用的是遠程服務器,則必須允許 SSH 端口上的流量 以便您可以遠程連接到系統。

您可以允許 SSH 默認端口 22 上的流量:

sudo ufw allow 22

如果您在其他端口上使用 SSH,請在服務級別允許它:

sudo ufw allow ssh

請注意,防火牆尚未激活。 這是一件好事。 您可以在啟用 ufw 之前修改規則,以免影響基本服務。

如果你打算使用 UFW 生產服務器,請確保 允許端口通過 UFW 對於正在運行的服務。

例如,Web 服務器通常使用端口 80,因此使用“sudo ufw allow 80”。 您也可以在服務級別“sudo ufw allow apache”下執行此操作。

這個責任在你這邊,你有責任確保你的服務器正常運行。

桌面用戶,您可以繼續使用默認策略。

sudo ufw default deny incoming
sudo ufw default allow outgoing

啟用和禁用 UFW

要使 UFW 工作,您必須啟用它:

sudo ufw enable

這樣做將啟動防火牆並安排它在您每次啟動時啟動。 您收到以下消息:

Firewall is active and enabled on system startup.

再次: 如果您通過 ssh 連接到計算機,請確保在通過輸入啟用 ufw 之前允許 ssh sudo ufw 允許 ssh.

如果你想關閉 UFW,輸入:

sudo ufw disable

你會得到:

Firewall stopped and disabled on system startup

為新規則重新加載防火牆

如果 UFW 已經啟用並且您修改了防火牆規則,則需要重新加載它才能使更改生效。

您可以通過禁用並再次啟用它來重新啟動 UFW:

sudo ufw disable && sudo ufw enable

Or 重載 規則:

sudo ufw reload

重置為默認防火牆規則

如果在任何時候你搞砸了任何規則並想返回默認規則(即,沒有允許傳入或拒絕傳出流量的例外),你可以重新啟動它:

sudo ufw reset

請記住,這將刪除您所有的防火牆配置。

使用 UFW 配置防火牆(更詳細的視圖)

好吧! 所以你已經學習了大部分基本的 ufw 命令。 在這個階段,我希望更詳細地介紹一下防火牆規則配置。

按協議和端口允許和拒絕

這就是您向防火牆添加新例外的方式; 使您的機器能夠從指定的服務接收數據,同時 否認 相反

默認情況下,這些命令將為兩者添加規則 IPIPv6. 如果您想修改此行為,則必須編輯 / etc /默認/ ufw。 更改

IPV6=yes

IPV6=no

話雖如此,基本命令是:

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

如果規則添加成功,您將返回:

Rules updated
Rules updated (v6)

例如:

sudo ufw allow 80/tcp
sudo ufw deny 22
sudo ufw deny 443/udp

備註: 如果您不包含特定協議,則該規則將適用於兩者 TCPUDP.

如果您啟用(或者,如果已經運行,則重新加載)UFW 並檢查其狀態,您可以看到新規則已成功應用。

UFW 端口UFW 端口

您還可以允許/拒絕 端口範圍. 對於此類規則,您必須指定協議。 例如:

sudo ufw allow 90:100/tcp

將允許端口 90 到 100 上的所有服務使用 TCP 協議。 您可以重新加載並驗證狀態:

UFW 端口範圍UFW 端口範圍

服務允許和拒絕

為了使事情更容易,您還可以使用服務名稱添加規則:

sudo ufw allow <service name>
sudo ufw deny <service name>

例如,允許傳入的 ssh 和阻止傳入的 HTTP 服務:

sudo ufw allow ssh
sudo ufw deny http

這樣做的同時, UFW 將從中讀取服務 / etc / services中. 您可以自己查看列表:

less /etc/services
列出 /etc/services列出 /etc/services

添加應用規則

一些應用程序提供特定的命名服務以便於使用,甚至可能使用不同的端口。 一個這樣的例子是 SSH. 您可以通過以下內容查看計算機上存在的此類應用程序的列表:

sudo ufw app list
UFW 應用列表UFW 應用列表

就我而言,可用的應用程序是 CUPS (網絡打印系統)和 OpenSSH的.

要為應用程序添加規則,請鍵入:

sudo ufw allow <application>
sudo ufw deny <application>

例如:

sudo ufw allow OpenSSH

重新加載並檢查狀態,您應該看到規則已添加:

UFW 應用程序UFW 應用程序

結論

這只是防火牆的冰山一角。 Linux 中的防火牆還有很多內容可以寫成一本書。 事實上,Steve Suehring 已經有一本很棒的書 Linux Firewalls。


Linux Firewalls: Enhancing Security with nftables and Beyond: Enhancing Security with nftables and Beyond(第 4 版)Linux Firewalls: Enhancing Security with nftables and Beyond: Enhancing Security with nftables and Beyond(第 4 版)


Linux Firewalls: Enhancing Security with nftables and Beyond: Enhancing Security with nftables and Beyond(第 4 版)

$ 49.99


購買亞馬遜

如果您購買,我們將賺取佣金,您無需支付額外費用。

11/17/2022 格林威治標準時間上午 01:42

如果你想用 UFW 設置防火牆,你應該嘗試使用 iptables 或 nftables。 然後您將了解 UFW 如何簡化防火牆配置。

我希望您喜歡這份 UFW 初學者指南。 如果您有任何問題或建議,請告訴我。

原始文章

相關文章