iT邦幫忙

2023 iThome 鐵人賽

DAY 19
0
Security

一個人的藍隊系列 第 19

Wazuh 備份與升版

  • 分享至 

  • xImage
  •  

沒意外的話,這篇就是 Wazuh 的最後一篇了

不知該哭還笑,光是 Wazuh 就幫我撐了這麼多篇文章,
還好 Wazuh 筆記還算豐富,相對比較輕鬆
但這樣我其他可以講的內容就被壓縮了哈哈
一度有點懷疑,我是不是題目直接報名 Wazuh 大全就好了
不過因為我還是有其他東西想分享,而且題目是一個人的藍隊
所以就讓我們來替Wazuh做個好好 Ending
今天來介紹備份和升級

備份

首先因為我們是使用 Docker 安裝的
所以基本上是可以無痛升級的沒問題
不過Just in case,記得還是要先備份

備份對於資訊安全極為重要,它扮演了保護和恢復資訊資產的關鍵角色
光是看看有多少廠商都有在做備份,就知道這個市場需求跟重要性有多大
還有朗朗上口的口號 321備份原則
「至少3份備份、分別儲存在2種不同儲存媒體、至少1份份在異地保存。」
所以我們一定也要來幫我們的設定檔跟資料來備份一下

提醒
備份(Backup)和備援(Redundancy)是兩個不同的概念。
備份是避免是資料受損,通常將資料複製到不同的儲存媒體或空間。
備援是為了確保系統或服務持續運行,即使發生部分的故障,仍然能夠運行(或是減少停機時間),維持系統跟服務的可用性。
應該要依照資產(服務、系統、資料)用途和需求,來規劃適當的備份與備援計劃。

Wazuh 的備份可以使用下列的指令進行

Step 1:
建立一個準備存放備份資料的目錄,順便也打上時間戳記

bkp_folder=~/wazuh_files_backup/$(date +%F_%H:%M)
mkdir -p $bkp_folder && echo $bkp_folder

Step 2:
將主機的資訊儲存下來在同一個目錄下

