← 返回文章列表

我的主機需要安全更新嗎?Windows、Linux 與資料庫的更新完整指南

許多系統管理員和網站經營者都面臨過一個共同的疑問:「我的主機運作正常,真的需要更新嗎?」答案是肯定的。安全更新不僅修補已知的漏洞,更是防禦勒索軟體、資料外洩和服務中斷的第一道防線。但更新本身也可能帶來風險——相容性問題、服務中斷、甚至系統無法啟動。本文從三大層面說明安全更新的策略與實務。

一、Windows Server 安全更新

例行性安全更新

Windows Server 透過「Windows Update」提供每月的「Patch Tuesday」安全更新,修補作業系統核心、IIS、.NET Framework、SQL Server 等元件的漏洞。建議作法:

  • 設定自動下載但手動安裝,避免更新在不知情下重啟服務
  • 在測試環境先驗證更新,確認不影響 Web 應用與資料庫連線
  • 每月至少檢查一次更新清單,優先安裝「Critical」和「Security」等級的修補

大版本升級

Windows Server 的支援週期通常為 10 年(5 年主流支援 + 5 年延伸支援)。以 Windows Server 2012 R2 為例,已在 2023 年 10 月完全終止支援,不再接收任何安全更新。仍在運行 EOL 版本的主機面臨極高的資安風險。

升級策略:

  • Windows Server 2016/2019:仍在支援期內,但建議規劃遷移至 Windows Server 2022 或 2025
  • Windows Server 2012 R2 及更早版本:已 EOL,必須盡快升級,否則只能透過 Azure Extended Security Updates(付費)獲得保護
  • 升級前務必做完整備份,並確認所有應用程式與新版本相容

二、Linux 各發行版安全更新

Linux 發行版的安全更新頻率和支援週期差異很大,需依據使用的發行版制定策略。

例行性安全更新

  • Ubuntu / Debian:使用 apt update && apt upgrade 每週或每月執行一次。Ubuntu 的安全更新通常在漏洞揭露後 24~72 小時內發布。
  • CentOS / Rocky Linux / AlmaLinux:使用 dnf updateyum update,更新頻率建議每月一次。
  • 注意事項:更新核心(kernel)後需要重新開機才會生效。建議使用 needrestart 工具檢查哪些服務需要重啟,安排在低流量時段執行。

大版本升級與 EOL 問題

各主流 Linux 發行版的支援週期:

發行版 版本 標準支援到期 EOL 狀態
Ubuntu 24.04 LTS2024.042029.05✅ 支援中
Ubuntu 22.04 LTS2022.042027.05✅ 支援中
Ubuntu 20.04 LTS2020.042025.05⚠️ 標準支援已到期
Ubuntu 18.04 LTS2018.042023.05❌ EOL
Ubuntu 16.04 LTS2016.042021.04❌ EOL
Ubuntu 14.04 LTS2014.042019.04❌ 完全 EOL
CentOS 72014.072024.06❌ EOL
CentOS 82019.092021.12❌ EOL
Rocky Linux 92022.072032.05✅ 支援中
Debian 12 (Bookworm)2023.062026(預估)✅ 支援中
Debian 11 (Bullseye)2021.082024.08 LTS✅ LTS 支援中

EOL 發行版的風險:

  • 不再收到安全修補,已知漏洞將永久存在
  • 軟體套件庫停止更新,無法安裝新版本的應用程式
  • 社群支援減少,遇問題難以找到解決方案
  • 部分第三方軟體(如 Docker、Node.js)會停止支援舊版 OS

升級建議:

  • Ubuntu LTS 版本每兩年發布一次,建議至少每 4~5 年規劃一次大版本升級
  • 升級前使用 do-release-upgrade -d 在測試環境驗證
  • CentOS 用戶應遷移至 Rocky Linux 或 AlmaLinux(CentOS 8 已於 2021 年終止)
  • Debian 用戶注意 LTS 支援由志願者維護,安全修補速度可能較慢

三、資料庫安全更新

