本文借鉴https://www.cnblogs.com/backlion/p/10394369.html,在此谢谢大佬指明方向!!
本人又总结了wazuh界面上opencat,Vulnerabilities的后台配置情况,以及agent版本升级情况,
系统为:Centos7
建议搭建分布式,本文是单主机架构
系统处于联网状态下
Manager-ip: 10.0.0.50
Agent-ip: 10.0.0.51
Agent2-ip: 10.0.0.52(Windows)
注:elk搭建时。版本问题必须匹配!!!
wazuh-manager wazuh-api版本必须相同
登录Manager-ip
1.安装Wazuh-Manager
cat > /etc/yum.repos.d/wazuh.repo <<\EOF
[wazuh_repo] gpgcheck=1 gpgkey=https://packages.wazuh.com/key/GPG-KEY-WAZUH enabled=1 name=Wazuh repository baseurl=https://packages.wazuh.com/3.x/yum/ protect=1 EOF
2. yum -y install wazuh-manager
执行安装结束后,可以查看到wazuh-manager的状态(正常情况已经running)
3. systemctl status wazuh-manager
4. 安装 Wazuh api
要运行Wazuh API,需要NodeJS> = 4.6.1,如果您没有安装NodeJS或者您的版本低于4.6.1
curl --silent --location https://rpm.nodesource.com/setup\_8.x | bash -
最后提示
## Run `sudo yum install -y nodejs` to install Node.js 8.x LTS Carbon and npm.
## You may also need development tools to build native addons:
sudo yum install gcc-c++ make
## To install the Yarn package manager, run:
curl -sL https://dl.yarnpkg.com/rpm/yarn.repo | sudo tee /etc/yum.repos.d/yarn.repo
sudo yum install yarn
建议先安装上面所提的软件:(若已安装可略过)
yum install gcc-c++ make
curl -sL https://dl.yarnpkg.com/rpm/yarn.repo | sudo tee /etc/yum.repos.d/yarn.repo
yum install yarn
yum install nodejs.x86_64
4.1.验证安装情况
node -v
v8.15.1
4.2
yum install wazuh-api -y
查看api状态
systemctl status wazuh-api
防止自动升级
sed -i "s/^enabled=1/enabled=0/" /etc/yum.repos.d/wazuh.repo
5.安装ELK
安装es
Logstash和Elasticsearch需要Oracle Java JRE 8
cd /opt
curl -Lo jre-8-linux-x64.rpm --header "Cookie: oraclelicense=accept-securebackup-cookie" "https://download.oracle.com/otn-pub/java/jdk/8u202-b08/1961070e4c9b4e26a04e7f5a083f551e/jre-8u202-linux-x64.rpm"
rpm -qlp jre-8-linux-x64.rpm > /dev/null 2>&1 && echo "Java package downloaded successfully" || echo "Java package did not download successfully"
Java package downloaded successfully (提示成功)
yum -y install jre-8-linux-x64.rpm
java -version
java version "1.8.0_202"
Java(TM) SE Runtime Environment (build 1.8.0_202-b08)
Java HotSpot(TM) 64-Bit Server VM (build 25.202-b08, mixed mode)
显示安装成功
然后:
rpm --import https://packages.elastic.co/GPG-KEY-elasticsearch
cat > /etc/yum.repos.d/elastic.repo << EOF [elasticsearch-6.x] name=Elasticsearch repository for 6.x packages baseurl=https://artifacts.elastic.co/packages/6.x/yum gpgcheck=1 gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch enabled=1 autorefresh=1 type=rpm-md EOF
然后安装elasticsearch
如果没有epel库,自己装,否则yum会提示没有elas*的包
wget http://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
rpm -ivh epel-release-latest-7.noarch.rpm
你也可以下载安装rpm包,这里不多介绍,但是一定要注意版本对应,最好下最新版
yum install elasticsearch-6.6.1 -y
注:需要修改elasticsearch的存储地址,可修改elasticsearch.yml(程序未启动,启动后想迁移的,自己找吧,不想写了)
添加开机自启
systemctl daemon-reload
systemctl enable elasticsearch.service
systemctl start elasticsearch.service
systemctl status elasticsearch.service
验证es:(等5秒,等待服务启动.或者,ss -ntl 查看是否开启9200端口)
curl "http://localhost:9200/?pretty"
{
"name" : "h4rvJ-8",
"cluster_name" : "elasticsearch",
"cluster_uuid" : "Py3aJ2FRT2ugijffLO39_w",
"version" : {
"number" : "6.5.4",
"build_flavor" : "default",
"build_type" : "rpm",
"build_hash" : "d2ef93d",
"build_date" : "2018-12-17T21:17:40.758843Z",
"build_snapshot" : false,
"lucene_version" : "7.5.0",
"minimum_wire_compatibility_version" : "5.6.0",
"minimum_index_compatibility_version" : "5.0.0"
},
"tagline" : "You Know, for Search"
}
为Elasticsearch加载Wazuh模板:(Kibana的Wazuh应用程序需要Elasticsearch模板才能正常工作,因此确保正确插入它非常重要。)
curl https://raw.githubusercontent.com/wazuh/wazuh/3.8/extensions/elasticsearch/wazuh-elastic6-template-alerts.json | curl -X PUT "http://localhost:9200/\_template/wazuh" -H 'Content-Type: application/json' -d @-
es调优:
编辑/etc/elasticsearch/elasticsearch.yml
取消#bootstrap.memory_lock: true,结果为下图所示
编辑系统资源的限制
在使用systemd的情况下,需要通过systemd指定系统限制。为此,请创建执行命令的文件夹
mkdir -p /etc/systemd/system/elasticsearch.service.d/
cd /etc/systemd/system/elasticsearch.service.d/
vim elasticsearch.conf,添加如下后保存
[Service] LimitMEMLOCK=infinity
vim /etc/sysconfig/elasticsearch,
取消注释#MAX_LOCKED_MEMORY=unlimited,如下图
设置Elasticsearch堆大小时,有两个规则适用:
(1)使用不超过可用RAM的50%。
(2)使用不超过32 GB。
修改/etc/elasticsearch/jvm.options
文件通过JVM标志更改堆大小:
确保min(Xms)和max(Xmx)大小相同,以防止JVM堆在运行时调整大小
重启elasticsearch
systemctl daemon-reload systemctl restart elasticsearch
启动Elasticsearch后,您可以通过检查mlockall
下一个请求的输出中的值来查看是否已成功应用此设置:(mlocakall:ture则没问题,如果该"mlockall"
字段的输出为false,则请求失败去日志中找到_无法锁定JVM内存_的行/var/log/elasticsearch/elasticsearch.log
curl "http://localhost:9200/\_nodes?filter\_path=\*\*.mlockall&pretty"(图中,因为我配置了X-PACK,所以需要指定es的账户密码)
6.安装logstash
Logstash是收集,解析和转发数据到Elasticsearch的工具,用于索引和存储Wazuh服务器生成的所有日志
yum install logstash-6.6.1 下载慢的可在官网下载rpm包
下载Logstash的Wazuh配置文件:本地配置(仅在单主机架构中)
curl -so /etc/logstash/conf.d/01-wazuh.conf https://raw.githubusercontent.com/wazuh/wazuh/3.8/extensions/logstash/01-wazuh-local.conf
由于Logstash用户需要读取alerts.json文件,请运行以下命令将其添加到OSSEC组:
usermod -a -G ossec logstash
远程配置(仅在分布式架构中)
curl -so /etc/logstash/conf.d/01-wazuh.conf https://raw.githubusercontent.com/wazuh/wazuh/3.8/extensions/logstash/01-wazuh-remote.conf
启用并启动Logstash服务:
systemctl daemon-reload
systemctl enable logstash.service
systemctl start logstash.service
7.安装kibana
yum install kibana-6.6.1
安装wazuh插件(比较慢,估计要5分钟)
sudo -u kibana NODE_OPTIONS="--max-old-space-size=3072" /usr/share/kibana/bin/kibana-plugin install https://packages.wazuh.com/wazuhapp/wazuhapp-3.8.0\_6.5.4.zip
Kibana默认只监听环回接口(localhost)。要将Kibana设置为侦听所有接口,请编辑该文件以/etc/kibana/kibana.yml取消注释该设置server.host。将值更改为:
server.host: "0.0.0.0"
注:下载https://packages.wazuh.com/wazuhapp/wazuhapp-3.8.0\_6.5.4.zip 到本地/home
sudo -u kibana NODE_OPTIONS="--max-old-space-size=3072" /usr/share/kibana/bin/kibana-plugin install file:///home/wazuhapp-3.8.0_6.5.4.zip 即可
补充:kibana安装目录为/usr/share/kibana
建议,chown kibana.kibana /usr/share/kibana,修改kibana目录所属,
通过API连接Wazuh App
在填用户名、密码、url、端口之前,要先到Wazuh server主机上,使用命令生成非默认的认证来保护Wazuh API。
[root@wazhu-manage opt]# cd /var/ossec/api/configuration/auth/ [root@wazhu-manage auth]# ls htpasswd user [root@wazhu-manage auth]# [root@wazhu-manage auth]# node htpasswd -c user test New password: Re-type new password: Adding password for user wazuh-api. [root@wazhu-manage auth]# ll total 4 lrwxrwxrwx 1 root root 49 Jan 21 10:25 htpasswd -> /var/ossec/api/node_modules/htpasswd/bin/htpasswd -rw-rw---- 1 root root 48 Jan 21 12:38 user [root@wazhu-manage auth]# service wazuh-api restart
这里记住一定要重启wazuh-api,为什么呢,因为,你不重启的话,访问55000端口的时候,提交正确的用户和密码也会一直验证不通过
先浏览器访问55000端口,填写用户密码会出现以下类似,
进行API认证添加:点击”Wazuh”按钮
wazuh界面配置VirusTotal
yum install python-requests
/var/ossec/bin/ossec-control enable integrator
3.注册https://www.virustotal.com api
4.要在manager ossec.conf
文件上添加的示例配置:
<ossec_config>
5.在agent 安装:
yum install python-requests -y或者pip install requests
在/var/ossec/etc/ossec.conf中填写内容
6.systemctl restart wazuh-agent
7.登录manager:
systemctl restart wzuh-manager
wazuh配置Vulnerabilities-漏洞扫描
- agent: 编辑/var/ossec/etc/ossec.conf
<ossec_config>no 1h yes yes yes yes yes yes yes
2.重启agent
systemctl restart wazuh-agent
3.manager:编辑 /var/ossec/etc/ossec.conf
<ossec_config>
<ignore_time>6h</ignore_time>
<run_on_start>yes</run_on_start>
<update_interval>1h</update_interval>
<update_interval>3m</update_interval>
<update_from_year>2015</update_from_year>
<update_interval>1h</update_interval>
</ossec_config>
4.重启manager
systemctl restart manager
5.需要稍等一会,等待创建CVE库,要看是否生效可查看/var/ossec/logs/ossec.log(看到starting Red Hat Enterprise 说明成功)
还有一种情况:出现504 我估计是因为连接redhat网站的问题,估计是公司网络问题,我第一次连接时就报504,没有创建成功CVE库,但是重新启动manager后,就正常了,
第二次:
重新启动manager后,就正常了,
13点又出现了,估计还是网络的原因,
wazuh配置opencap
1.yum install openscap-scanner -y(manager,agent都装)
添加(ossec.conf)
2.重启
systemctl restart wazuh-manager
systemctl restart wazuh-agent
3.验证
查看agent若有这条输出,则成功
执行:systemctl status wazuh-agent
Mar 29 13:37:23 localhost.localdomain
oscap[2714]: Evaluation started. Content: wodles/oscap...s.
在manager上进行agent版本升级(目前最新版为3.8.2)
agent版本升级分本地和在线两种,
agent升级通过两种方式皆可:
程序:/var/ossec/bin/agent_upgrade
本地升级:(前提有下载wpk包)agent_upgrade -a 002 -d -f /root/upgrade_openscap_debian.wpk -x install.sh
在线升级:agent_upgrade -a 002 (002为agent-id)
api:
本地升级:curl -u test:test -k -X PUT -f '/var/ossec/var/upgrade/wazuh_agent_v3.8.2_linux_x86_64.wpk' "http://127.0.0.1:55000/agents/001/upgrade?pretty"
在线升级: curl -u test:test -k -X PUT "http://127.0.0.1:55000/agents/003/upgrade?pretty"
本地升级需要wpk包,
下载WPK包可从官网下载,
es导入导出index
例:将json文件导入指定es指定索引
npm install elasticdump -g;
elasticdump --input=/root/3.json --output=http://localhost:9200/twas-asses-3.x
如果es有运行x-pack,或者需要验证密码时,导出指令可这样编写
这个是我的用户和密码:elastic:WHR3xtyd8etSWNDL75F4,
如果你不记得了,记得查看kibana配置文件,如果kibana没有的话,估计es没密码,用户密码可省略
elasticdump --input=http://elastic:WHR3xtyd8etSWNDL75F4[@localhost](https://my.oschina.net/u/570656):9200/twas-asses-new --output=00.json
kibana备份visualization,dashboard
1.进入kibana界面management,Saved Objects
2.搜索自己要备份的名称,
3.Export,会导出json文件
4.import同Export基本一致
Suricata 规则管理更新:
参考链接:https://zhuanlan.zhihu.com/p/36340468
规则更新,安装
pip install --pre --upgrade suricata-update
更新规则库
suricata-update
更新规则源
suricata-update update-sources
列出更新源列表
suricata-update list-sources
启用ptresearch/attackdetection的规则集
suricata-update enable-source ptresearch/attackdetection
再次更新我们的规则集
suricata-update
列出我们使用的规则源
suricata-update list-enabled-sources
指定一个文件让suricata-update合并输出会更简单。在suricata.yaml中修改default-rule-path和rule-files。