保護家庭網絡三部曲

2022.10.12

保護家庭網絡三部曲


都有誰可以訪問你的家庭網絡?隨著物聯網(IoT)的普及,有時在運行在你家庭網絡上的服務比你想像的更多。我們應當設法保護它免受不需要的訪問。

今天,互聯網連接的典型結構是家裡有一個路由器,通常是一個位於你家某個地方的小盒子,它充當了通往互聯網世界的網關。路由器創建了一個本地網絡,你將你的設備連接到這個本地網絡,包括你的電腦、手機、電視、遊戲機,以及其他任何需要連接到互聯網或相互連接的設備。我們很容易將路由器當作一個分界線,一邊是互聯網而另一邊是你的設備。但這是一個可怕的誤解,因為在現實中,你的路由器的一邊是整個計算機網絡世界,另一邊是你的數字生活。當你直接使用互聯網時,你是在訪問別人的計算機網絡的共享區域。當你不使用互聯網時,它卻並沒有消失,有很多腳本和程序被設計用以訪問數以百萬計的路由器,試圖找到開放的端口或服務。隨著物聯網(IoT)的普及,有時在運行在你家庭網絡上的服務比你想像的更多。通過以下三個步驟,你可以審計並保護你的家庭網絡免受不必要的訪問和攻擊。

1、協議先行

路由器的部分工作是將互聯網與你的家庭網絡分開。但當你訪問互聯網時,你邀請互聯網的某些部分進入你的家庭。這意味著你創建了一個例外規則,繞過了阻止互聯網進入你的本地網絡的一般規則。

在許多網站上,通過你的路由器的僅是文本內容。例如,當你訪問你最喜歡的博客網站,閱讀最新的科技新聞時,你下載了幾頁文字。你閱讀文本,然後繼續訪問。這是一個簡單的一對一的連接。

然而,HTTPS 協議是強大的,在互聯網上運行的應用程序也充滿了多樣性。例如,當你訪問某個網站時,你不只是在下載文本。你會得到圖形,也許還有腳本或電子書。你還在後台下載cookie,這有助於網站管理員了解誰在訪問網站、加強對移動設備的支持、為更好的可訪問性提供新設計並了解讀者喜歡的內容。當你網上沖浪時,你可能不會想到cookie 或流量分析是與你交互的東西,它是被“藏入”頁面交互的東西,因為HTTPS 協議的設計是廣泛而通用的,在多數場景被高度信任。當你通過HTTPS(或者說,在一個瀏覽器中)訪問一個網站時,你可能在不知情的情況下默認同意自動下載文件,但你認為這些文件是有用的和無關緊要的。對於一種旨在減少信任的文件共享模式,你可以嘗試一下 ​​Gemini​​​ 或 ​​Gopher​​ 協議。

當你加入一個視頻會議時,你也使用了類似的協議。你不僅要下載頁面上的文字、用於流量監控的cookie,還要下載視頻和音頻材料。

有些網站的設計甚至更進一步,它們被設計成允許用戶分享其電腦屏幕,有時甚至是對他們電腦的控制。這樣設計的初衷是有助於遠程技術人員修復電腦上的問題,但在現實中,用戶可能被欺騙訪問這一網站,導致財務憑證和個人數據被盜。

如果一個提供文字文章的網站要求你允許它在你閱讀時調用網絡攝像頭,你理應高度警惕。當一個設備需要訪問互聯網時,你也應當保持同樣的謹慎和警惕。當你把一個設備連接到網絡時,重要的是要關注你同意了何種隱性協議。一個旨在控制你房子裡的照明的設備不應該要求互聯網接入,但事實上許多設備需要並且沒有明確說明你授予該設備什麼權限。許多物聯網設備都希望接入互聯網,這樣你就可以在離家時通過互聯網訪問該設備。這也是“智慧家庭”的部分吸引力。然而,我們不可能知道所有設備運行的是什麼代碼。在可能的情況下,使用開源和值得信賴的軟件,如 ​​Home Assistant​​ 來與你的物聯網設備對接。

2、創建訪客網絡

