Wazuh-一個開源的 XDR 與 SIEM

Wazuh-一個開源的 XDR 與 SIEM

WoodMan

前言

最近上班無所事事,瀏覽 GitHub 的時候看到了名為 Wazuh 的工具,覺得介面看起來滿不錯,就在自己的伺服器架設一個來玩看看。
是說明明是我提議要寫 Blog 的,但遲遲都沒有產出,反而另一位作者先寫了第一篇文章XD(該填坑了)

什麼是 Wazuh?

Wazuh 是一個免費的開源平台,用於預防威脅、偵測與反應。它能夠保護內部、虛擬化、容器化以及基於雲端環境中的裝置。

  • 入侵偵測
  • Log 分析
  • 監控文件完整性
  • 漏洞偵測
  • 設定評估
  • 事件偵測
    總之 Wazuh 是能夠偵測並防禦外部攻擊的開源工具,很適合一些預算不足的企業或是我這種窮學生

架設

筆者架設時的 Wazuh 版本為 4.7.2,請注意每個版本可能會遇到不同的問題。
首先準備好一個環境,我選擇 Ubuntu 22.04 作為 Wazuh 的環境,然後安裝會需要的一些工具:gitvimdocker

  • Clone Wazuh
    1
    git clone https://github.com/wazuh/wazuh-docker.git -b v4.7.2
  • 產生憑證
    1
    2
    cd wazuh-docker/single-node/
    docker compose -f generate-indexer-certs.yml run --rm generator
  • 啟動
    1
    docker compose up -d
  • 使用瀏覽器連 IP 上看看是否成功顯示登入畫面
    登入畫面
    登入畫面
  • 預設帳號密碼 admin/SecretPassword,登入之後就可以看到精美的介面了
    首頁
    首頁

Agent 安裝

當架設好 Wazuh 後就可以開始在你想管理的機器中安裝 Wazuh Agent 啦。
可以使用 Wazuh 提供的產生器產生安裝的指令。

  • 上方選單中的 Agent
    Agent
    Agent
  • 右下方的 Deploy new agent
    Deploy new agent
    Deploy new agent
  • 選擇系統類型
    選擇你的系統
    選擇你的系統
  • 輸入 Wazuh 的 IP
    輸入 IP
    輸入 IP
  • 接著輸入名稱(需注意不可和現有的重複),留空的話會使用 hostname 作為名稱
    選填名稱
    選填名稱
  • 下方就會產生出相對應的指令
    安裝指令
    安裝指令
  • 最後就是到想管理的機器中執行指令安裝 Agent
  • 之後就會在 Agents 頁面中看到上線的機器
    Agent List
    Agent List

修改預設密碼

Wazuh 預設的帳號密碼無法從網頁介面更改,要使用特殊的方式修改。
目前筆者找到有兩種方式,但其中一種方式一直沒辦法成功因此這邊就教我成功的方式。

  • 第一種方式
    • 首先停止 Container
      1
      docker compose down
    • 使用腳本產生密碼的 Hash,會提示你輸入密碼
      1
      docker run --rm -ti wazuh/wazuh-indexer:4.7.2 bash /usr/share/wazuh-indexer/plugins/opensearch-security/tools/hash.sh
    • 將產生出來的密碼記錄並複製起來
    • 編輯 config/wazuh_indexer/internal_users.yml,將剛剛複製的 Hash 貼到你想變更密碼的使用者,例如 admin
      1
      2
      3
      4
      5
      6
      7
      8
      ...
      admin:
      hash: "<here>"
      reserved: true
      backend_roles:
      - "admin"
      description: "Demo admin user"
      ...
    • 編輯 docker-compose.yml 中的使用者密碼,例如 admin
      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      17
      18
      19
      20
      21
      22
      23
      24
      25
      26
      ...
      services:
      wazuh.manager:
      ...
      environment:
      - INDEXER_URL=https://wazuh.indexer:9200
      - INDEXER_USERNAME=admin
      - INDEXER_PASSWORD=<here>
      - FILEBEAT_SSL_VERIFICATION_MODE=full
      - SSL_CERTIFICATE_AUTHORITIES=/etc/ssl/root-ca.pem
      - SSL_CERTIFICATE=/etc/ssl/filebeat.pem
      - SSL_KEY=/etc/ssl/filebeat.key
      - API_USERNAME=wazuh-wui
      - API_PASSWORD=
      ...
      wazuh.dashboard:
      ...
      environment:
      - INDEXER_USERNAME=admin
      - INDEXER_PASSWORD=<here>
      - WAZUH_API_URL=https://wazuh.manager
      - DASHBOARD_USERNAME=kibanaserver
      - DASHBOARD_PASSWORD=kibanaserver
      - API_USERNAME=wazuh-wui
      - API_PASSWORD=
      ...
    • 啟動 Container
      1
      docker-compose up -d
    • 進入 indexer Container 中
      1
      docker exec -it single-node-wazuh.indexer-1 bash
    • 設定變數
      1
      2
      3
      4
      5
      export INSTALLATION_DIR=/usr/share/wazuh-indexer
      CACERT=$INSTALLATION_DIR/certs/root-ca.pem
      KEY=$INSTALLATION_DIR/certs/admin-key.pem
      CERT=$INSTALLATION_DIR/certs/admin.pem
      export JAVA_HOME=/usr/share/wazuh-indexer/jdk
    • 執行 securityadmin.sh 完成設定
      1
      bash /usr/share/wazuh-indexer/plugins/opensearch-security/tools/securityadmin.sh -cd /usr/share/wazuh-indexer/opensearch-security/ -nhnv -cacert  $CACERT -cert $CERT -key $KEY -p 9200 -icl
  • 第二種方式
    可以參考這個官方文件 ,不過我一直沒辦法使用這個方式修改密碼,如果有大神成功,還請分享一下方法 <(_ _)>。
  • Title: Wazuh-一個開源的 XDR 與 SIEM
  • Author: WoodMan
  • Created at : 2024-03-04 09:00:00
  • Updated at : 2024-10-30 14:31:43
  • Link: https://blog.lce-lab.dev/2024/03/04/Wazuh-一個開源的-XDR-與-SIEM/
  • License: This work is licensed under CC BY-NC-SA 4.0.
On this page
Wazuh-一個開源的 XDR 與 SIEM