我喺網上睇緊一啲安全相關嘅新聞,突然諗到:我自己嘅homelab真係安全㗎?我運行緊幾部暴露喺公網上嘅伺服器,老實講我唔清楚佢哋究竟有幾脆弱。於是我開始搵方法自己測試吓。
我一開始想搵 Claude 幫我跑一次掃描,結果發現 Claude 運行喺沙盒環境入面,佢嘗試嘅任何掃描都會經過 Anthropic 自己嘅網絡閘道,而唔係直接測試我嘅伺服器。咁樣得出嘅結果就唔可信。所以我唯有自己動手測試。我喺安全測試方面並冇太多經驗,我嘅背景基本上就係搭建自己兩部伺服器嘅網絡,而唔係審計佢哋。
我嘅架構,簡單講
成個連接大致係咁:網絡路徑係 Cloudflare,跟住係帶住DDNS主機名嘅 MikroTik 路由器(具體地址我就唔公開喇),之後係 Ubuntu Server 主機,再到 Unraid 主機。Ubuntu Server 負責兩部機嘅反向代理,因為 Traefik 就喺嗰度跑緊。為咗令呢一切可以由外部訪問,我仲要向我嘅ISP——PLDT——申請咗一個公網IP。呢個就係成個架構嘅大概情況。
運行 nmap
實際測試嘅時候,我喺公司手提電腦嘅 WSL 入面用 nmap,對住我嘅DDNS主機名跑咗一次全端口掃描:
nmap -Pn -T4 -p- your-ddns-hostname.example.com
老實講,結果幾好。只有80同443端口係開放嘅,其他一律冇回應。我真係鬆咗一口氣。至少喺網絡層面,伺服器端嘅封鎖做得幾到位。
跟住係 SSL
SSL係我冇完全深入理解嘅一部分。Traefik 已經透過 Let's Encrypt 自動處理證書,所以我以為呢部分已經冇問題。我用 Qualys SSL Labs 跑咗一次檢測,結果卻令我意外:雖然我喺 Traefik 度(當初搭建嗰陣有借助一啲AI嘅幫手)正確咁設定咗 TLS 1.2 同 1.3,結果全部都被評為B級。
後來發現,B級評分根本唔係 Traefik 嘅問題,而係因為 Cloudflare 擋喺嗰啲域名前面,喺佢哋嘅邊緣節點處理 TLS 握手,而唔係我嘅源伺服器。於是我測試咗一個冇經過 Cloudflare 代理嘅服務,嗰個反而攞到A級評價,加密強度都幾好。
咁,我嘅配置究竟得唔得?
至少喺我測試過嘅部分,我覺得係得嘅。伺服器同網絡層面冇發現暴露嘅漏洞。如果話仲有咩真正嘅弱點,大機會係喺各個服務背後嘅具體業務邏輯上,而唔係邊界防護本身。經過成晚折騰自己嘅基礎設施之後,能夠得出呢個結論都算係一種安慰。
你嘅伺服器搭建歷程又係點?