昨天我們成功讓 Ubuntu 測試機連上線,完成了系統感知的佈署。不過,現在的 Wazuh 充其量只是一個比較高級的「系統狀態監視器」,還沒有發揮它作為資安防護平台真正的價值。今天,我們要來解鎖 Wazuh 非常強大的一項核心功能:漏洞偵測(Vulnerability Detector)。
在資工系的實務專題中,我們常常會用到各種開源套件,但這些套件往往藏著未修補的安全漏洞。Wazuh 的漏洞偵測機制並不是像傳統弱點掃描工具那樣,瘋狂對你的主機發送惡意封包來測試;它的作法更聰明、也更輕量。
Wazuh Agent 會定期盤點主機上安裝的所有軟體清單與作業系統版本,然後將這份「資產清單」回報給 Wazuh Server。Server 端則會去下載並更新全球的漏洞資料庫(像是 NVD 或 Ubuntu 官方的 Canonical OVAL),接著在內部進行交叉比對。一旦發現你安裝的某個套件版本與資料庫中的 CVE(通用漏洞披露)吻合,就會立刻觸發告警。
以前要改伺服器設定,可能還要 SSH 進去主機,用 vim 在黑白終端機裡慢慢找檔案。但 Wazuh 提供了非常方便的 UI 介面,讓我們直接在網頁上就能修改核心設定檔 ossec.conf。
點進去之後,接下來的步驟如下:
點擊上方的 Settings(設定)頁籤。
在左側找到 Configuration(設定檔)選項。
點擊右上角的 Edit configuration(編輯設定檔)按鈕。


在編輯畫面中,你會看到一份長長的 XML 設定檔。請利用搜尋功能(Ctrl+F)找到 這個區塊。

預設情況下,這項功能可能是關閉的(enabled 為 no)。我們需要把它改成 yes,並且確認 Ubuntu 相關的漏洞資料來源也有被開啟。請參考以下配置進行修改:
<vulnerability-detection>
<!-- 開啟漏洞偵測總開關 -->
<enabled>yes</enabled>
<!-- 設定掃描間隔,這裡設為 5 分鐘方便我們測試看結果 -->
<interval>5m</interval>
<min_full_scan_interval>6h</min_full_scan_interval>
<run_on_start>yes</run_on_start>
<!-- 開啟 Ubuntu 的漏洞資料庫同步 -->
<provider name="canonical">
<enabled>yes</enabled>
<os>trusty</os>
<os>xenial</os>
<os>bionic</os>
<os>focal</os>
<os>jammy</os>
<!-- 如果你用的是最新的 24.04 noble 也可以加上去 -->
<update_interval>1h</update_interval>
</provider>
<!-- 開啟 NVD (National Vulnerability Database) -->
<provider name="nvd">
<enabled>yes</enabled>
<update_interval>1h</update_interval>
</provider>
</vulnerability-detector>
修改完成後,點擊右上角的 Save,這時候系統會提示你必須重啟 Wazuh Manager 才能套用設定。直接點擊 Restart manager,等待個幾秒鐘讓系統重新載入。
重啟完成後,Wazuh Server 就會開始去網路上把最新的 CVE 資料庫載下來(這可能會花上幾分鐘),接著就會對我們的 Ubuntu 測試機進行首次的全面盤點。
我們回到 Dashboard 的首頁,點擊進入 Vulnerabilities 模組。稍微等待一下,你就會看到原本空無一物的面板,開始出現了各種紅紅黃黃的圖表!Wazuh 會直接告訴你這台主機上有多少個 Critical(極度危險)、High(高風險)的漏洞,甚至會明確列出是哪一個套件(例如 python3、OpenSSL 等)的哪一個版本出了問題,並附上對應的 CVE 編號。
看著滿滿的 CVE 漏洞清單,雖然代表主機很不安全,但作為一套資安系統的建置者,看到數據成功掃描出來的那一刻,還是會覺得超級熱血!
現在我們的系統已經具備了強大的「威脅感知」能力。不過,這些告警目前還只能留在 Wazuh 的儀表板裡。明天,我們就要進入架構的下一個階段:實作 FastAPI 後端,把這些漏洞告警攔截出來,為後續的 AI 判斷與自動化通報做準備!