UPnP 是一種網路協定套件,主要旨在允許同一區域網路上的裝置自動偵測並相互連線。如果這聽起來像是非技術使用者的夢想,在許多方面,它確實是的。

畢竟,在當今高度互聯的世界中,便利至上。從能輕鬆連線至網際網路的遊戲主機,到開箱即用、運作順暢的 智慧電視物聯網 (IoT) 裝置(新視窗)——現代網路的設計旨在最小化使用者的心力。而默默實現這一切無縫連線的技術之一,就是通用隨插即用 (UPnP)。

然而,UPnP 也常用於設定 路由器上的通訊埠轉送,進而允許網際網路上的裝置存取您區域網路 (LAN) 上的資源。這(加上我們稍後會討論的其他安全性漏洞)意味著,完全關閉 UPnP 或許是個好主意。

在這篇文章中,我們將探討:

什麼是 UPnP?

顧名思義,UPnP 的主要目標是讓網路裝置能「隨插即用」。換句話說,當您將裝置連線至網路時,它應該要能直接運作,無需深入研究路由器設定、開啟連接埠或調整 IP 位址。

UPnP 是透過一組網路協定來實現此目標,這些協定允許您本機網路上的裝置(例如個人電腦、印表機、數據機、路由器和行動裝置)在網路上無縫偵測彼此的存在,進而互相通訊。

UPnP 也能用來設定 通訊埠轉送,透過路由器的防火牆來路由連線,以便您能將網際網路上的裝置與本機網路上的裝置連線。常見原因包括:

  • 物聯網 (IoT) 裝置:例如,您可能想在世界任何角落查看安全攝影機的畫面、控制智慧恆溫器,或管理智慧家庭系統。
  • 家用媒體伺服器:讓您在外出時,也能透過網際網路觀看 Plex 或 Jellyfin 伺服器中的內容
  • 遊戲伺服器:讓您能主持多人遊戲,而無需支付第三方伺服器費用
  • P2P 檔案共享:允許傳入連線以提高下載速度。請參閱我們的 BT 下載終極指南,進一步瞭解其運作方式。

UPnP 如何運作?

簡單來說,UPnP 的運作方式可以拆解為以下步驟:

  1. 偵測 (Discovery):當裝置連線至網路時,它會廣播一條訊息來宣布自己的存在。網路上的其他裝置可以回應此訊息,從而相互偵測。
  2. 描述 (Description):一旦裝置互相偵測到彼此,就會交換關於其功能與服務的資訊。此步驟涉及裝置共享關於其能做什麼,以及其他裝置如何與之互動的詳細資料。
  3. 自動組態 (Automatic configuration):裝置可以自動向路由器請求通訊埠轉送。例如,遊戲主機可能會請求路由器開啟特定連接埠,以便在不需要手動介入的情況下主持多人遊戲。

為什麼 UPnP 很危險?

雖然 UPnP 帶來了無可否認的便利性,但它也引入了嚴重的安全性疑慮。讓 UPnP 具有風險的原因,不僅在於它的運作方式,還在於您對其在幕後所做的事情通常幾乎沒有控制權和能見度。UPnP 的主要風險如下:

自動通訊埠轉送

雖然 UPnP 的主要設計目的是連線區域網路上的裝置,但它最實用的功能之一,是能夠自動開啟路由器上的連接埠,讓您 LAN 上的裝置可以與網際網路上的裝置進行通訊。不幸的是,開啟的連接埠可能會讓惡意人士有機可乘,進而存取您區域網路上的裝置。

需要注意的是,如果您手動設定路由器上的通訊埠轉送,也會存在這種風險。然而,如果啟用了 UPnP,它可能會在您不知情的情況下開啟連接埠,自動為您本機網路上的多個(且可能存在安全性漏洞的)裝置進行組態。

無須驗證

UPnP 在設計時考量的是受信任的區域網路,因此通常不需要裝置進行任何驗證即可運作。這意味著同一網路上的任何裝置(包括可能已被入侵的裝置)都可以向路由器傳送請求,以開啟連接埠或重新導向流量。

如果您的網路中只有一個受感染的裝置存在惡意軟體,它就可以在您不知情的情況下暗中修改網路設定,並在防火牆上穿孔,從而允許該惡意軟體與外界進行通訊。這正是惡名昭彰的 Mirai 殭屍網路(新視窗) 所發生的情況,它利用 UPnP 漏洞感染物聯網裝置(如家用攝影機)和路由器,藉此發動了一些世界上有史以來規模最大的 DDoS 攻擊(新視窗)

缺乏驗證也意味著惡意軟體可以輕易地散播到連線至您本機網路的其他 UPnP 裝置。

連接埠掃描攻擊的風險較高