許多現代路由器可以為你的家庭創建第二個網絡(通常在配置面板中稱為“訪客網絡”)。你可能覺得你不需要訪客網絡,但實際上,訪客網絡是十分有意義的。它旨在為訪問你房子的人提供互聯網訪問,而你不需要告訴他們你的私人網絡密碼。例如在我家的門廳裡,我有一個牌子標明了訪客網絡的名稱和密碼。任何來訪的人都可以加入該網絡以訪問互聯網。

另一方面可以用於物聯網、邊緣設備和家庭實驗室的應用。當我去年購買“可編程” 的聖誕燈時,我驚訝地發現,為了連接這些燈,它們必須連接到互聯網。當然,這些來自無名工廠的50 美元的燈沒有附帶源代碼,也沒有任何方法可以與嵌入在適配器中的固件進行交互或檢查,所以我對我同意將它們連接到我的本地網絡有一定的顧慮。它們已經被永久地歸入了我的訪客網絡。

每個路由器供應商都是不同的,所以沒有關於如何在你的路由器上創建一個“沙盒” 訪客網絡的通用指令。一般來說,你通過一個網絡瀏覽器訪問你的家庭路由器。你的路由器的地址有時印在路由器的底部,它以192.168 或10 開頭。

訪問路由器地址,用你配置互聯網服務時使用的憑證登錄。這通常是簡單的“admin” 和一個數字密碼(有時,這個密碼也印在路由器上)。如果你不知道登錄方式,請致電給你的互聯網供應商或者製造商諮詢。

在圖形界面中,找到“訪客網絡” 的面板。這個選項在我的路由器的高級配置中,但它可能在你的路由器的其他地方,它甚至可能不叫“訪客網絡”(或者它甚至可能不是一個選項)。具體情況因廠商而異。

創建訪客網絡

創建訪客網絡

這可能需要耐心的尋找。如果你發現你的設備有這個選擇,那麼你可以為訪客建立一個訪客網絡,包括在不受信任的燈泡上運行的應用程序。

3、配置防火牆

你的路由器可能已經存在一個默認運行的防火牆。防火牆將不需要的流量擋在你的網絡之外,通常是將傳入的數據包限制在HTTP 和HTTPS(瀏覽器流量)以及其他一些常用的協議上,並拒絕不是你發起的請求。你可以通過登錄你的路由器並尋找“防火牆” 或“安全” 設置來檢查防火牆是否正在運行。

然而,許多設備可以運行它們自己的防火牆。網絡之所以被稱為網絡是因為在網絡上的設備互相能進行連接。在設備之間設置防火牆,就像在你的房子裡鎖上一扇門。客人可以在大廳裡游盪,但如果沒有合適的鑰匙,他們就不會被邀請進入你的私人辦公室。

在Linux 上,你可以使用 ​​firewalld​​​ 接口和 ​​firewall-cmd​​ 命令來配置你的防火牆。在其他操作系統上,防火牆有時在一個標有“安全” 或“共享” 的控制面板中(有時兩者都有)。大多數默認的防火牆設置只允許出站流量(即你通過打開瀏覽器並導航到一個網站而啟動的流量)和響應你的請求的入站流量(即響應你的導航的網絡數據)。不是由你發起的傳入流量會被阻止。

你可以根據需要配置相關規則以允許特定的流量,例如 ​​SSH 連接​​​、​ ​VNC 連接​​​,或 ​​遊戲服務器​​ 主機。

監控你的網絡

這些技巧有助於建立起你對周圍發生的事情的認識。下一步是 ​​監控你的網絡​​​。你可以從簡單的開始,例如在你的訪客網絡的測試服務器上運行 ​​Fail2ban​ ​​。看一下日誌,如果你的路由器提供日誌的話。你不必對TCP/IP 和數據包以及其他進階知識瞭如指掌,就可以看到互聯網是一個繁忙而嘈雜的地方,當你在家里安裝一個新設備時,無論是物聯網、移動設備、台式機或筆記本電腦、遊戲機,甚至是 ​​樹莓派​​,而親身體會到這一點對你採取預防措施有很大啟發。