
更新與弱點管理:最有效的防護
更新是最有效的防護
如果只能做一件事,那就是保持更新。
理由很直接:多數自動化攻擊利用的是已經公開、也已經有修補的漏洞。只要更新了,那些攻擊就無效。
一個反直覺的重點
漏洞被公開修補之後,未更新的網站反而更危險。
因為修補資訊公開後,攻擊者也知道了「哪個版本有什麼問題、怎麼利用」,接著就會有自動化工具開始掃描。
換句話說:更新公告發布的那一刻,就是風險開始升高的時候。 拖越久越危險。
要更新的四個層面
| 層面 | 內容 | 誰負責 |
|---|---|---|
| 網站系統核心 | 網站程式本身 | 廠商或維護方 |
| 外掛與模組 | 額外安裝的功能 | 廠商或維護方 |
| 程式語言版本 | 執行環境 | 主機商或維護方 |
| 伺服器軟體 | 作業系統與服務 | 主機商 |
責任分屬不同對象,這是實務上最容易漏掉的地方——各方都以為是別人在負責。應該在合約或維護方案中界定清楚。
不更新的三種常見理由與回應
「更新會不會弄壞網站?」
確實有這個風險,這是合理的擔憂。但正確的處理是建立更新流程,不是不更新。
建議流程:
- 先備份
- 在測試環境更新並驗證
- 確認無誤後套用到正式環境
- 更新後檢查主要功能——首頁、表單、後台、金流
如果沒有測試環境,至少要在流量低的時段更新,並準備好還原方案。
「網站好好的,為什麼要動它?」
因為看起來正常不代表沒有漏洞。漏洞是被動存在的,它不會影響網站運作,只是在等被利用。
「更新要花錢」
相對於被入侵後的處理成本——修復、還原、搜尋引擎警告移除、客戶信任損失——定期更新的成本低得多。
版本終止支援的問題
每一種軟體都有生命週期。過了支援期限之後,即使發現新漏洞也不會再有修補。
常見的情況
- 網站系統的舊版本停止維護
- 程式語言的舊版本終止支援
- 某個外掛的作者停止更新
處理方式
- 提前規劃升級——不要等到停止支援才處理
- 移除不再維護的外掛,尋找替代方案
- 若系統本身已無官方支援,評估重建可能比持續修補更合理
重建的判斷見網站改版的流程。
外掛越少越好
每一個外掛都是一個可能的入侵點。而且外掛的品質參差不齊——有些長期沒有更新,有些作者已經不維護了。
建議的做法
- 定期盤點——列出目前安裝了什麼、各自的用途
- 移除不再使用的——很多網站有裝了但早就不用的功能
- 移除功能重複的
- 停用不等於安全——停用但未刪除的外掛,程式檔案仍在主機上,仍可能被利用
最後一項最容易被忽略。 不用的外掛應該刪除,不是停用。
建立一份軟體清冊
這是弱點管理的基礎——不知道自己裝了什麼,就無法知道有沒有風險。
| 欄位 | 內容 |
|---|---|
| 項目 | 系統、外掛、語言版本 |
| 目前版本 | |
| 用途 | 還需要嗎 |
| 負責更新 | 廠商、主機商、自己 |
| 最後檢查日 |
與網域、主機的到期日總表放在一起管理。
更新的節奏建議
- 安全性更新——盡快處理,這類通常修補已知的漏洞
- 一般功能更新——每季一次即可
- 大版本升級——需要規劃與測試,不要臨時進行
- 每半年盤點一次——確認清冊是最新的、有沒有即將終止支援的項目
發包與維護時該確認的事
- 系統與外掛的更新由誰負責?
- 程式語言版本升級時,網站需要調整嗎?費用怎麼算?
- 有沒有測試環境?
- 更新前會備份嗎?
- 使用了哪些第三方外掛?來源是什麼?
第二題特別重要——主機商淘汰舊版本時,網站可能需要調整才能運作,這筆工時的歸屬應該事先講清楚。
攻擊手法與防護技術持續演變,本文說明的是原則與流程。實際的技術設定與工具選擇,建議依網站架構與主機環境評估,必要時尋求專業協助。