跳到主要內容
所有文章

資安新手入門 01|資安公告出來了:怎麼知道自己的系統中不中

分類 資安 日期 2026-10-25

Author
恩梯科技
12 次閱讀 5 分鐘閱讀

安全公告出來那天,你問負責系統的人:「我們有沒有中?」他回:「我們用的是最新版,應該沒事。」這句話聽起來讓人放心,但它其實沒有回答你的問題。

每一則安全公告都長得差不多:哪幾個版本有問題、修好的是哪一版、一時升不了先做什麼。要拿它來判斷自己中不中,只需要一個前提——知道你的網站現在實際在跑的是哪一版。這一步你不必自己做,但要聽得出對方有沒有真的做。這是資安新手入門的第一篇,從這件看起來最簡單、其實很容易出錯的事開始。

你不需要自己查,但要知道答案長什麼樣

〈不懂技術的老闆,怎麼判斷工程師講的是不是真的〉那篇講過:你不需要懂技術,但需要懂怎麼問。放到安全公告上,一個有回答到問題的答案,一定包含三樣東西:

  • 一個具體的版本號,不是「最新」「應該」「差不多」。
  • 是從哪裡查到的:是從網站實際在跑的那一份查的,還是從別的地方。
  • 拿去跟哪一則公告比,比完的結論是什麼。

少了任何一樣,都還不算回答。下面四句話,都是「聽起來像回答、其實還沒回答」。

第一句:「我們用的是最新版」

先問一句:最新版的什麼?

同一台主機上,同一個程式語言可能有兩份。以 PHP 為例,工程師在主機上打指令查到的,是「命令列用的那一份」;網站實際在跑的,可能是另一支專門處理網頁請求的程式。兩份可以是不同版本,升級其中一份也不會帶動另一份。所以「我查過了,是最新版」很可能是對的——只是查的不是網站在跑的那一份。

  • 好的答案:「網站實際在跑的是 8.3.36,我是從網站本身查的。」
  • 要追問的答案:說不出版本號,或查的是自己的電腦、不是伺服器。

第二句:「設定檔上寫的是那一版」

專案裡會有一份檔案,記錄網站用了哪些現成的套件、各是哪一版。問題是,以 Node.js 常用的套件工具 npm 為例,它預設記下的不是一個版本,而是一個允許的範圍。例如寫著「15.5.0」前面加一個符號,意思其實是「15.5.0 以上、16 以下都可以」。同一份設定,在兩台機器上裝出來的可能是兩個不同的版本,而安全公告在意的,正好是最後那一碼。

  • 好的答案:「設定檔寫的是範圍,我在伺服器上查了實際裝的,是 15.5.28。」
  • 要追問的答案:只說「設定檔上寫的是 15.5」。

第三句:「主機上已經升級了」

有些網站跑在容器裡。容器可以想成主機上的一個獨立小房間,裡面有自己的一整套程式。主機升級了,房間裡的東西一個字都不會變。

反過來也一樣:換了新的容器版本,已經在跑的那一個不會自己換,要重新建立一次才會生效。所以要問兩件事:網站是不是跑在容器裡?如果是,查的是容器裡面,還是外面的主機?

  • 好的答案:「網站跑在容器裡,我進到正在跑的那個容器查過,是修補後的版本。」
  • 要追問的答案:「主機升級好了」,但說不出網站是不是跑在容器裡。

第四句:「升級好了」

同一台主機上,可能同時裝著好幾個版本:升級時裝了新的、舊的沒移除,或是某個舊網站還靠舊版在跑,刻意留著。這時候「升級好了」可能只對其中一個版本成立,接在舊版上的那幾個網站,其實還沒動。

  • 好的答案:「這台主機上有兩個版本,三個網站各接在哪一個我列給你,兩個版本都升了。」
  • 要追問的答案:說不出主機上有幾個版本、哪個網站接在哪一個上。

反過來也會錯:「版本號比公告舊,所以中了」

前面四句都是「以為沒事,其實沒查對」。還有一種是反方向的:以為中了,其實已經修好。

有些主機的程式是從作業系統的套件庫裝的。以 Debian 為例,它的安全團隊說明過做法:不是升到新版本,而是把安全修補移植回原本那個版本,好讓修補盡量不改變其他行為。所以版本號看起來比公告的修補版舊,不一定代表沒修,要看那個套件自己的修補紀錄。

這一種錯比較不危險,但會讓人白忙一場。聽到「版本比公告舊」時,可以多問一句:「這是作業系統的套件嗎?套件的修補紀錄查過了嗎?」

一份好的回覆,長這樣

把上面幾件事合起來,安全公告出來之後,你應該收到的是一張像這樣的表,而不是一句「應該沒事」:

項目實際在跑的版本從哪裡查的公告的修補版結論
網站 A 的程式語言(具體版本號)網站本身/容器裡面(公告上的版本號)已修補/要升級
網站 A 用到的套件(具體版本號)伺服器上實際裝的(公告上的版本號)已修補/要升級
同一台主機上的其他版本(列出每一個)主機上的清單(公告上的版本號)已修補/要升級/可以停用

如果收到的是這張表,你就算看不懂每一個版本號,也看得出對方查了什麼、在哪裡查、結論是什麼。如果連這張表都做不出來,問題就不只是這一則公告,而是這套系統沒有人在負責——主機、監控、安全更新本來就是持續的工作,〈主機、監控、安全更新:這三件事自己做要花多少時間〉那篇算過這筆帳。

查完之後

知道自己在跑哪一版,是每一次安全更新的第一步。整理成三件事:

  • 公告出來時,要的是版本號、查的位置、比較的結論,不是「應該沒事」。
  • 「最新版」「設定檔寫的」「主機升級了」「升級好了」,這四句都要再追問一次。
  • 升級之後,用同樣的方式再查一次——「升級指令跑完了」和「在跑的那一份換了」是兩件事。

恩梯科技是客製化開發出身的系統軟體公司,現在做的是 AI 系統的長期維護。如果你不確定手上的系統跑的是哪些版本、有幾套要顧,可以從一次系統健檢開始:看的是程式碼、資料庫、部署、資安四個面向,〈系統健檢到底在看什麼〉那篇寫了完整的內容。預約系統健檢

想把這些做法落地到你的公司?

認識 Helper CTO:系統交給誰負責
預約系統健檢 加 LINE 詢問

我們不追求大量專案。

只與少數值得深入合作的夥伴建立長期關係。

需要協助嗎?

用 LINE 直接問我們

加 LINE 詢問