資料庫是系統的核心,更新不當可能導致資料遺失或服務中斷,需要更謹慎的規劃。

MySQL / MariaDB

  • 例行更新:每季檢查並安裝安全修補。MySQL 的季度發布版(Quarterly Release)包含安全修正。
  • 大版本升級:MySQL 5.7 已於 2023 年 10 月 EOL,MySQL 8.0 支援至 2026.04,MySQL 8.4 LTS 支援至 2032。MariaDB 10.3 已 EOL,10.11 LTS 支援至 2028。
  • 升級風險:MySQL 5.7 → 8.0 涉及認證方式變更(caching_sha2_password)、字元集預設值改變(utf8mb4)、SQL 語法相容性問題。務必在測試環境完整驗證。

PostgreSQL

  • 例行更新:小版本更新(如 16.1 → 16.2)通常只修 bug 和安全漏洞,可直接升級,不需資料遷移。
  • 大版本升級:大版本(如 15 → 16)需要使用 pg_upgrade 或邏輯備份還原。PostgreSQL 每年發布一個大版本,每個版本支援 5 年。
  • EOL 狀態:PostgreSQL 11 已於 2023 年 EOL,13 於 2025 年 EOL。目前支援中的版本為 14~16。

Microsoft SQL Server

  • 例行更新:透過 Cumulative Update(CU)和 GDR(General Distribution Release)修補。建議至少安裝最新的 CU。
  • 大版本升級:SQL Server 2014 已 EOL,2016 支援至 2026.07,2019 支援至 2030,2022 支援至 2033。
  • 升級注意:跨版本升級前需檢查資料庫相容性層級,並備妥回滾方案。

Redis / MongoDB / 其他 NoSQL

  • 同樣需定期更新。Redis 6.2 已 EOL,7.2 LTS 支援至 2027。MongoDB 4.4 已 EOL,7.0 支援至 2028。
  • 更新前務必備份資料,並確認驅動程式版本相容性。

四、更新計劃規劃建議

為避免更新導致服務中斷,建議制定短、中、長期三階段的更新計劃:

短期計劃(每月)

  • 作業系統安全修補(Windows Patch Tuesday / Linux apt upgrade)
  • 資料庫小版本更新(Bug fix + Security fix)
  • Web 伺服器、反向代理(Nginx/Apache)安全更新
  • 確認備份機制正常運作,每次更新前執行完整備份

中期計劃(每季 ~ 每半年)

  • 應用程式框架更新(.NET、Node.js、PHP 等)
  • 資料庫累積更新(CU)
  • 檢視系統日誌,確認是否有異常或攻擊跡象
  • 檢查所有 SSL/TLS 憑證到期日,提前續期

長期計劃(每年 ~ 每 3~5 年)

  • 評估作業系統大版本升級(確認是否接近 EOL)
  • 規劃資料庫大版本遷移(準備測試環境、驗證相容性)
  • 檢查伺服器硬體壽命,規劃汰換週期
  • 審視整體架構,評估是否需要引入高可用性(HA)或負載平衡

避免服務中斷的關鍵原則

  • 先備份再更新:無論更新大小,備份是唯一的安全網
  • 測試環境先行:重要系統應有測試環境,先驗證再部署到正式環境
  • 分批更新:多台伺服器不要同時更新,逐一更新確認正常後再進行下一台
  • 選擇低流量時段:在深夜或非營業時段執行更新,降低影響
  • 準備回滾方案:更新前確認可以快速還原到前一版本狀態
  • 記錄更新日誌:每次更新記錄時間、版本、結果,方便日後追蹤

結語

安全更新是一場沒有終點的馬拉松,不是「做一次就好」的工作,而是需要持續執行的維運流程。從每個月的安全修補到每幾年一次的大版本升級,每個環節都需要規劃和準備。最危險的做法不是「更新出問題」,而是「完全不更新」——EOL 的作業系統和資料庫就像門沒上鎖的房子,隨時可能被入侵。建立短中長期的更新計劃,按部就班執行,才能在安全與服務穩定之間取得最佳平衡。