利用 Raspberry Pi 在自家實驗室建置微型憑證授權中心 (CA) (★
102 分)
此篇文章詳細介紹如何在自家實驗室(homelab)中利用 Raspberry Pi 及 YubiKey 建立一個微型憑證授權中心(Certificate Authority, CA),用於管理內部 TLS 憑證,並提升內部網路的安全性。
文章分為多個步驟,首先簡述建置此係統的動機,如內部網路中不加密的流量已不安全、TLS 客戶端認證日益普及,並且透過 ACME 協議(如同 Let's Encrypt 使用的協議),可簡化憑證自動化更新。作者選用 Raspberry Pi 4、支援 PIV 應用的 YubiKey(如 YubiKey 5 NFC)作為根 CA 金鑰儲存裝置,並搭配開放原始碼的工具如 `step-ca` 和 `Infinite Noise TRNG` 增強 Linux 系統隨機數池的熵值。此外,另一個 USB 隨身碟用於離線備份 CA 金鑰,整體硬體成本約為 100 美元。
整個建置過程包括:
1. 安裝並配置 Raspberry Pi 作業系統、設定 DNS 名稱、同步網路時間,以及安裝所需軟體如 `ykman` 和 Go。
2. 建置並配置 `step-ca` 開源憑證授權伺服器,生成根 CA 和中繼 CA 憑證與金鑰,並將這些金鑰安全地匯入 YubiKey。
3. 加入 ACME 配置,讓這個微型 CA 支援自動憑證申請與更新。此外,還設定了 systemd 服務,確保 YubiKey 插入或移除時,CA 伺服器會自動啟動或停止。
4. 最後啟用防火牆和停用 SSH 存取,以確保最大安全性,只保留 CA 的 HTTPS 443 埠。
該系統能為任何需要的裝置生成短期(預設 24 小時)的 TLS 憑證,支援 ACME 協議,並建議搭配自動更新工具實現高效管理。雖然建置過程有點繁瑣,但此專案不僅能學習並體驗建立 PKI(Public Key Infrastructure)的完整流程,也能提升家中實驗室的網路安全。
文章最後提供資源連結,包括 PKI 基礎操作指南、mTLS 配置教學,以及如何將這個微型 CA 配置為 SSH 憑證中心等進階資訊,供讀者進一步應用和學習。
👥
27 則討論、評論 💬
https://news.ycombinator.com/item?id=42758070