Wazuh-一個開源的 XDR 與 SIEM
前言
最近上班無所事事,瀏覽 GitHub 的時候看到了名為 Wazuh 的工具,覺得介面看起來滿不錯,就在自己的伺服器架設一個來玩看看。
是說明明是我提議要寫 Blog 的,但遲遲都沒有產出,反而另一位作者先寫了第一篇文章XD(該填坑了)
什麼是 Wazuh?
Wazuh 是一個免費的開源平台,用於預防威脅、偵測與反應。它能夠保護內部、虛擬化、容器化以及基於雲端環境中的裝置。
- 入侵偵測
- Log 分析
- 監控文件完整性
- 漏洞偵測
- 設定評估
- 事件偵測
總之 Wazuh 是能夠偵測並防禦外部攻擊的開源工具,很適合一些預算不足的企業或是我這種窮學生。
架設
筆者架設時的 Wazuh 版本為 4.7.2,請注意每個版本可能會遇到不同的問題。
首先準備好一個環境,我選擇 Ubuntu 22.04 作為 Wazuh 的環境,然後安裝會需要的一些工具:git
、vim
、docker
- Clone Wazuh
1
git clone https://github.com/wazuh/wazuh-docker.git -b v4.7.2
- 產生憑證
1
2cd 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
- 右下方的
Deploy new agent
- 選擇系統類型
- 輸入 Wazuh 的 IP
- 接著輸入名稱(需注意不可和現有的重複),留空的話會使用 hostname 作為名稱
- 下方就會產生出相對應的指令
- 最後就是到想管理的機器中執行指令安裝 Agent
- 之後就會在 Agents 頁面中看到上線的機器
修改預設密碼
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 貼到你想變更密碼的使用者,例如 admin1
2
3
4
5
6
7
8...
admin:
hash: "<here>"
reserved: true
backend_roles:
- "admin"
description: "Demo admin user"
... - 編輯
docker-compose.yml
中的使用者密碼,例如 admin1
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
5export 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
- 首先停止 Container
- 第二種方式
可以參考這個官方文件,不過我一直沒辦法使用這個方式修改密碼,如果有大神成功,還請分享一下方法 <(_ _)>。
- Title: Wazuh-一個開源的 XDR 與 SIEM
- Author: WoodMan
- Created at : 2024-03-04 09:00:00
- Updated at : 2024-11-27 14:50:30
- Link: https://blog.lce-lab.dev/2024/03/04/Wazuh-一個開源的-XDR-與-SIEM/
- License: This work is licensed under CC BY-NC-SA 4.0.