iT邦幫忙

0

Day 11|Wazuh 規則(Rules)是什麼?了解日誌如何觸發警報

  • 分享至 

  • xImage
  •  

一、Wazuh Rules 是什麼?

上一篇介紹了 Wazuh 如何收集系統日誌,但收到 Log 之後,Wazuh 還需要判斷這筆紀錄是否具有安全風險。
例如:

Failed password for invalid user admin from 192.168.1.50 port 52341 ssh2

這代表一次 SSH 登入失敗,而 Rules(規則) 就是 Wazuh 用來判斷事件是否需要產生警報的機制。
基本流程可以理解成:

系統產生日誌
      ↓
Wazuh Agent 收集
      ↓
傳送至 Wazuh Manager
      ↓
Decoder 解析日誌內容
      ↓
Rules 比對事件
      ↓
判斷事件嚴重程度
      ↓
產生 Alert

其中:

  • Decoder:負責「看懂」日誌
  • Rule:負責「判斷」這筆日誌是否具有安全意義

二、一條 Rule 包含什麼?

Wazuh Rule 使用 XML 格式,例如:

<rule id="100010" level="5">
    <match>Failed password</match>
    <description>SSH login failed</description>
</rule>

主要欄位如下:

欄位 說明
id Rule 的唯一編號
level 警報嚴重程度
match 要比對的內容
description 警報顯示的說明

上面的規則代表:當日誌符合 Failed password 時,就可能觸發這條 Rule。


三、Rule Level

Wazuh 使用 Level 0~16 表示事件的嚴重程度,通常數字越高代表事件越需要注意。
可以簡單理解為:

Level 大致意義
0 忽略事件
1~4 低重要性事件
5~7 一般警告或可疑事件
8~11 較重要的異常事件
12~15 高風險安全事件
16 最高嚴重程度

因此看到 Alert 時,除了內容之外,也可以透過 Rule Level 快速判斷事件的重要程度。


四、Rule 與 Decoder 的關係

Rule 和 Decoder 很容易混淆,可以簡單記成:
Decoder 負責「看懂日誌」,Rule 負責「判斷日誌」。
例如:

Failed password for root from 192.168.1.50

Decoder 可能解析出:

User:root
Source IP:192.168.1.50
Event:Login Failed

接著 Rule 再判斷這是不是需要產生警報的安全事件。

Raw Log
   ↓
Decoder
   ↓
Rule
   ↓
Alert

五、Wazuh Rules 放在哪裡?

Wazuh 內建規則主要位於:

/var/ossec/ruleset/rules/

如果想建立自己的規則,則可以使用:

/var/ossec/etc/rules/local_rules.xml

通常不建議直接修改內建 Rules,因為 Wazuh 更新後可能會被覆蓋。
自訂 Rule 建議使用 100000~120000 範圍的 Rule ID。


六、建立簡單的 Custom Rule

例如想偵測日誌中的:

Failed password

可以建立:

<group name="custom_authentication,">
    <rule id="100001" level="5">
        <match>Failed password</match>
        <description>Detected a failed login attempt</description>
    </rule>
</group>

這表示只要符合指定內容,就會觸發 ID 100001、Level 5 的規則。


七、使用 wazuh-logtest 測試

Wazuh 提供 wazuh-logtest,可以測試一筆日誌會觸發哪條 Rule。
執行:

sudo /var/ossec/bin/wazuh-logtest

再輸入:

Failed password for root from 192.168.1.50

Wazuh 會依序進行:

Phase 1:Pre-decoding
Phase 2:Decoding
Phase 3:Rules Filtering

如果成功比對,就會看到對應的 Rule ID、Level 與 Description。
這個工具最大的好處是,不需要真的發動攻擊,也能測試 Wazuh 的偵測規則是否正常。


八、完整流程

最後把昨天的日誌監控與今天的 Rules 串起來:

Endpoint
   ↓
產生日誌
   ↓
Wazuh Agent
   ↓
Wazuh Manager
   ↓
Decoder
   ↓
Rules
   ↓
Alert
   ↓
Wazuh Dashboard

因此 Wazuh 不只是單純收集 Log,而是透過 Decoder 與 Rules,把大量日誌轉換成較容易分析的安全警報。


圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言