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 : 2025-03-07 20:03:31
  • 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