天天看點

wazuh 叢集

1 基本目的 

wazhu叢集是一組wazuh管理器,它們共同工作以增強服務的可用性和可擴充性。使用wazuh叢集設定,隻要我們在必要時增加worker節點,就可以大大增加agent的數量。

2 使用叢集的原因

2.1水準擴充 

支援數千個agent同時上報,向叢集中增加一個agent也很簡單(隻需要在配置中增加master的位址)并且可以實作自動化,使使用者可以實作自動擴充

2.2 高可用性

單節點機器系統可能當機、或者人為關機、硬體損壞,當機器恢複時,您不知道之前發生的事件。但是在使用叢集時,可以保證你的agent總有一個管理器可以彙報。

wazuh 叢集

3 節點類型

3.1 master

wazuh中master集中與協調worker節點、確定關鍵和所需的資料在所有節點上是一緻的。它提供集中化的内容包括:

  • agent注冊
  • agent删除
  • 規則、解碼器與cdb清單同步
  • agents的配置組織

注意1: master不發送他本地的配置檔案到worker節點。如果master本地的配置被改變,應該手動修改workers節點。注意不要覆寫每個worker節點的本地配置中cluster部分。

注意2:當規則,解碼器或者CDB清單被同步,woker節點不會重新開機。他們必須手動重新開機以便應用接收到的配置。

在叢集中所有節點之間的通信使用AES算法加密。

3.2 worker

包含三個主要工作:

  • 從master同步所有完整性檔案
  • 将agent代理狀态發送到master
  • 重定向agent注冊請求到master

4. 叢集工作原理 

叢集被守護程序wazuh-clusterd管理,該守護程序按照主從架構模式與所有節點通信。關于更多使用他們的資訊 參考​​Daemons​​ 章節

下圖顯示了一個worker節點與一個master節點之間,每個worker-master之間的通信是彼此獨立的,因為wokers是與master通信的發起者。

在圖檔中每一個框對應不同的獨立線程

  • keep alive線程:負責每隔一段時間向master發送一個keep alive
  • agent 資訊線程:負責發送agents的狀态到該節點(master)
  • integrity線程:負責同步檔案到master

所有叢集日志被寫在logs/cluters.log

wazuh 叢集

4.1 keep alive線程

worker中keep alive線程每隔一段時間發送keep-alive到master,為了保持與worker節點與master節點之間的tcp長連接配接

4.2 agent資訊線程

work中agent資訊線程發送agent的作業系統資訊,配置的标簽,agent正在上報的狀态到master。master還會在儲存狀态更新之前檢查agent是否存在。這樣做是為了阻止master存儲不必要的資訊,例如,當一個agent被移除,但master沒有通知worker節點時,這種情況非常普遍。

4.3 完整性線程

  • wazuh agent keys file
  • 使用者定義的規則,解碼器與CDB清單
  • agent組檔案與配置設定

4.4 本地完整性線程

繼續閱讀