cat /etc/*release* > $bkp_folder/host-info.txt
echo -e "\n$(hostname): $(hostname -I)" >> $bkp_folder/host-info.txt

Step 3:
暫停Wazuh服務

# 切換到docker-compose.yml的路徑
cd /root/wazuh-docker/single-node/ 
docker-compose stop

Step 4:
開始備份
因為我們是容器啟動的,我是直接把 Docker-compose.yml 裡面有持久化儲存的目錄都備份
以下內容會備份 Wazuh 的伺服器資料
這種備份方式會把目錄階層跟權限都一起同步

rsync -aREz \
/root/wazuh-docker/single-node/config \
/var/lib/docker/volumes/single-node_* \
$bkp_folder

Step 5:
完成之後可以啟動 Docker

  docker-compose start

也可以確認看看服務是不是正常
備份也可以透過排程的方式來定期備份
但因為備份建議還是將服務暫停會比較好
所以排程要把服務暫停也寫進去
總之要怎麼做可以自行評估考量看看

還有就是官網的備份教學
實際上官網建議備份的目錄列表跟操作如下
不過用容器的方式我們直接全部備份起來也是可以的
https://documentation.wazuh.com/current/user-manual/files-backup/creating/wazuh-central-components.html

rsync -aREz \
/etc/filebeat/ \
/etc/postfix/ \
/var/ossec/api/configuration/ \
/var/ossec/etc/client.keys \
/var/ossec/etc/sslmanager* \
/var/ossec/etc/ossec.conf \
/var/ossec/etc/internal_options.conf \
/var/ossec/etc/local_internal_options.conf \
/var/ossec/etc/rules/local_rules.xml \
/var/ossec/etc/decoders/local_decoder.xml \
/var/ossec/etc/shared/ \
/var/ossec/logs/ \
/var/ossec/queue/agentless/ \
/var/ossec/queue/agents-timestamp \
/var/ossec/queue/fts/ \
/var/ossec/queue/rids/ \
/var/ossec/stats/ \
/var/ossec/var/multigroups/ $bkp_folder

rsync -aREz \
/var/ossec/etc/*.pem \
/var/ossec/etc/authd.pass $bkp_folder

rsync -aREz \
/var/ossec/active-response/bin/<custom_AR_script> \
/var/ossec/etc/lists/<user_cdb_list>.cdb \
/var/ossec/integrations/<custom_integration_script> \
/var/ossec/wodles/<custom_wodle_script> $bkp_folder

rsync -aREz \
/var/ossec/queue/db/ $bkp_folder

rsync -aREz \
/etc/wazuh-indexer/certs/ \
/etc/wazuh-indexer/jvm.options \
/etc/wazuh-indexer/jvm.options.d \
/etc/wazuh-indexer/log4j2.properties \
/etc/wazuh-indexer/opensearch.yml \
/etc/wazuh-indexer/opensearch.keystore \
/etc/wazuh-indexer/opensearch-observability/ \
/etc/wazuh-indexer/opensearch-reports-scheduler/ \
/etc/wazuh-indexer/opensearch-security/ \
/usr/lib/sysctl.d/wazuh-indexer.conf $bkp_folder

rsync -aREz \
/etc/wazuh-dashboard/certs/ \
/etc/wazuh-dashboard/opensearch_dashboards.yml \
/usr/share/wazuh-dashboard/config/opensearch_dashboards.keystore \
/usr/share/wazuh-dashboard/data/wazuh/config/wazuh.yml $bkp_folder

rsync -aREz \
/usr/share/wazuh-dashboard/data/wazuh/downloads/ \
/usr/share/wazuh-dashboard/plugins/wazuh/public/assets/custom/images/ $bkp_folder

升級

升級的話,剛說了可以無痛升級,但實際上可能也不完全是啦 XD
升級要修改一下我們 docker-compose.yml 的內容
這次我們就把容器給終止

docker-compose down

升級第一個當然是把 IMAGE 版本改掉
我這邊是從 4.5.0 升級到 4.5.2 (記得 manager / indexer / dashboard 三個都要改)
實際上,如果架構、路徑、參數沒改變的情況
改完這邊就可以直接重啟服務了,EASY~~~

https://ithelp.ithome.com.tw/upload/images/20231004/20114110kPTjQB3uNy.png

接著版本差異較大的,因為路徑有一些修改,可以參考看看官網的內容
例如 4.3 → 4.5
有許多路徑是有變化的,如果不改的話重啟服務會有問題
這可能就稍微累一點點了,但嚴格來說也不難
https://documentation.wazuh.com/current/deployment-options/docker/upgrading-wazuh-docker.html

https://ithelp.ithome.com.tw/upload/images/20231004/20114110iCWX6iyPwX.png

最好的方式,當然還是自己看看自己原本的版本與要升級的版本的 docker-compose 內容
自己確認好路徑的差異,不要把 volume mount 改錯位置就好
可以直接去 github 確認
https://github.com/wazuh/wazuh-docker/blob/v4.5.2/single-node/docker-compose.yml
https://ithelp.ithome.com.tw/upload/images/20231004/201141102tigUJiFtB.png

我自己從 4.5.0 升級到 4.5.2
是只有改IMAGE啦

改好之後啟動就好了,因為要拉新的 IMAGES 會比較久
也可以順便手動把舊的 IMAGES 刪除掉

docker-compose up -d

服務正常運作,版本也是新的
https://ithelp.ithome.com.tw/upload/images/20231004/20114110MmIWJKw9mM.png

最後,然後別忘了agent也要升級
可以直接從 Wazuh Server 中央去遠端升級 Agent
例如要升級編號為 001 的 Agent

/var/ossec/bin/agent_upgrade -a 001

-l 可以列出所有agents的版本

/var/ossec/bin/agent_upgrade -l

如果有很多 agent,用個 shell 腳本去跑就好

今天就到這邊啦~
小犬颱風來襲,大家注意安全啦


上一篇
Wazuh agent 密碼驗證機制
下一篇
SOC 鐵三角 (SOC visibility triad) 與 可觀測性三本柱 (Observability)
系列文
一個人的藍隊30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言