這主要歸咎於較舊或設定不當的路由器會接受來自網際網路(而不僅僅是本機)的 UPnP 連線,導致數百萬台網路裝置與路由器(新視窗)容易受到 DDoS 及其他攻擊。

為什麼您應該停用 UPnP

UPnP 雖然能透過自動化網路設定來讓生活更便利,但它缺乏安全性控制且容易被濫用,使其成為一項高風險功能。在消費級路由器上尤其如此,因為 UPnP 預設的「信任一切」設計哲學根本不符合現代安全性最佳實作,並成為惡意軟體散播的溫床。因此對大多數人來說,這樣的便利性可以說不值得冒這個風險。

由於無法得知哪些連接埠是開啟的、為什麼開啟,以及您是否已正確關閉它們,這在您的網路安全性中造成了盲點。這為惡意軟體和駭客提供了一個簡單的進入點,使他們能夠在您的網路中建立持久的後門,甚至將您的流量路由到受攻擊者控制的 DNS 伺服器(就如 Switcher 木馬程式(新視窗) 所呈現的那樣)。

更好的解決方案是在需要時手動設定通訊埠轉送,以便您能完全控制與監督哪些連接埠是開啟的。

瞭解如何在各種路由器上手動設定通訊埠轉送

不過請注意,對於連線至 VPN 的裝置,在您的路由器上設定通訊埠轉送是沒有意義的(請見下方說明)。

通訊埠轉送、UPnP 與 VPN

當您將裝置連線至 VPN 伺服器時,在該裝置與伺服器之間傳輸的所有資料都會透過已加密的 VPN 隧道進行路由。在透過此 VPN 隧道傳輸時,沒有其他人或裝置可以看見您的資料。

這包括您的網際網路服務供應商 (ISP),延伸而言也包括您的政府,但也包括您自己的路由器。因此,當使用 VPN 時,連線實際上會繞過您的路由器,從而使 UPnP(以及路由器上的手動通訊埠轉送)變得多餘。使用 VPN 時的通訊埠轉送,是指在您的 VPN 供應商用來保護 VPN 伺服器的 NAT 防火牆上開啟連接埠——而不是在路由器上。

如果裝置(或在該裝置上執行的應用程式,例如 BitTorrent 用戶端)支援 UPnP,您應該停用該設定以防止與 VPN 軟體發生衝突。

進一步瞭解 Proton VPN 的通訊埠轉送

如何在路由器上停用 UPnP

在路由器上停用 UPnP 是一個簡單的過程,但確切的步驟因路由器的品牌和型號而異。以下是在一些最常見路由器品牌上停用 UPnP 的一般說明。在其他路由器上,操作步驟也會類似。

首先,在瀏覽器的網址列中輸入您路由器的 IP 位址(通常為 192.168.1.1192.168.0.1),並使用管理員使用者名稱和密碼登入。這通常印在貼於路由器上的貼紙上(除非您已變更過)。接著:

Linksys 路由器

前往 管理員 索引標籤 → UPnP → 並將 UPnP 設定切換為 關閉。按一下 儲存設定 以套用變更。建議您重新啟動路由器以確保變更生效。若要執行此操作,請前往 管理員 索引標籤 → 重新啟動

Netgear 路由器

前往 管理員 索引標籤 → UPnP → 並將 UPnP 設定切換為 關閉。按一下 套用 以儲存變更。建議您重新啟動路由器以確保變更生效。若要執行此操作,請前往 維護 索引標籤 → 重新啟動

TP-Link 路由器

前往 進階 索引標籤 → NAT 轉寄UPnP 並將 UPnP 設定切換為 關閉。建議您重新啟動路由器以確保變更生效。若要執行此操作,請前往 系統 索引標籤 → 重新啟動

如何在 TP-Link 路由器上關閉 UPnP

關於 UPnP 的結語 — 以代價換取的便利

UPnP 的設計初衷良善,旨在透過允許裝置自動通訊與配置,讓一般人更容易進行網路連線。但在網路威脅比以往更加先進且頻繁的時代,這種便利也成了一種隱憂。

UPnP 缺乏驗證、通訊埠轉送功能,且有被利用的歷史,這使得保持啟用它成為一項高風險功能,尤其是在極少受到監控或更新的家用路由器上。雖然它可能會簡化遊戲、串流裝置和智慧家居小工具的設定,但它也悄悄打開了大門,讓駭客和惡意軟體非常樂意長驅直入。

幸運的是,停用 UPnP 非常簡單,且大多數人在日常網際網路使用中不會注意到有何不同 — 特別是如果您花一點時間手動設定少數真正需要開放連接埠的服務。

如果您在裝置上使用 Proton VPN,這會變得更加簡單,因為您只需開啟該功能,我們就會在我們的 VPN 防火牆中為您開啟一個合適的連接埠。

了解如何搭配 Proton VPN 使用通訊埠轉送