舊電腦上已經跑了 n8n、影音串流、檔案服務,有些還能從外面連進來。
我不是資安專業,最想知道的是:如果這台被駭,會不會變成跳板,感染家裡其他電腦、電視和手機?
所以設定做完的那天下午,我請 Claude 幫這台家用伺服器做了一次資安健檢,結果真的抓到一個我自己不可能發現的問題。
資安健檢怎麼做
- 書面評估:先讓 Claude 讀我的維運手冊(一路做下來記錄的設定文件),從設計上找弱點
- 實際檢查:請它給一組全部唯讀的檢查指令,只看不改,我整段貼上執行
- 判讀:把結果原封不動貼回去,由它對照手冊判斷哪裡不對
檢查的項目有:主機對外開了哪些 port、防火牆規則、每個容器的設定、哪些帳號有管理權限、SSH 實際生效的設定、近 7 天的登入紀錄、Tailscale 設定、主機碰不碰得到家裡路由器的管理頁,以及數據機那一層有哪些設備。

抓到的漏洞:Gmail 一被盜,主機就被拿走
為了在公司也能用瀏覽器 SSH 連回家,我建了一個外出專用的帳號。
這個帳號登入只靠 Gmail 驗證,不用密碼(細節見〈不開 port 也能從外面連回家:用 Cloudflare Tunnel 架 n8n〉)。
健檢發現,這個帳號當初被加進了 docker 群組。在 Linux 上,docker 群組就等於最高權限(root),不用輸入任何密碼就能控制整台主機。
兩件事接在一起:Gmail 被盜 → 登入外出帳號 → 直接拿到整台主機。
修正很簡單:把這個帳號移出 docker 群組。之後它要用 docker,必須加 sudo 再輸入一次密碼。
Gmail 被盜時,對方還得知道這組密碼才拿得到最高權限。改完也驗證過:直接打 docker ps 會被拒絕,加 sudo 才正常。
「docker 群組等於 root」這種事,非本科的人大概不會知道,但可以請 AI 幫忙檢查。
確認沒問題的地方
- SSH 登入失敗紀錄:全部是我自己前一晚設定時打錯密碼,當時還沒關掉密碼登入。沒有外部嘗試
- 數據機那一層:掃描整個網段,只有數據機和我的分享器兩台,沒有陌生設備
- 家裡的路由器:主機碰不到分享器的管理頁,雙層 NAT 的隔離有效
- 順手修正:Samba 關掉用不到的舊 port 139,只留 445
白話版威脅模型
攻擊者可能怎麼進來、我怎麼擋,整理成這張表:
| 攻擊者可能的路徑 | 怎麼擋 |
|---|---|
| 掃描家裡 IP 找漏洞 | 家裡沒開任何 port,Tunnel 是主機主動往外連 |
| 直接打開 n8n 網址 | 先過 Cloudflare 的 Gmail 驗證,再過 n8n 帳密和兩步驟驗證 |
| SSH 連進主機 | 家裡只接受金鑰;外面只能透過 Gmail 驗證+短期憑證 |
| 影片、檔案、管理介面 | 只開給家裡區網和 Tailscale |
| 從主機跳到家裡其他設備 | 主機在數據機層,碰不到分享器後面的設備 |
| 偷看雲端備份 | Google Drive 上的檔案全部加密 |
| 系統漏洞 | Ubuntu 每天自動安裝安全更新 |
從表裡可以看出:對外的門只有三扇。n8n 網頁和瀏覽器 SSH 都要過 Gmail 驗證,第三扇是 n8n 的公開 Webhook,也是唯一不用驗證的入口。
由此推出兩個最大的風險:
- Gmail 被盜:Gmail 同時是 Cloudflare 和 Tailscale 的鑰匙,等於整台主機的總鑰匙。Gmail 要用通行金鑰或強密碼加兩步驟驗證,備用碼印在紙上收好
- n8n 本身的漏洞:公開 Webhook 是唯一的缺口,n8n 有安全公告就要當天更新,不等每月維護
另一個要注意的是「檔案」。主機就算被攻破,也連不進家裡的電腦;但如果我從伺服器拿了一個被動過手腳的執行檔在電腦上點開,就會被感染。
所以從伺服器拿到的執行檔不要直接點開。
雙層 NAT 則是意外的好設計。當初把主機插在數據機上、不插分享器(見〈舊電腦變伺服器:Ubuntu Server 安裝、網路規劃與基本資安〉),這次健檢證實了它確實把主機和家裡的設備隔開了。
之後怎麼維持
這組唯讀檢查指令和「正常結果」的對照表,都寫進了維運手冊。我打算每季跑一次,或大改設定之後跑一次,結果一樣貼給 Claude 判讀。
如果你也想請 AI 幫自己的主機健檢,重點是請它給「只看不改」的指令,而且要有一份文件告訴它你「應該」是什麼樣子,它才判斷得出哪裡不一樣。
這是舊電腦家用伺服器系列的第 9 篇。
上一篇:〈File Browser+Samba:手機和電腦都能用的私人雲端硬碟〉;
下一篇〈n8n MCP:讓 Claude 直接操作自架 n8n,先過自己的 Cloudflare 門禁〉已經上架,寫的是怎麼用 n8n MCP 讓 Claude 直接操作自架 n8n,以及被自己的 Cloudflare 門禁擋住時怎麼解。






