藍圖風格插畫:盾牌裡的檢查清單,放大鏡正在找出沒打勾的那一項

我不是資安本科,請 AI 幫家用伺服器做資安健檢,真的抓到漏洞

自架的伺服器會不會被駭?我請 Claude 先做書面評估,再跑一組唯讀檢查指令,結果抓到一個會讓 Gmail 變成主機總鑰匙的漏洞。這篇記錄健檢怎麼做、抓到什麼,以及白話版的威脅模型。

舊電腦上已經跑了 n8n、影音串流、檔案服務,有些還能從外面連進來。

我不是資安專業,最想知道的是:如果這台被駭,會不會變成跳板,感染家裡其他電腦、電視和手機?

所以設定做完的那天下午,我請 Claude 幫這台家用伺服器做了一次資安健檢,結果真的抓到一個我自己不可能發現的問題。

資安健檢怎麼做

  1. 書面評估:先讓 Claude 讀我的維運手冊(一路做下來記錄的設定文件),從設計上找弱點
  2. 實際檢查:請它給一組全部唯讀的檢查指令,只看不改,我整段貼上執行
  3. 判讀:把結果原封不動貼回去,由它對照手冊判斷哪裡不對

檢查的項目有:主機對外開了哪些 port、防火牆規則、每個容器的設定、哪些帳號有管理權限、SSH 實際生效的設定、近 7 天的登入紀錄、Tailscale 設定、主機碰不碰得到家裡路由器的管理頁,以及數據機那一層有哪些設備。

請 Claude 幫家用伺服器做資安健檢的對話,它先說整體設計是對的,再依嚴重程度列出要補的地方

抓到的漏洞: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 門禁擋住時怎麼解。