許多系統管理員和網站經營者都面臨過一個共同的疑問:「我的主機運作正常,真的需要更新嗎?」答案是肯定的。安全更新不僅修補已知的漏洞,更是防禦勒索軟體、資料外洩和服務中斷的第一道防線。但更新本身也可能帶來風險——相容性問題、服務中斷、甚至系統無法啟動。本文從三大層面說明安全更新的策略與實務。
一、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 update或yum update,更新頻率建議每月一次。 - 注意事項:更新核心(kernel)後需要重新開機才會生效。建議使用
needrestart工具檢查哪些服務需要重啟,安排在低流量時段執行。
大版本升級與 EOL 問題
各主流 Linux 發行版的支援週期:
| 發行版 | 版本 | 標準支援到期 | EOL 狀態 |
|---|---|---|---|
| Ubuntu 24.04 LTS | 2024.04 | 2029.05 | ✅ 支援中 |
| Ubuntu 22.04 LTS | 2022.04 | 2027.05 | ✅ 支援中 |
| Ubuntu 20.04 LTS | 2020.04 | 2025.05 | ⚠️ 標準支援已到期 |
| Ubuntu 18.04 LTS | 2018.04 | 2023.05 | ❌ EOL |
| Ubuntu 16.04 LTS | 2016.04 | 2021.04 | ❌ EOL |
| Ubuntu 14.04 LTS | 2014.04 | 2019.04 | ❌ 完全 EOL |
| CentOS 7 | 2014.07 | 2024.06 | ❌ EOL |
| CentOS 8 | 2019.09 | 2021.12 | ❌ EOL |
| Rocky Linux 9 | 2022.07 | 2032.05 | ✅ 支援中 |
| Debian 12 (Bookworm) | 2023.06 | 2026(預估) | ✅ 支援中 |
| Debian 11 (Bullseye) | 2021.08 | 2024.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 的作業系統和資料庫就像門沒上鎖的房子,隨時可能被入侵。建立短中長期的更新計劃,按部就班執行,才能在安全與服務穩定之間取得最佳平衡。