預設的 Linux 安裝圖的是方便,而非安全。Linux 伺服器強化是減少伺服器攻擊面並收緊其設定的過程,使得來自網際網路的無可避免的探測找不到任何容易利用的目標。本指南依合理的優先順序,介紹 2026 年最重要的強化步驟。

TL;DR

  • SSH 是你最大的暴露面:使用以金鑰為基礎的驗證,停用 root 登入與密碼,並對連線進行速率限制
  • 執行預設拒絕的防火牆,關閉每一個你不需要的服務與連接埠
  • 讓系統自動修補,並套用核心與帳號強化
  • 使用 SELinux 或 AppArmor,啟用稽核日誌,並對照適用於你發行版的 CIS Benchmark 進行自我衡量

1. 鎖定 SSH

SSH 是你管理伺服器的方式,也是攻擊者試圖入侵的方式。首先強化它。

  • 使用以金鑰為基礎的驗證,並完全停用密碼驗證(PasswordAuthentication no)。
  • 停用直接 root 登入PermitRootLogin no);以一般使用者身分登入並使用 sudo
  • 限制哪些使用者可以透過 SSH 登入。
  • 對反覆失敗的嘗試進行速率限制與節流(例如使用 fail2ban),以削弱暴力破解攻擊。
  • 讓 SSH 保持在受維護的版本上,並停用弱加密演算法與過時協定。

2. 執行預設拒絕的防火牆

  • 將防火牆(nftablesufwfirewalld 或 CSF)設定為預設拒絕,僅允許你實際提供服務的連接埠。
  • 暴露最少的內容:對於 Web 伺服器,通常只有 SSH(受限)、HTTP 與 HTTPS,別無其他。
  • 盡可能將管理連接埠限制為已知的來源位址或 VPN。

3. 最小化攻擊面

  • 解除安裝或停用你不使用的服務與常駐程式。每一個正在監聽的服務都是潛在的進入點。
  • 稽核開放的連接埠(ss -tulpn),並確認每一個都是刻意為之的。
  • 從正式環境主機上移除不必要的套件與編譯器。

4. 讓系統保持已修補

  • 啟用自動安全性更新(在 Debian/Ubuntu 上使用 unattended-upgrades,在 RHEL 系列系統上使用 dnf-automatic)。
  • 追蹤你發行版的生命週期終止日期,並在支援結束前升級。執行不受支援的作業系統是一種持續存在的風險。

5. 強化帳號與存取

  • 強制執行強式密碼與帳號原則,並移除未使用的帳號。
  • 使用最小權限的 sudo 而非共用的 root 存取,並記錄 sudo 的使用。
  • 設定合理的 umask 預設值,並鎖定敏感檔案的權限。
  • 為管理存取考慮雙因素驗證。

6. 套用核心與網路強化

  • 調整 sysctl 設定以降低網路層面的風險(例如停用 IP 來源路由與 ICMP 重新導向,並啟用反向路徑過濾)。
  • 限制對核心日誌與指標的存取,並啟用可用的漏洞利用緩解措施。
  • 停用未使用的核心模組與檔案系統。

7. 啟用強制存取控制

  • 保持 SELinux(RHEL 系列)或 AppArmor(Debian/Ubuntu)啟用並處於強制(enforcing)模式。
  • 抗拒為了「讓東西能運作」而將其停用的誘惑;應改為調整或撰寫原則。當某個服務遭到入侵時,MAC 能遏制損害。

8. 日誌、稽核與檔案完整性

  • 啟用 Linux 稽核常駐程式(auditd)以記錄與安全相關的事件。
  • 將日誌集中儲存到主機之外,使攻擊者無法輕易將其抹除。
  • 部署檔案完整性監控(例如 AIDE),以偵測系統檔案的非預期變更。
  • 定期審查日誌,或將其接入監控與告警。

9. 對照 CIS Benchmark 衡量

網際網路安全中心(CIS)發布了詳細且針對特定發行版的強化基準。將適用於你作業系統的 CIS Benchmark 用作客觀的檢查清單與差距分析;它把「我們認為已經強化了」變成一條可衡量的基準線,供你隨時間進行稽核。

重點整理

  • 從 SSH 開始:僅金鑰、無 root 登入、速率限制。
  • 預設拒絕的防火牆,並移除每一個你不需要的服務。
  • 自動化修補,並套用帳號、核心與 MAC(SELinux/AppArmor)強化。
  • 啟用稽核日誌與檔案完整性,並對照 CIS 進行基準衡量,使強化可度量。

取得專家級的 Linux 伺服器強化

手動強化單台伺服器是可行的;而要在整個伺服器群中一致地完成,且不破壞應用程式,正是專業能力帶來回報之處。Linux 伺服器強化服務 涵蓋 SSH 鎖定、防火牆架構、核心調校、SELinux/AppArmor 原則、CIS 差距分析以及一份維運手冊。若需要以防火牆為重點的講解,那篇較舊但仍然有用的使用 CSF 保護 Linux 伺服器指南 深入介紹了 ConfigServer Security & Firewall。

常見問題(FAQ)

最重要的 Linux 強化步驟是什麼? 鎖定 SSH:使用以金鑰為基礎的驗證,停用密碼登入與直接 root 登入,並對失敗的嘗試進行速率限制。在面向網際網路的伺服器上,SSH 是最常被攻擊的進入點。

我應該停用 SELinux 或 AppArmor 來解決問題嗎? 不應該。停用強制存取控制會移除一個重要的遏制層。應改為調整或撰寫原則,以允許合法的行為。將其保持在強制模式下,可在某個服務遭到入侵時限制損害。

什麼是 CIS Benchmark? 一套由網際網路安全中心發布的、針對特定發行版的詳細強化標準。它為你提供一份客觀的檢查清單,供你據此設定並隨時間稽核你的伺服器,從而使強化變得可度量。

如果我的主機商有網路防火牆,我還需要防火牆嗎? 需要,兩者都用。以主機為基礎的預設拒絕防火牆,即使在網路控制設定錯誤或被繞過時也能保護伺服器,並強制執行只暴露你實際提供服務的連接埠這一原則。

強化後的伺服器應多久審查一次? 定期審查,因為設定會發生漂移,新的漏洞也會出現。在發生重大變更後以及按週期性排程,對照你的 CIS 基準線重新檢查,並在兩次審查之間保持自動安全性更新處於啟用狀態。