主機安全資安健診維運

主機怪怪的?伺服器資安健診會檢查什麼

約 6 分鐘

客戶打電話來的說法通常很像:這台機器最近怪怪的。CPU 沒跑什麼東西卻長期八九成,遠端連線變慢,或是某天登入時多出一個沒印象的帳號。這些現象可能只是硬體老化或設定沒調好,也可能代表有人已經在裡面挖礦、留了後門。健診的作用,是在你決定要不要重灌之前先把現況盤清楚。

1. 哪些徵兆代表主機可能出問題

找上門的客戶多半是先感覺到不對勁,才回頭查紀錄。麻煩的是這些徵兆單獨看都有無害的解釋:CPU 滿載可能是排程備份,連線變慢可能是頻寬被佔。真正值得排查的訊號是同時出現兩三項,或它們在同一段時間開始。

不同的東西留下的痕跡也不一樣。挖礦程式相對明顯,長時間高負載加上對外連到礦池,很難藏。後門與遠端控制工具安靜得多,平常不吃資源,只在帳號、排程與開放的連接埠上留下線索。所以「機器不慢」不代表沒事。

六個值得回頭查的徵兆

  • 負載降不下來。CPU 或 GPU 長時間高負載,但業務量沒變,離峰時段也一樣。
  • 對外連線變得奇怪。連到沒聽過的網址、每隔固定時間發一次的規律連線、少見的連接埠上有長時間連線。
  • 多出不認識的帳號,或既有帳號被加進管理員群組。
  • 防毒被關掉。即時防護停用、排除清單多了奇怪的資料夾路徑。
  • 排程工作多出你沒建立的項目,尤其是開機或每小時觸發的。
  • 日誌被清空,或某段時間的紀錄缺漏。

2. 健診實際會檢查哪些面向

健診的核心是盤點:把這台主機當下的狀態逐項列出來,再判斷合不合理。我用自行開發的工具,以管理員權限在主機上跑一輪,蒐集程序、修補狀態、帳號與已安裝軟體等資料。

工具負責收集與比對,判讀由人來做。因為「這個程序該不該出現在這台機器上」沒有標準答案,要看它的業務用途。一支遠端連線軟體在 IT 部門的機器上很正常,出現在會計的電腦上就要問一下。

面向看什麼
執行中的程序名稱、執行檔完整路徑、啟動帳號、父程序。特別留意跑在暫存目錄或使用者資料夾的執行檔
修補狀態作業系統版本、已裝與缺漏的更新、距離上次修補多久
帳號與權限有哪些帳號、誰在管理員群組、密碼原則、長期閒置或離職未刪的
已安裝軟體版本過舊的元件、遠端控制工具、破解版軟體、來路不明的工具程式
開放服務與埠口哪些服務在監聽、是否對外網開放。遠端桌面、遠端連線與資料庫的連接埠是重點
排程與自動啟動排程工作、服務、啟動資料夾與登錄檔的自動執行位置
日誌登入成功與失敗紀錄、帳號建立與權限變更、服務反覆異常重啟

3. 程序比對 VirusTotal 在做什麼

蒐集到程序清單之後,我會取每支執行檔的檔案指紋送 VirusTotal 比對。它匯集數十家防毒引擎的判定,一個檔案若被其中十幾家標記為惡意,訊號就很清楚。

用指紋比對而不是上傳檔案,是刻意的。送出去的只是一串代表檔案內容的編碼,不是檔案本身,所以不會有公司資料外流的問題。這點在替客戶做健診時很重要。

判讀時要看命中的引擎數量,也要看命中的名稱一不一致。單一引擎的通用型判定常常是誤報,自製或小眾程式尤其容易被誤標。反過來,被十幾家同時標成同一種木馬,那就幾乎不用懷疑。

4. 健診、弱點掃描、防毒軟體差在哪

這三件事常被當成同一種服務詢價,但它們看的東西與時間點都不同。搞混的代價是買錯:以為裝了防毒就不用健診,或以為做過弱掃就知道主機裡面有什麼。

看什麼什麼時候盲點
防毒/EDR檔案與行為常駐即時客製化與不落地的攻擊;被關掉時你可能不會察覺
弱點掃描版本與設定定期、從外部看只找已知弱點,不會告訴你裡面被植入什麼
資安健診現況與組態單次、從內部看不會即時攔截,反映的是執行當下的狀態

