当前位置:网站首页>Wazuh開源主機安全解决方案的簡介與使用體驗
Wazuh開源主機安全解决方案的簡介與使用體驗
2022-07-05 05:37:00 【運維個西瓜】
日漸重要的主機安全管理
隨著各種數字幣風起雲湧的發展,原本以運行Linux系統為主、少有病毒或木馬侵擾的企業主機安全管理領域也越發變得不太平起來了,各色人等為了獲得“免費”的企業級算力挖幣,紛紛打起了企業服務器的主意。企業應用信息安全的管理已經不再滿足於僅僅配備幾個“網絡安全”設備了,僅做到這一點的話,恐怕會連目前的等級保護三級標准也通過不了。
目前一些有實力的大廠都有自研的Linux主機安全管理工具,也有幾家專做安全產品企業服務的廠商推出了商用產品,幾大公有雲廠商的雲應用商店裏也都將主機安全產品與雲防火牆、DDos防護打包提供給客戶了。
相較網絡安全防護產品而言,主機安全產品的成本投入會更高一些,因為這需要在每個主機上都安裝agent節點,計費基本上都是按節點數量收費。對於有一定運營規模的企業來說,使用幾百個物理機、虛機或雲主機都是很常見的,全面部署商用主機安全產品的成本壓力很大。
今天我們給大家介紹的這款開源主機安全產品——Wazuh,是免費的開源軟件。其組件遵守GNU通用公共許可證2版和Apache許可證2.0版(ALv2)。Wazuh平臺提供XDR和SIEM功能來保護雲、容器和服務器工作負載。其中包括日志數據分析、入侵和惡意軟件檢測、文件完整性監控、配置評估、漏洞檢測,以及支持檢查對法規遵從性的檢測。
幾個安全專業名詞:
- XDR(跨層檢測與響應)
- EDR(端點檢測與響應)
- NTA(網絡流量分析)
- SIEM(安全信息與事件管理)
Wazuh的使用場景
- 日志數據分析
- Rootkits檢測
- 配置評估
- 脆弱性檢測
- 容器服務安全
- 文件完整性監控
- 主動響應並扼制
- 系統資源清單管理
- 雲服務安全
- 法規遵從
Wazuh主要組件
Wazuh解决方案基於部署在受監控端點上的Wazuh agent,以及三個核心組件:Wazuh服務器、Wazuh索引器和Wazuh儀錶盤。
- Wazuh indexer:一個高擴展性的全文檢索與分析引擎
- Wazuh server:用於配置和管理agents,接收agents發送的數據並解析,單實例部署可以支持幾百到幾千個agents,支持集群模式以提供更大的處理能力。
- Wazuh dashboard:Web UI,主要用於安全事件、法規遵從、入侵檢測、文件完整性監控及配置評估結果的可視化展示,也用於Wazuh的服務配置與狀態監控。
- Wazuh agents:安裝在各種類型終端上的軟件,支持Linux, Windows, macOS, Solaris, AIX, and HP-UX。提供威脅預防、檢測和響應能力。
除了基於agent的監控功能外,Wazuh平臺還可以監控agentless設備,如防火牆、交換機、路由器或IDS等。例如,可以通過Syslog收集系統日志數據,並且可以通過SSH或API定期探測其數據來監視其配置。
Wazuh部署架構
對於業務負載較重的場景,建議將server與indexer分別部署在不同的主機節點,視負載大小還可以選擇進行server/indexer的單實例或集群模式部署。
Wazuh的組件間通信與常用端口
Wazuh agent與Wazuh server的通信
Wazuh server默認監聽1514端口,用於處理與agents的通信,默認使用AES加密傳輸。
接收到的數據會保存到以下默認路徑:
- /var/ossec/logs/archives/archives.json,保存從agents收到的所有事件消息,建議部署cron定時任務以只保持近期數據,避免發生存儲空間滿的故障
- /var/ossec/logs/alerts/alerts.json,保存匹配上識別規則的事件消息
Wazuh server與Wazuh indexer的通信
Wazuh server通過TLS加密,使用Filebeat將警報和事件數據發送到Wazuh indexer。Filebeat讀取Wazuh server輸出數據並將其發送到Wazuh indexer(默認情况下,偵聽端口9200/TCP)。一旦數據被Wazuh indexer索引,Wazuh儀錶盤將用於進一步信息挖掘和可視化展示。
Wazuh儀錶盤查詢Wazuh RESTful API(默認情况下監聽Wazuh server上的55000/TCP端口),以顯示Wazuh server和agent的配置和狀態相關信息。
Wazuh使用的服務端口與默認值
Wazuh的單實例部署與體驗
為體驗Wazuh的功能,我們可以在測試環境快速部署一個單實例的服務,即Wazuh server, Wazuh indexer 和 Wazuh dashboard都部署在一個主機上面。
主機操作系統建議:CentOS7/8,Ubuntu 16.04/18.04/20.04/22.04
安裝Wazuh:
$ curl -sO https://packages.wazuh.com/4.3/wazuh-install.sh && sudo bash ./wazuh-install.sh -a
在需要監控的終端主機上部署Wazuh agent軟件,參考方法:https://documentation.wazuh.com/current/installation-guide/wazuh-agent/index.html
安裝Linux Wazuh agnet:
rpm --import https://packages.wazuh.com/key/GPG-KEY-WAZUH
cat > /etc/yum.repos.d/wazuh.repo << EOF [wazuh] gpgcheck=1 gpgkey=https://packages.wazuh.com/key/GPG-KEY-WAZUH enabled=1 name=EL-\$releasever - Wazuh baseurl=https://packages.wazuh.com/4.x/yum/ protect=1 EOF
WAZUH_MANAGER="10.0.0.2" yum install wazuh-agent
systemctl daemon-reload
systemctl enable wazuh-agent
systemctl start wazuh-agent
更多部署agent可用的選項請見 Deployment variables for Linux
關於Wazuh agent注册方法請見 Wazuh agent enrollment
禁用Wazuh agent的更新,以避免agent的版本因為不小心而昇級為高於server的版本:
sed -i "s/^enabled=1/enabled=0/" /etc/yum.repos.d/wazuh.repo
怎麼樣删除删除Wazuh服務:
$ sudo bash ./wazuh-install.sh --uninstall
注:如果網絡條件差,yum安裝報錯,可以試下從官網下載相關的rpm包進行安裝 https://documentation.wazuh.com/current/installation-guide/packages-list.html
集成部署Wazuh 與 Elastic Stack basic license
實現了Wazuh與Elastic Stack的功能集成,消息數據存儲到Elastic並基於Elastic Stack進行數據的檢索與圖錶化展示。
有兩種部署方式:
- All-in-one deployment ,單機部署所有,用於測試或小規模環境。
- Distributed deployment
在這裏,我們通過部署一套All-in-one的環境,給大家做一個演示。
注:以下測試,我們都是基於centos7系統展開的。
安裝幾個工具包
yum install zip unzip curl
安裝Elasticsearch
rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch
cat > /etc/yum.repos.d/elastic.repo << EOF [elasticsearch-7.x] name=Elasticsearch repository for 7.x packages baseurl=https://artifacts.elastic.co/packages/7.x/yum gpgcheck=1 gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch enabled=1 autorefresh=1 type=rpm-md EOF
yum install elasticsearch-7.10.2
elastic配置文件:
curl -so /etc/elasticsearch/elasticsearch.yml https://packages.wazuh.com/4.3/tpl/elastic-basic/elasticsearch_all_in_one.yml
安裝數字證書:
curl -so /usr/share/elasticsearch/instances.yml https://packages.wazuh.com/4.3/tpl/elastic-basic/instances_aio.yml
/usr/share/elasticsearch/bin/elasticsearch-certutil cert ca --pem --in instances.yml --keep-ca-key --out ~/certs.zip
unzip ~/certs.zip -d ~/certs
mkdir /etc/elasticsearch/certs/ca -p
cp -R ~/certs/ca/ ~/certs/elasticsearch/* /etc/elasticsearch/certs/
chown -R elasticsearch: /etc/elasticsearch/certs
chmod -R 500 /etc/elasticsearch/certs
chmod 400 /etc/elasticsearch/certs/ca/ca.* /etc/elasticsearch/certs/elasticsearch.*
rm -rf ~/certs/ ~/certs.zip
chown -R elasticsearch.elasticsearch /etc/elasticsearch/
注意需要使用到jdk8
設置服務啟動方式:
systemctl daemon-reload
systemctl enable elasticsearch
systemctl start elasticsearch
創建Elastic Stack pre-built roles and users:
/usr/share/elasticsearch/bin/elasticsearch-setup-passwords auto
檢查下安裝結果:
curl -XGET https://localhost:9200 -u elastic:<elastic_password> -k
安裝Wazuh server
Wazuh server負責從agents收集數據並進行分析,主要包括了Wazuh manager、Wazuh API和Filebeat三個組件。
rpm --import https://packages.wazuh.com/key/GPG-KEY-WAZUH
cat > /etc/yum.repos.d/wazuh.repo << EOF [wazuh] gpgcheck=1 gpgkey=https://packages.wazuh.com/key/GPG-KEY-WAZUH enabled=1 name=EL-\$releasever - Wazuh baseurl=https://packages.wazuh.com/4.x/yum/ protect=1 EOF
安裝wazuh-manager:
yum install wazuh-manager
systemctl daemon-reload
systemctl enable wazuh-manager
systemctl start wazuh-manager
安裝Filebeat:
用於將報警事件和歸檔消息轉發到Elasticsearch存儲。
yum install filebeat-7.10.2
filebeat的配置文件:
curl -so /etc/filebeat/filebeat.yml https://packages.wazuh.com/4.3/tpl/elastic-basic/filebeat_all_in_one.yml
Wazuh報警配置模板:
curl -so /etc/filebeat/wazuh-template.json https://raw.githubusercontent.com/wazuh/wazuh/4.3/extensions/elasticsearch/7.x/wazuh-template.json
chmod go+r /etc/filebeat/wazuh-template.json
下載Filebeat使用的Wazuh模塊:
curl -s https://packages.wazuh.com/4.x/filebeat/wazuh-filebeat-0.2.tar.gz | tar -xvz -C /usr/share/filebeat/module
更新/etc/filebeat/filebeat.yml配置文件中的密碼信息:
output.elasticsearch.password: <elasticsearch_password>
將上面password參數值設置為elastic用戶的密碼
部署證書:
cp -r /etc/elasticsearch/certs/ca/ /etc/filebeat/certs/
cp /etc/elasticsearch/certs/elasticsearch.crt /etc/filebeat/certs/filebeat.crt
cp /etc/elasticsearch/certs/elasticsearch.key /etc/filebeat/certs/filebeat.key
啟動Filebeat:
systemctl daemon-reload
systemctl enable filebeat
systemctl start filebeat
測試安裝結果:
filebeat test output
安裝Kibana:
yum install kibana-7.10.2
部署證書:
mkdir /etc/kibana/certs/ca -p
cp -R /etc/elasticsearch/certs/ca/ /etc/kibana/certs/
cp /etc/elasticsearch/certs/elasticsearch.key /etc/kibana/certs/kibana.key
cp /etc/elasticsearch/certs/elasticsearch.crt /etc/kibana/certs/kibana.crt
chown -R kibana:kibana /etc/kibana/
chmod -R 500 /etc/kibana/certs
chmod 440 /etc/kibana/certs/ca/ca.* /etc/kibana/certs/kibana.*
curl -so /etc/kibana/kibana.yml https://packages.wazuh.com/4.3/tpl/elastic-basic/kibana_all_in_one.yml
編輯/etc/kibana/kibana.yml,更新密碼:
elasticsearch.password: <elasticsearch_password>
password參數值設置為elastic用戶的密碼
mkdir /usr/share/kibana/data
chown -R kibana:kibana /usr/share/kibana
安裝Wazuh kibana插件:
cd /usr/share/kibana
sudo -u kibana /usr/share/kibana/bin/kibana-plugin install https://packages.wazuh.com/4.x/ui/kibana/wazuh_kibana-4.3.5_7.10.2-1.zip
允許kibana用戶使用443端口:
setcap 'cap_net_bind_service=+ep' /usr/share/kibana/node/bin/node
登錄web平臺:
URL: https://<wazuh_server_ip>
user: elastic
password: <PASSWORD_elastic>
禁用wazuh,elastic的yum安裝源,以避免部分軟件包被自動更新而導致出現兼容性問題:
sed -i "s/^enabled=1/enabled=0/" /etc/yum.repos.d/wazuh.repo
sed -i "s/^enabled=1/enabled=0/" /etc/yum.repos.d/elastic.repo
安裝Wazuh agent
找一個測試機,安裝Wazuh agent,用於驗證測試相關功能。
https://documentation.wazuh.com/current/installation-guide/wazuh-agent/index.html
rpm --import https://packages.wazuh.com/key/GPG-KEY-WAZUH
cat > /etc/yum.repos.d/wazuh.repo << EOF [wazuh] gpgcheck=1 gpgkey=https://packages.wazuh.com/key/GPG-KEY-WAZUH enabled=1 name=EL-\$releasever - Wazuh baseurl=https://packages.wazuh.com/4.x/yum/ protect=1 EOF
WAZUH_MANAGER="IP-OF-WAZUH-MANAGER" yum install wazuh-agent
請將WAZUH_MANAGER參數值替換為Wazuh-manager主機的IP地址
systemctl daemon-reload
systemctl enable wazuh-agent
systemctl start wazuh-agent
sed -i "s/^enabled=1/enabled=0/" /etc/yum.repos.d/wazuh.repo
登錄kibana web平臺查看配置結果
從下面的截圖可以看到,Wazuh提供的安全管理功能是非常豐富的,有很多維度和層次,圖形化界面的展示使用體驗也很不錯。
接下來, 我們還將在後續的文章中繼續分享Wazuh的生產環境分布式部署方案與實踐,以及信息安全管理需求的定制化配置模板的設計與實現。
边栏推荐
- 剑指 Offer 58 - II. 左旋转字符串
- Over fitting and regularization
- Haut OJ 1357: lunch question (I) -- high precision multiplication
- Haut OJ 1321: mode problem of choice sister
- 每日一题-无重复字符的最长子串
- Maximum number of "balloons"
- Add level control and logger level control of Solon logging plug-in
- Daily question - Search two-dimensional matrix PS two-dimensional array search
- [to be continued] [depth first search] 547 Number of provinces
- Zzulioj 1673: b: clever characters???
猜你喜欢
YOLOv5-Shufflenetv2
SAP-修改系统表数据的方法
剑指 Offer 06.从头到尾打印链表
Sword finger offer 05 Replace spaces
lxml.etree.XMLSyntaxError: Opening and ending tag mismatch: meta line 6 and head, line 8, column 8
剑指 Offer 09. 用两个栈实现队列
Remote upgrade afraid of cutting beard? Explain FOTA safety upgrade in detail
Sword finger offer 53 - I. find the number I in the sorted array
F - Two Exam(AtCoder Beginner Contest 238)
Introduction to tools in TF-A
随机推荐
EOJ 2021.10 E. XOR tree
A new micro ORM open source framework
Acwing 4301. Truncated sequence
[jailhouse article] look mum, no VM exits
Configuration and startup of kubedm series-02-kubelet
Haut OJ 1357: lunch question (I) -- high precision multiplication
A misunderstanding about the console window
Remote upgrade afraid of cutting beard? Explain FOTA safety upgrade in detail
Haut OJ 1241: League activities of class XXX
剑指 Offer 04. 二维数组中的查找
[jailhouse article] performance measurements for hypervisors on embedded ARM processors
【Jailhouse 文章】Look Mum, no VM Exits
Fried chicken nuggets and fifa22
Maximum number of "balloons"
Zheng Qing 21 ACM is fun. (3) part of the problem solution and summary
Haut OJ 1245: large factorial of CDs --- high precision factorial
object serialization
A problem and solution of recording QT memory leakage
Analysis of backdoor vulnerability in remote code execution penetration test / / phpstudy of national game title of national secondary vocational network security B module
[es practice] use the native realm security mode on es