三者是互補的:健診回答「現在的組態有什麼問題」,掃描追蹤「已知弱點修了沒」,防毒負責日常攔截。但三者都不等於事件調查鑑識,要確認入侵的時間軸與影響範圍,那是更深也更貴的另一種工作。

5. 報告會給你什麼

健診結束後交付一份報告,內容是盤點結果加上加固建議,每一項都標註風險等級與判斷依據。分級的用意不是嚇人,是幫你排順序。中小企業的資訊人力有限,一次修二十項不現實。

高風險項目通常有一個共同點:可以直接從外部利用。例如遠端桌面對整個網際網路開放、多年沒修補的作業系統、來路不明的管理員帳號。這幾類會排在最前面。

每一項發現都會寫出現況、風險分級、可能造成的影響與建議處理方式。另外附上可疑程序的比對結果與判讀說明、帳號盤點表、開放服務清單,以及修補落差。建議還會依可行性分組,區分今天就能改的,與需要停機或調整架構的。

6. 需要提供什麼?會不會影響營運?

健診需要管理員權限,因為要讀取程序清單、帳號資料與系統設定。這是最多人猶豫的一點,所以先說清楚範圍:執行過程只做讀取與盤點,不改設定、不刪檔案、不重啟服務。修補與加固等你們評估之後再另行安排時程。

工具跑一輪通常在幾分鐘到十幾分鐘之間,視軟體數量而定,對效能的影響接近一般的系統盤點指令,不需要停機。主機負載本來就吃緊的話,可以約離峰或夜間執行。執行方式可以遠端也可以到場,依你的網路政策決定。

7. 多久做一次比較合理

健診反映的是執行當下的狀態。隔幾個月裝了新軟體、開了新服務,狀態就變了。合理的節奏是一年一到兩次,而且先從關鍵主機做起,例如檔案伺服器、ERP、對外提供服務的機器。

除了固定頻率,有幾個時機值得插隊。新機器上線、或從前一個廠商手上接管既有主機時,先做一次建立基準。出現前面那些徵兆時盡快排查。人員異動之後,確認離職者的帳號與遠端存取都清乾淨。系統大幅變更之後也值得再看一次,例如升版、搬遷機房、新開對外服務。

把修補與帳號盤點納入例行維運之後,健診就會退回到驗收的角色,不需要每季重做。那也是比較健康的狀態:平常有人顧,健診只是定期確認沒有漏掉什麼。

伺服器資安健診交給你的,是一份清楚的現況清單和一組排好順序的加固建議,讓「主機怪怪的」這種模糊感覺變成可以逐項處理的工作。它無法保證找出每一支惡意程式,客製化或不落地的攻擊仍可能躲過盤點與比對。若盤點結果顯示已經被入侵,那需要的是事件調查與鑑識,我會據實告訴你,並協助評估後續怎麼走。

常見問題

主機 CPU 一直滿載,一定是中挖礦程式嗎?
不一定。備份排程、資料庫索引重建、記憶體不足導致的持續換頁、失控的應用程式,都會造成長時間高負載。判斷方式是看哪個程序在吃 CPU、它的執行檔放在什麼路徑、離峰時段會不會降下來、有沒有對外連到不熟悉的位址。健診會把這幾項一起列出來,讓你有依據判斷,而不是憑感覺重灌。
做完伺服器資安健診,可以保證主機沒有惡意程式嗎?
不能。健診是盤點與加固建議,涵蓋執行中的程序、帳號權限、排程工作、開放埠口與修補狀態,並比對程序的檔案指紋。客製化的惡意程式、尚未被收錄的新樣本、只存在記憶體的攻擊,都可能不會被標記出來。健診能縮小盲區、把明顯的風險攤開來,無法宣稱把主機清空。
健診會不會影響營運?需要停機嗎?
不需要停機。過程是以管理員權限讀取系統資訊,不變更設定、不刪除檔案、不重啟服務,一台通常幾分鐘到十幾分鐘。主機負載吃緊的話可以約離峰或夜間執行。後續的修補與加固由你們決定時程,我不會在健診當下逕行修改設定。

延伸閱讀