• wazuh安装手册


    一、wazhu部署架构

    1.服务器上运行的Agent端会将采集到的各种信息通过加密信道传输到管理端。

    2.管理端负责分析从代理接收的数据,并在事件与告警规则匹配时触发警报。

    3.LogStash会将告警日志或者监控日志发送到Elasticsearch上面,最后通过Kibana可视化展示日志。

    分布式部署:在不同主机上运行Wazuh服务器和Elastic Stack集群(一个或多个服务器)。
    单主机架构:在同一主机上运行Wazuh服务器和Elastic Stack。
    两者的主要差别在于,前者需要使用FileBeat与Logstash进行日志传输,后者直接本机读取日志文件

                                                                        图一:分布式部署
                                                                         图二:单主机架构
     

    二、更新源配置

    如果网速比较慢的可以更换为国内软件源,默认情况下并不用

    yum repolist   #查看当前使用的源
    cp /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak   #备份原来的源
    wget http://mirrors.aliyun.com/repo/Centos-7.repo   #下载阿里云centos7源
    wget http://mirrors.163.com/.help/CentOS7-Base-163.repo   #下载163 centos7源
    mv 你下载的源 /etc/yum.repos.d/CentOS-Base.repo
    yum clean all && yum makecache         #清理并重建yum缓存
    时间服务器:
    yum -y install ntp ntpdate  #安装NTP和更新NTP
    ntpdate cn.ntp.org.cn  #NTP设置
    hwclock --systohc #系统时间写入硬件时间
    ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime   #linux的时区设置为上海时区
     

    三、安装 Wazuh Manager

    安装环境为centos7.1X64系统

    方法一:

    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
    yum install wazuh-manager

    方法二:

    [root@wazhu-manage ~]# cd /opt
    
    [root@wazhu-manage opt]# wget https://packages.wazuh.com/3.x/yum/wazuh-manager-3.8.0-1.x86_64.rpm
    
    [root@wazhu-manage opt]# chmod +x wazuh-manager-3.8.0-1.x86_64.rpm 
    
    [root@wazhu-manage opt]# rpm -ivh wazuh-manager-3.8.0-1.x86_64.rpm 
    
    [root@wazhu-manage opt]# systemctl status wazuh-manager.service
    
    ● wazuh-manager.service - Wazuh manager
    
       Loaded: loaded (/etc/systemd/system/wazuh-manager.service; enabled; vendor preset: disabled)
    
       Active: active (running) since Mon 2019-01-21 09:58:45 UTC; 34s ago
    
      Process: 13789 ExecStart=/usr/bin/env ${DIRECTORY}/bin/ossec-control start (code=exited, status=0/SUCCESS)
    
       CGroup: /system.slice/wazuh-manager.service
    
               ├─13819 /var/ossec/bin/ossec-authd
    
               ├─13823 /var/ossec/bin/wazuh-db
    
               ├─13841 /var/ossec/bin/ossec-execd
    
               ├─13847 /var/ossec/bin/ossec-analysisd
    
               ├─13851 /var/ossec/bin/ossec-syscheckd
    
               ├─13859 /var/ossec/bin/ossec-remoted
    
               ├─13861 /var/ossec/bin/ossec-logcollector
    
               ├─13882 /var/ossec/bin/ossec-monitord
    
               └─13886 /var/ossec/bin/wazuh-modulesd

    四、安装 Wazuh API

    要运行Wazuh API,需要NodeJS> = 4.6.1,如果您没有安装NodeJS或者您的版本低于4.6.1,我们建议您添加官方NodeJS存储库,如下所示:

    [root@wazhu-manage bin]# curl --silent --location https://rpm.nodesource.com/setup_8.x | bash -
    
    [root@wazhu-manage bin]# yum install nodejs.x86_64 
    
    [root@wazhu-manage bin]# node -v   #或者yum install nodejs
    
    v6.14

    要运行Wazuh API,需要Python> = 2.7。它默认安装或包含在大多数Linux发行版的官方存储库中。要确定系统上的python版本是否低于2.7,可以运行以下命令:

    [root@wazhu-manage bin]# python --version        #Centos7默认python2
    
    Python 2.7.5
    
    [root@wazhu-manage bin]# cd /opt
    
    [root@wazhu-manage opt]# wget https://packages.wazuh.com/3.x/yum/wazuh-api-3.8.0-1.x86_64.rpm
    
    [root@wazhu-manage opt]# ls
    
    wazuh-api-3.8.0-1.x86_64.rpm wazuh-manager-3.8.0-1.x86_64.rpm
    
    [root@wazhu-manage opt]# chmod +x wazuh-api-3.8.0-1.x86_64.rpm 
    
    [root@wazhu-manage opt]# rpm -ivh wazuh-api-3.8.0-1.x86_64.rpm  #或者yum install wazuh-api
    
     
    
    [root@wazhu-manage opt]# systemctl start  wazuh-api
    
    [root@wazhu-manage opt]# systemctl status wazuh-api
    
    ● wazuh-api.service - Wazuh API daemon
    
       Loaded: loaded (/etc/systemd/system/wazuh-api.service; enabled; vendor preset: disabled)
    
       Active: active (running) since Mon 2019-01-21 10:25:30 UTC; 33s ago
    
         Docs: https://documentation.wazuh.com/current/user-manual/api/index.html
    
     Main PID: 15454 (node)
    
       CGroup: /system.slice/wazuh-api.service
    
               └─15454 /bin/node /var/ossec/api/app.js
    
    Jan 21 10:25:30 wazhu-manage systemd[1]: Started Wazuh API daemon.

    防止自动升级:

    # sed -i "s/^enabled=1/enabled=0/" /etc/yum.repos.d/wazuh.repo

    五、安装 Wazuh agent

    1.centos下安装agent:

    1.1. 包安装

    [root@wazhu-manage opt]# ls
    
    wazuh-api-3.8.0-1.x86_64.rpm wazuh-manager-3.8.0-1.x86_64.rpm
    
    [root@wazhu-manage opt]# wget https://packages.wazuh.com/3.x/yum/wazuh-agent-3.8.0-1.x86_64.rpm
    
    [root@wazhu-manage opt]# chmod +x wazuh-agent-3.8.0-1.x86_64.rpm
    
    [root@wazhu-manage opt]# rpm -ivh wazuh-agent-3.8.0-1.x86_64.rpm 
    
    warning: wazuh-agent-3.8.0-1.x86_64.rpm: Header V4 RSA/SHA1 Signature, key ID 29111145: NOKEY
    
    error: Failed dependencies:
    
     wazuh-manager conflicts with wazuh-agent-3.8.0-1.x86_64
    
     wazuh-agent conflicts with (installed) wazuh-manager-3.8.0-1.x86_64
    
    # 修改配置文件 vim /var/ossec/etc/ossec.conf # 导入密钥 /var/ossec/bin/manage_agents # 启动服务 /var/ossec/bin/ossec-control start

    1.2. yum安装:

     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
    [root@wazhu-manage opt]# yum install wazuh-agent

    2.ubuntu下安装agent

    2.1.包安装

    root@agent01:~# cd /opt
    
    root@agent01:/opt# wget https://packages.wazuh.com/3.x/apt/pool/main/w/wazuh-agent/wazuh-agent_3.8.0-1_amd64.deb
    
    root@agent01:/opt# dpkg -i wazuh-agent_3.8.0-1_amd64.deb 
    
    Selecting previously unselected package wazuh-agent.
    
    (Reading database ... 92845 files and directories currently installed.)
    
    Preparing to unpack wazuh-agent_3.8.0-1_amd64.deb ...
    
    Unpacking wazuh-agent (3.8.0-1) ...
    
    Setting up wazuh-agent (3.8.0-1) ...
    
    Processing triggers for systemd (229-4ubuntu21.4) ...
    
    Processing triggers for ureadahead (0.100.0-19) ...

    2.2. apt-get安装

    # apt-get install curl apt-transport-https lsb-release #安装必要包
    
    # curl -s https://packages.wazuh.com/key/GPG-KEY-WAZUH | apt-key add - #安装Wazuh存储库GPG密钥
    
    #echo"deb https://packages.wazuh.com/3.x/apt/ stable main"| tee /etc/apt/sources.list.d/wazuh.list #添加存储库
    
    # apt-get update #更新包信息
    
    # apt-get install wazuh-agent #安装Wazuh代理
    
    #echo"wazuh-agent hold"| sudo dpkg --set-selections #禁用更新

    3.windows下安装agent

    https://packages.wazuh.com/3.x/windows/wazuh-agent-3.8.0-1.msi
    
    agent-auth.exe -m 管理端ip -P "管理端密码
    
    agent-auth -m 管理端ip

    六、安装Elastic Stack

    1.安装elastic stack运行环境包

    Logstash和Elasticsearch需要Oracle Java JRE 8

    [root@wazhu-manage 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"
    
    [root@wazhu-manage opt]# 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
    
    [root@wazhu-manage opt]# yum -y install jre-8-linux-x64.rpm
    
    [root@wazhu-manage opt]# java -version
    
    java version "1.8.0_202"

    安装Elastic存储库及其GPG密钥:

    [root@wazhu-manage opt]# rpm --import https://packages.elastic.co/GPG-KEY-elasticsearch
    
    [root@wazhu-manage opt]# 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
    
    [root@wazhu-manage opt]# cat /etc/yum.repos.d/elastic.repo 
    
    [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

    2.安装elasticsearch

    [root@wazhu-manage opt]# yum install elasticsearch-6.5.4
    
    [root@wazhu-manage opt]# systemctl daemon-reload
    [root@wazhu-manage opt]# systemctl enable elasticsearch.service
    Created symlink from /etc/systemd/system/multi-user.target.wants/elasticsearch.service to /usr/lib/systemd/system/elasticsearch.service.
    [root@wazhu-manage opt]# systemctl start elasticsearch.service
    [root@wazhu-manage opt]# systemctl status  elasticsearch.service
     elasticsearch.service - Elasticsearch
       Loaded: loaded (/usr/lib/systemd/system/elasticsearch.service; enabled; vendor preset: disabled)
       Active: active (running) since Mon 2019-01-21 11:20:32 UTC; 12s ago
         Docs: http://www.elastic.co
     Main PID: 16541 (java)
       CGroup: /system.slice/elasticsearch.service
               ├─16541 /bin/java -Xms1g -Xmx1g -XX:+UseConcMarkSweepGC -XX:CMSInitia...
               └─16604 /usr/share/elasticsearch/modules/x-pack-ml/platform/linux-x86...
    
    

    等待Elasticsearch服务器完成启动非常重要。使用以下命令检查当前状态,该命令应该给出如下所示的响应:

    [root@wazhu-manage opt]# curl "http://localhost:9200/?pretty"
    
    {
    
      "name" : "j2iH056",
    
      "cluster_name" : "elasticsearch",
    
      "cluster_uuid" : "iHTOPid4SR-EoZ5qX73-kw",
    
      "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模板才能正常工作,因此确保正确插入它非常重要。)

    [root@wazhu-manage opt]# 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 @-
    
     
    
      % Total % Received % Xferd Average Speed Time Time Time Current
    
                                     Dload Upload Total Spent Left Speed
    
    100 19385 100 19385 0 0 96376 0 --:--:-- --:--:-- --:--:-- 96442

    建议编辑默认配置以提高Elasticsearch的性能。为此,请参阅Elasticsearch调优

    七、Logstash

    Logstash是收集,解析和转发数据到Elasticsearch的工具,用于索引和存储Wazuh服务器生成的所有日志。有关更多信息,请参阅Logstash

    1.安装Logstash包:

    [root@wazhu-manage opt]# yum install logstash-6.5.4

    2.下载Logstash的Wazuh配置文件:

    本地配置(仅在单主机架构中):

    [root@wazhu-manage opt]# 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组:

    [root@wazhu-manage opt]# 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.con

    启用并启动Logstash服务:

    [root@wazhu-manage opt]# systemctl daemon-reload
    
    [root@wazhu-manage opt]# systemctl enable logstash.service
    
    Created symlink from /etc/systemd/system/multi-user.target.wants/logstash.service to /etc/systemd/system/logstash.service.
    
    [root@wazhu-manage opt]# systemctl start logstash.service
    
    [root@wazhu-manage opt]# systemctl status logstash.service
    
    logstash.service - logstash
    
    Loaded: loaded (/etc/systemd/system/logstash.service; enabled; vendor preset: disabled)
    
    Active: active (running) since Mon 2019-01-21 11:33:40 UTC; 10s ago
    
    Main PID: 17525 (java)
    
    CGroup: /system.slice/logstash.service
    
    └─17525 /bin/java -Xms1g -Xmx1g -XX:+UseParNewGC -XX:+UseConcMarkSwee...
    
    

    八、安装Kibana

    Kibana是一个灵活,直观的Web界面,用于搜索和可视化在Elasticsearch中。在Kibana上查找更多信息。

    1.安装Kibana包:

    [root@wazhu-manage opt]# yum install kibana-6.5.4
    2.为Kibana安装Wazuh应用程序插件:(Kibana插件安装过程可能需要几分钟。请耐心等待)
    [root@wazhu-manage opt]# 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
    Attempting to transfer from https://packages.wazuh.com/wazuhapp/wazuhapp-3.8.0_6.5.4.zip
    Transferring 17809056 bytes....................
    Transfer complete
    Retrieving metadata from plugin archive
    Extracting plugin archive
    Extraction complete
    Optimizing and caching browser bundles...
    Plugin installation complete
    3.Kibana默认只监听环回接口(localhost)。要将Kibana设置为侦听所有接口,请编辑该文件以/etc/kibana/kibana.yml取消注释该设置server.host。将值更改为:
    [root@wazhu-manage opt]# vi /etc/kibana/kibana.yml
    server.host: "0.0.0.0"
    
    
    建议为Kibana设置Nginx代理,以便使用SSL加密并启用身份验证。可以在为Kibana设置SSL和身份验证中找到设置代理的说明。
    
    

    4.启用并启动Kibana服务:

    [root@wazhu-manage opt]# systemctl daemon-reload
    
    [root@wazhu-manage opt]# systemctl enable kibana.service
    
    Created symlink from /etc/systemd/system/multi-user.target.wants/kibana.service to /etc/systemd/system/kibana.service.
    
    [root@wazhu-manage opt]# systemctl start kibana.service
    
    [root@wazhu-manage opt]# systemctl status kibana.service
    
    kibana.service - Kibana
    
    Loaded: loaded (/etc/systemd/system/kibana.service; enabled; vendor preset: disabled)
    
    Active: active (running) since Mon 2019-01-21 11:51:54 UTC; 7s ago
    
    Main PID: 18638 (node)
    
    CGroup: /system.slice/kibana.service
    
    └─18638 /usr/share/kibana/bin/../node/bin/node --no-warnings /usr/sha...

    5.(可选)禁用Elasticsearch存储库:

    建议禁用Elasticsearch存储库,以防止升级到较新的Elastic Stack版本,因为可能会撤消应用程序的更改。为此,请使用以下命令:

    sed -i "s/^enabled=1/enabled=0/" /etc/yum.repos.d/elastic.repo

    九、通过API连接Wazuh App

    通过149.248.9.0:5601访问 Kibana,无法访问,查看本地端口已经监听在0.0.0.0:5601,所以关闭防火墙

    [root@wazhu-manage opt]# yum install net-tools
    
    [root@wazhu-manage opt]# netstat -ntlp
    Active Internet connections (only servers)
    Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
    tcp        0      0 0.0.0.0:1515            0.0.0.0:*               LISTEN      13819/ossec-authd   
    tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      3140/sshd           
    tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      6246/master         
    tcp        0      0 0.0.0.0:5601            0.0.0.0:*               LISTEN      18638/node          
    tcp6       0      0 127.0.0.1:9200          :::*                    LISTEN      16541/java          
    tcp6       0      0 ::1:9200                :::*                    LISTEN      16541/java          
    tcp6       0      0 127.0.0.1:9300          :::*                    LISTEN      16541/java          
    tcp6       0      0 ::1:9300                :::*                    LISTEN      16541/java          
    tcp6       0      0 :::22                   :::*                    LISTEN      3140/sshd           
    tcp6       0      0 :::55000                :::*                    LISTEN      15454/node          
    tcp6       0      0 ::1:25                  :::*                    LISTEN      6246/master         
    tcp6       0      0 127.0.0.1:9600          :::*                    LISTEN      17525/java  
    1515端口是给agent来获取认证key的,还有1514/udp管理端监听端口,5601/tcp Kibana端口,55000/tcp Wazuh-api 端口看情况开放
    [root@wazhu-manage opt]# systemctl disable firewalld
    [root@wazhu-manage opt]# systemctl stop firewalld
    [root@wazhu-manage opt]# systemctl status firewalld
    访问界面:
     
     添加api之前准备工作:

    在填用户名、密码、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 wazuh-api
    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
    可以先访问一下web,看认证是否成功:
    进行API认证添加:
     
    点击”Wazuh”按钮
     
    点击”保存Wazuh api”
     
     

      

    十、为Kibana设置SSL和身份验证

    默认情况下,Kibana(包括Wazuh应用程序)与最终用户系统上的Web浏览器之间的通信未加密。强烈建议将Kibana配置为使用SSL加密并启用身份验证。在本节中,我们将介绍如何使用NGINX设置完成此操作。

    NGINX是一种流行的开源Web服务器和反向代理,以其高性能,稳定性,丰富的功能集,简单的配置和低资源消耗而着称。在此示例中,我们将其用作反向代理,以向最终用户提供对Kibana的加密和经过身份验证的访问。

    注意:1.下面描述的许多命令都需要以root用户权限执行。2.Kibana Web界面的默认端口是5601本例将使80443端口可用于HTTP / HTTPS访问。

    1.用于Kibana的NGINX SSL代理(基于RPM的发行版)

    1.1.安装NGINX

      对于CentOS:

    [root@wazhu-manage ~]# cat >/etc/yum.repos.d/nginx.repo <<EOF
    [nginx]
    name=nginx repo
    baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
    gpgcheck=0
    enabled=1
    EOF
    [root@wazhu-manage ~]# cat /etc/yum.repos.d/nginx.repo
    [nginx]
    name=nginx repo
    baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
    gpgcheck=0
    enabled=1
    [root@wazhu-manage ~]#  yum install nginx

    注意:有关更多信息,请参阅NGINX:官方Red Hat / CentOS软件包

    1.2.安装SSL证书和私钥

    a.如果您拥有有效的签名证书,请将密钥文件<ssl_key>和证书文件复制<ssl_pem>到适当的位置:

    # mkdir -p /etc/pki/tls/certs /etc/pki/tls/private
    # cp <ssl_pem> /etc/pki/tls/certs/kibana-access.pem
    # cp <ssl_key> /etc/pki/tls/private/kibana-access.key
    b.如果您没有有效的签名证书,请按如下方式创建自签名证书。请记住将字段设置为您的服务器名称。例如,如果您的服务器是,您将执行以下操作:
    [root@wazhu-manage ~]# mkdir -p /etc/pki/tls/certs /etc/pki/tls/private
    [root@wazhu-manage ~]# openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/pki/tls/private/kibana-access.key -out /etc/pki/tls/certs/kibana-access.pem
    Generating a 2048 bit RSA private key
    ......................................................................................+++
    ..........+++
    writing new private key to '/etc/pki/tls/private/kibana-access.key'
    -----
    You are about to be asked to enter information that will be incorporated
    into your certificate request.
    What you are about to enter is what is called a Distinguished Name or a DN.
    There are quite a few fields but you can leave some blank
    For some fields there will be a default value,
    If you enter '.', the field will be left blank.
    -----
    Country Name (2 letter code) [XX]:CN
    State or Province Name (full name) []:sichuan
    Locality Name (eg, city) [Default City]:chengdu
    Organization Name (eg, company) [Default Company Ltd]:hcb
    Organizational Unit Name (eg, section) []:56qq
    Common Name (eg, your name or your server's hostname) []:56qq.com
    Email Address []:root@backlion.org
    1.3.将NGINX配置为Kibana的HTTPS反向代理
    [root@wazhu-manage ~]#cat > /etc/nginx/conf.d/default.conf <<EOF
    server {  listen 80;  listen [::]:80;  return 301 https://$host$request_uri; } server {  listen 443 default_server;  listen [::]:443;  ssl on;  ssl_certificate /etc/pki/tls/certs/kibana-access.pem;  ssl_certificate_key /etc/pki/tls/private/kibana-access.key;  access_log /var/log/nginx/nginx.access.log;  error_log /var/log/nginx/nginx.error.log;  location / {  auth_basic "Restricted";  auth_basic_user_file /etc/nginx/conf.d/kibana.htpasswd;  proxy_pass http://kibana-server-ip:5601/;  } } EOF
    [root@wazhu-manage ~]# cat /etc/nginx/conf.d/default.conf
    server {
        listen 80;
        listen [::]:80;
        return 301 https://$host$request_uri;
    }
    server {
        listen 443 default_server;
        listen            [::]:443;
        ssl on;
        ssl_certificate /etc/pki/tls/certs/kibana-access.pem;
        ssl_certificate_key /etc/pki/tls/private/kibana-access.key;
        access_log            /var/log/nginx/nginx.access.log;
        error_log            /var/log/nginx/nginx.error.log;
        location / {
            auth_basic "Restricted";
            auth_basic_user_file /etc/nginx/conf.d/kibana.htpasswd;
            proxy_pass http://localhost:5601/;
        }
    }
    [root@wazhu-manage ~]#vi  /etc/kibana/kibana.yml
    server.host: "localhost"
    [root@wazhu-manage opt]# systemctl restart kibana.service

    注意:我们配置Nginx以封装Kibana服务器的IP地址。此配置允许将Kibana请求重定向到HTTPS。使用此配置时,建议/etc/kibana/kibana.yml编辑文件以将字段设置server.hostlocalhost。必须重新启动Kibana服务才能应用此更改。auth_basic_user_file是一个存储用户名密码的文件。需要htpasswd命令来生成

    1.如果正在使用SELinux,则允许NGINX连接到Kibana端口:

    # semanage port -a -t http_port_t -p tcp 5601

    这假设您已policycoreutils-python安装以管理SELinux。

    2.通过htpasswd启用身份验证
    1.安装包httpd-tools
    [root@wazhu-manage conf.d]# yum install httpd-tools
    2.生成.htpasswd文件。确保替换wazuh为您选择的用户名,与auth_basic_user_file匹配:
    [root@wazhu-manage conf.d]# htpasswd -c /etc/nginx/conf.d/kibana.htpasswd wazuh
    New password: 
    Re-type new password: 
    Adding password for user wazuh
    3.重启NGINX:
    [root@wazhu-manage conf.d]# systemctl restart  nginx
    [root@wazhu-manage conf.d]# systemctl status  nginx
    ● nginx.service - nginx - high performance web server
       Loaded: loaded (/usr/lib/systemd/system/nginx.service; disabled; vendor preset: disabled)
       Active: active (running) since Tue 2019-01-22 05:11:32 UTC; 12s ago
         Docs: http://nginx.org/en/docs/
      Process: 10934 ExecStart=/usr/sbin/nginx -c /etc/nginx/nginx.conf (code=exited, status=0/SUCCESS)
     Main PID: 10935 (nginx)
       CGroup: /system.slice/nginx.service
               ├─10935 nginx: master process /usr/sbin/nginx -c /etc/nginx/nginx.conf
               └─10936 nginx: worker process
    Jan 22 05:11:32 wazhu-manage systemd[1]: Starting nginx - high performance web server...
    Jan 22 05:11:32 wazhu-manage systemd[1]: Started nginx - high performance web server.
    现在,通过HTTPS访问Kibana Web界面。它将提示您输入在上述步骤中创建的用户名和密码。

    警告:如果您遇到权限问题或获得502代码错误,请尝试执行以下命令: setsebool -P httpd_can_network_connect 1

    其中的wazuh可以更换为自己想要的用户名(上面的路径需要和nginx里配置的密码路径一致)。回车后,会提示输入密码俩次。输入一致后就完成用户的创建,这是我们可以vim下

    kibana.htpasswd 看看,里面是加密过后的密码。
     

    十、注册agent

    1.注册过程

    每个Wazuh代理都通过称为OSSEC消息协议的安全方式将数据发送到Wazuh Manager。这使用预共享密钥加密消息。最初,当您成功安装新的Wazuh代理时,由于缺少预共享密钥,因此无法与Wazuh Manager通信。

    注册过程包括在Manager和代理之间创建信任关系的机制。此过程可以在Manager本身或注册服务中完成。此服务在Manager上运行,代理可以使用某些凭据请求预共享密钥。管理器将使用密钥进行回复,并将新代理存储在本地数据库中。

    另一种方法是使用RESTful API,这只是Wazuh Manager上本地注册的包装器。

    2.agent key

    管理器使用该文件/var/ossec/etc/client.keys存储每个代理的注册记录,其中包括ID,名称,IP和密钥。例:

    001Server1anye20e0394dca71bacdea57d4ca25d203f836eca12eeca1ec150c2e5f4309a653a
    002ServerProd192.246.247.247b0c5548beda537daddb4da698424d0856c3d4e760eaced803d58c07ad1a95f4c
    003DBServer192.168.0.1/248ec4843da9e61647d1ec3facab542acc26bd0e08ffc010086bb3a6fc22f6f65b

    代理还具有/var/ossec/etc/client.keys仅包含其自己的注册记录的文件。Server1代理示例:

    001 Server1 any e20e0394dca71bacdea57d4ca25d203f836eca12eeca1ec150c2e5f4309a653a
    

    注册代理的基本数据

    要注册代理,必须提供代理的名称和IP。

    有几种方法可以设置代理IP:

    • 任何IP:允许代理从任何IP地址进行连接。示例:Server1anyIP。
    • 固定IP:允许代理仅从指定的IP连接。示例:ServerProd拥有IP 192.246.247.247
    • 范围IP:允许代理从指定的IP范围进行连接。示例:DBServer具有IP范围192.168.0.1/24

    一些注册方法在注册过程中自动检测代理的IP。

    3.注册方法

    以下是注册代理的三种方法: 
    类型方法描述
    手动 使用命令行 使用manage_agents二进制文件手动注册代理。
    自动 使用注册服务 使用ossec-authd二进制文件自动注册代理。
    使用RESTful API 通过脚本(bash,python,powershell)和API注册代理。
    注意:如果您在群集模式下运行Wazuh,请参阅配置群集部分以获取有关群集中注册过程的更多详细信息。

    3.1.手动命令注册

    要注册代理,请按照下列步骤操作:

    1.在 manager上,运行manage_agents

    [root@wazhu-manage bin]# /var/ossec/bin/manage_agents
    2.选择A以添加代理。系统将要求您提供代理的名称(使用代理主机名或其他任意名称),IP地址和代理ID(此字段可以留空以自动分配ID)。
    

    在此示例中,我们将添加名为“Example”的代理,动态IP(任意)和自动ID:

    ****************************************
    * Wazuh v3.8.0 Agent manager.          *
    * The following options are available: *
    ****************************************
       (A)dd an agent (A).
       (E)xtract key for an agent (E).
       (L)ist already added agents (L).
       (R)emove an agent (R).
       (Q)uit.
    Choose your action: A,E,L,R or Q: A
    - Adding a new agent (use 'q' to return to the main menu).
      Please provide the following:
       * A name for the new agent: agent01
       * The IP Address of the new agent: 45.77.105.194
    Confirm adding it?(y/n): y
    Agent added with ID 001.
    3.提取新代理的密钥。您将需要 agent
    ****************************************
    * Wazuh v3.8.0 Agent manager.          *
    * The following options are available: *
    ****************************************
       (A)dd an agent (A).
       (E)xtract key for an agent (E).
       (L)ist already added agents (L).
       (R)emove an agent (R).
       (Q)uit.
    Choose your action: A,E,L,R or Q: E
    Available agents: 
       ID: 001, Name: agent01, IP: 45.77.105.194
    Provide the ID of the agent to extract the key (or 'q' to quit): 001
    Agent key information for '001' is: 
    MDAxIGFnZW50MDEgNDUuNzcuMTA1LjE5NCBjOWNkZjNhNzBmN2YyNDRlNTFkNGZkOWI5MGZhNTUxZGIwMDZhYTA2YWZkNzdmMzExMDZhYjg3ZTk4YjkyNmY0
    4.选择Q退出manage_agents
    ****************************************
    * Wazuh v3.8.0 Agent manager.          *
    * The following options are available: *
    ****************************************
       (A)dd an agent (A).
       (E)xtract key for an agent (E).
       (L)ist already added agents (L).
       (R)emove an agent (R).
       (Q)uit.
    Choose your action: A,E,L,R or Q: Q
    manage_agents: Exiting.
    5.在agent上执行manage_agents:
    root@agent01:/# /var/ossec/bin/manage_agents
    **************************************** * Wazuh v3.8.0 Agent manager. * * The following options are available: * ****************************************  (I)mport key from the server (I).  (Q)uit. Choose your action: I or Q:
    6.选择我以导入密钥并粘贴您在管理器上提取的密钥
    ****************************************
    * Wazuh v3.8.0 Agent manager.          *
    * The following options are available: *
    ****************************************
       (I)mport key from the server (I).
       (Q)uit.
    Choose your action: I or Q: I
    * Provide the Key generated by the server.
    * The best approach is to cut and paste it.
    *** OBS: Do not include spaces or new lines.
    Paste it here (or 'q' to quit): MDAxIGFnZW50MDEgNDUuNzcuMTA1LjE5NCBjOWNkZjNhNzBmN2YyNDRlNTFkNGZkOWI5MGZhNTUxZGIwMDZhYTA2YWZkNzdmMzExMDZhYjg3ZTk4YjkyNmY0
    Agent information:
       ID:001
       Name:agent01
       IP Address:45.77.105.194
    Confirm adding it?(y/n): Y
    Added.
    ****************************************
    * Wazuh v3.8.0 Agent manager.          *
    * The following options are available: *
    ****************************************
       (I)mport key from the server (I).
       (Q)uit.
    Choose your action: I or Q: q
    manage_agents: Exiting.
    7.选择“Q”退出manage_agents。
    8.编辑Wazuh代理配置/var/ossec/etc/ossec.conf以添加Wazuh管理器IP地址。在该<client><server>部分中,将MANAGER_IP值更改为Wazuh经理地址
    root@agent01:/# vi /var/ossec/etc/ossec.conf
     
    9.重启代理:
    root@agent01:#/var/ossec/bin/ossec-control  restart 
    root@agent01:/# systemctl restart wazuh-agent
    root@agent01:/# systemctl status  wazuh-agent
     wazuh-agent.service - Wazuh agent
       Loaded: loaded (/etc/systemd/system/wazuh-agent.service; enabled; vendor preset:
       Active: active (running) since Tue 2019-01-22 07:25:47 UTC; 11s ago
      Process: 4466 ExecStart=/usr/bin/env ${DIRECTORY}/bin/ossec-control start (code=e
        Tasks: 20
       Memory: 8.0M
          CPU: 682ms
       CGroup: /system.slice/wazuh-agent.service
               ├─4492 /var/ossec/bin/ossec-execd
               ├─4497 /var/ossec/bin/ossec-agentd
               ├─4504 /var/ossec/bin/ossec-syscheckd
               ├─4509 /var/ossec/bin/ossec-logcollector
               └─4519 /var/ossec/bin/wazuh-modulesd
    Jan 22 07:25:45 agent01 systemd[1]: Starting Wazuh agent...
    Jan 22 07:25:45 agent01 env[4466]: Starting Wazuh v3.8.0...
    Jan 22 07:25:45 agent01 env[4466]: Started ossec-execd...
    Jan 22 07:25:45 agent01 env[4466]: Started ossec-agentd...
    Jan 22 07:25:45 agent01 env[4466]: Started ossec-syscheckd...
    Jan 22 07:25:45 agent01 env[4466]: Started ossec-logcollector...
    Jan 22 07:25:45 agent01 env[4466]: Started wazuh-modulesd...
    Jan 22 07:25:47 agent01 env[4466]: Completed.
    Jan 22 07:25:47 agent01 systemd[1]: Started Wazuh agent

    4.强制插入注册

    如果您尝试添加具有已注册到其他代理的IP地址的代理,该manage_agents命令将返回错误。您仍然可以使用-F选项强制添加。安装了名为Server1的IP 10.0.0.10 的代理,并且ID为005.如果我们假设我们必须重新安装服务器,则必须重新安装新的代理并将其连接到管理器。在这种情况下,我们可以使用参数-F 0,这意味着将删除先前的代理(005)(使用备份),并且将使用IP重新创建新代理。新代理将具有新ID:
    /var/ossec/bin/manage_agents-nServer1-a10.10.10.10-F0

    5.ossec-authd服务自动注册aegnt

    该ossec-authd服务允许客服端自动注册agent.

    • 在管理服务器(manage)上使用ossec-authd启动注册服务。
    • 在代理主机(agent)上使用agent-auth用于连接到注册服务。

    使用默认选项配置在管理服务器上启动守护程序将允许任何代理自行注册,然后连接到它。下面提供了一些授权连接的机制的表格如下:

    类型

    方法

    描述

    不安全

    简单的方法

    最简单的方法。没有身份验证或主机验证。

    安全

    密码授权

    允许代理通过共享密码进行身份验证。此方法很简单,但不执行主机验证。

    使用SSL进行主机验证

    使用SSL验证管理器

    管理员的证书由代理用于验证服务器的CA签名。这可能包括主机检查。

    使用SSL验证代理

    通过主机验证

    与上述相同,但管理服务器验证代理主机的证书和地址。每个代理主机应该有一个证书。

    没有主机验证

    管理服务器通过CA验证代理主机,但不验证主机地址。此方法允许使用共享代理证书。

    注意:可以通过组合方式在注册代理过程中提供更合理的安全注册方法。

    5.1. 先决条件

    注册服务需要管理服务器上的SSL证书才能工作。如果系统已有openssl包,则在安装过程中将自动生成一个新包(cenos7默认生成)。证书及其密钥将在/var/ossec/etc/目录下生成。可以将有效证书与其密钥一起使用,只需将它们复制到同一路径即可:

    # CP <ssl_cert> /var/ossec/etc/sslmanager.cert
     # CP <ssl_key> /var/ossec/etc/sslmanager.key

    否则,您可以使用以下命令创建自签名证书:

    openssl req -x509 -batch -nodes -days 365 -newkey rsa:2048 -out /var/ossec/etc/sslmanager.cert -keyout /var/ossec/etc/sslmanager.key

    5.2.简单的方法注册

    这是注册代理的最简单方法,它不需要任何类型的授权或主机验证。为此,请按照下列步骤操作之一:

    1.在服务器上启动注册服务:

    [root@wazhu-manage etc]# /var/ossec/bin/ossec-authd

    2.在代理主机上使用agent-auth命令然后加上管理器的IP地址运行程序:

    a.对于Linux系统:

    root@agent01:~# cd /opt
    
    root@agent01:/opt# wget https://packages.wazuh.com/3.x/apt/pool/main/w/wazuh-agent/wazuh-agent_3.8.0-1_amd64.deb
    
    root@agent01:/opt# dpkg -i wazuh-agent_3.8.0-1_amd64.deb 
    
    Selecting previously unselected package wazuh-agent.
    
    (Reading database ... 92845 files and directories currently installed.)
    
    Preparing to unpack wazuh-agent_3.8.0-1_amd64.deb ...
    
    Unpacking wazuh-agent (3.8.0-1) ...
    
    Setting up wazuh-agent (3.8.0-1) ...
    
    Processing triggers for systemd (229-4ubuntu21.4) ...
    
    Processing triggers for ureadahead (0.100.0-19) ..
    
    root@agent01:/# vi /var/ossec/etc/ossec.conf
    
    <server>
    
    <address>149.248.9.0</address>
    
    <port>1514</port>
    
    <protocol>udp</protocol>
    
    </server>
    
    root@agent02:/var/ossec/bin# /var/ossec/bin/agent-auth  -m   149.248.9.0
    2019/01/22 09:29:20 agent-auth: INFO: Started (pid: 4277).
    INFO: No authentication password provided.
    INFO: Connected to 149.248.9.0:1515
    INFO: Using agent name as: agent02
    INFO: Send request to manager. Waiting for reply.
    INFO: Received response with agent key
    INFO: Valid key created. Finished.
    INFO: Connection closed.
    root@agent02:#/var/ossec/bin/ossec-control  restart 
    b.对于Windows系统:(其他条件要启动代理和配置好代理的服务器IP地址)
    # C:Program Files (x86)ossec-agentagent-auth.exe -m <MANAGER_IP_ADDRESS>

    5.3.安全的密码授权注册

    您可以使用密码保护管理服务器免受未经授权的代理注册。自己选择一个或让注册服务生成一个随机密码。要启用密码授权,请使用-P参数来运行注册服务。

    1.在管理服务器上执行以下步骤:

    a.要使用自定义密码,请编辑/var/ossec/etc/authd.pass文件进行修改。例如,如果我们想使用passw0rd作为密码:

    [root@wazhu-manage etc]# echo "passw0rdt=" > /var/ossec/etc/authd.pass
    
     [root@wazhu-manage etc]#  /var/ossec/bin/ossec-authd  -P

    接受端口1515上的连接并使用文件中指定的密码:/var/ossec/etc/authd.pas

    b.如果未指定密码,则注册服务将自行创建密码并将在命令控制终端输出密码:

     [root@wazhu-manage etc]# /var/ossec/bin/ossec-authd   -P

    接受端口1515上的连接并为代理验证输出随机密码:abdc1234

    2.代理可以通过将密码存储在文件中或通过命令行参数来使用密码。请执行以下步骤之一:

    (1).将密码写下到/var/ossec/etc/authd.pass下并运行agent-auth程序:

    a.Linux系统:

    # echo "abcd1234" > /var/ossec/etc/authd.pass
    
    # /var/ossec/bin/agent-auth -m <MANAGER_IP_ADDRESS>

    b.Windows系统:

    # echo abcd1234 > C:Program Files (x86)ossec-agentauthd.pass
    
    # C:Program Files (x86)ossec-agentagent-auth.exe -m <MANAGER_IP_ADDRESS>

     

    (2).使用-P参数然后输入密码:

    a.Linux系统:

    # /var/ossec/bin/agent-auth -m <MANAGER_IP_ADDRESS> -P "abcd1234"

    b.Windows系统:

    # C:Program Files (x86)ossec-agentagent-auth.exe -m <MANAGER_IP_ADDRESS> -P "abcd1234"

    5.4.使用SSL进行主机验证注册

    1.创建授权证书(CA)

    要使用具有SSL认证的注册服务,您必须创建一个授权证书,用于为管理服务器和代理签署证书。主机将收到此CA的副本以验证远程证书:

    [root@wazhu-manage bin]# cd /var/ossec/etc
    
    [root@wazhu-manage etc]# cp sslmanager.cert sslmanager.cert.bak
    
    [root@wazhu-manage etc]# cp sslmanager.key sslmanager.key.bak
    
    [root@wazhu-manage etc]# rm sslmanager.cert sslmanager.key
    
    [root@wazhu-manage etc]#cd  /opt
    
    [root@wazhu-manage opt]# openssl req -x509 -new -nodes -newkey rsa:2048 -keyout rootCA.key -out rootCA.pem -batch -subj "/C=US/ST=CA/O=Manager"
    Generating a 2048 bit RSA private key
    ...............................................+++
    ............................................................+++
    writing new private key to 'rootCA.key'
    -----
    [root@wazhu-manage opt]# ls
    jre-8-linux-x64.rpm  wazuh-agent-3.8.0-1.x86_64.rpm
    rootCA.key           wazuh-api-3.8.0-1.x86_64.rpm
    rootCA.pem           wazuh-manager-3.8.0-1.x86_64.rpm
    [root@wazhu-manage opt]# 

    注意:我们刚刚创建的文件rootCA.key是CA 的私钥。需要签署其他证书,保证其安全的重要性。请注意,我们永远不会将此文件复制到其他主机上。

    2.使用SSL签署管理服务器证书

    (1).为管理服务器颁发并签署证书,它是将用于连接服务器的主机名或IP地址。例如,如果管理服务器的IP是192.168.1.2:

    [root@wazhu-manage opt]# openssl req -new -nodes -newkey rsa:2048 -keyout sslmanager.key -out sslmanager.csr -subj '/C=US/CN=149.248.9.0'
    
    Generating a 2048 bit RSA private key
    
    .................................................+++
    
    ..........................................................................................................................................................................................+++
    
    writing new private key to 'sslmanager.key'
    
    -----
    
    [root@wazhu-manage opt]# ls
    
    jre-8-linux-x64.rpm sslmanager.key
    
    rootCA.key wazuh-agent-3.8.0-1.x86_64.rpm
    
    rootCA.pem wazuh-api-3.8.0-1.x86_64.rpm
    
    sslmanager.csr wazuh-manager-3.8.0-1.x86_64.rpm
    
    [root@wazhu-manage opt]# openssl x509 -req -days 365 -in sslmanager.csr -CA rootCA.pem -CAkey rootCA.key -out sslmanager.cert -CAcreateserial
    
     
    
    Signature ok
    
    subject=/C=US/CN=149.248.9.0
    
    Getting CA Private Key
    
    [root@wazhu-manage opt]# python -m SimpleHTTPServer 81

    (2).将新创建的证书(及其密钥)复制到管理服务器上/var/ossec/etc的文件夹中,然后启动注册服务:

    [root@wazhu-manage opt]# cp sslmanager.cert sslmanager.key /var/ossec/etc
    
    [root@wazhu-manage opt]# systemctl restart wazuh-manager.service
    
    [root@wazhu-manage opt]# /var/ossec/bin/ossec-authd

    (3).将CA(但不是密钥复制到代理主机上/var/ossec/etc的文件夹中,然后运行agent-auth程序:

    a.Linux系统:

    root@agent03:/opt# wget http://149.248.9.0:81/rootCA.pem
    
    root@agent03:/opt# cp  rootCA.pem  /var/ossec/etc
    
    root@agent03:/opt# /var/ossec/bin/ossec-control restart

    b.对于Windows系统,必须将CA复制到:C:Program Files (x86)ossec-agent

    # cp rootCA.pem C:Program Files (x86)ossec-agent
    
    # C:Program Files (x86)ossec-agentagent-auth.exe -m   149.248.9.0   -v C:Program Files (x86)ossec-agent
    ootCA.pem

    5.5.使用SSL验证代理

    1.代理验证(无主机验证)

    在此示例中,我们将为代理创建证书而不指定其主机名,以便许多代理可以使用相同的证书。无论他们从何处进行连接,这将验证代理是否具有由CA签署的证书.

    (1).为代理签发证书并签名。请注意,我们不会输入公共名称字段:

    # openssl req -new -nodes -newkey rsa:2048 -keyout sslagent.key -out sslagent.csr -batch
    # openssl x509 -req -days 365 -in sslagent.csr -CA rootCA.pem -CAkey rootCA.key -out sslagent.cert -CAcreateserial
    (2).将CA(但不是密钥)复制到管理服务器上/var/ossec/etc的文件夹中(如果它尚未存在)并启动注册服务:
    # cp rootCA.pem /var/ossec/etc
    # /var/ossec/bin/ossec-authd -v /var/ossec/etc/rootCA.pem
    (3).将新创建的证书(及其密钥)复制到代理主机/var/ossec/etc的文件夹内,然后运行agent-auth程序。例如,如果管理服务器的IP地址是192.168.1.2:
    a.Linux系统:
    # cp sslagent.cert sslagent.key /var/ossec/etc
    # /var/ossec/bin/agent-auth -m 192.168.1.2 -x /var/ossec/etc/sslagent.cert -k /var/ossec/etc/sslagent.key
    b.对于Windows系统,必须将CA复制到:C:Program Files (x86)ossec-agent
    # cp sslagent.cert sslagent.key C:Program Files (x86)ossec-agent
    # C:Program Files (x86)ossec-agentagent-auth.exe -m 192.168.1.2 -x C:Program Files (x86)ossec-agentsslagent.cert -k C:Program Files (x86)ossec-agentsslagent.key

    2.代理验证(带主机验证)

     这是前一种替代的方法。在这种情况下,我们将代理的证书绑定到管理服务器的IP地址。

    (1).为代理颁发并签署证书,将其主机名或IP地址输入公共名称字段。例如,如果代理的IP是192.168.1.3:

    # OpenSSL的REQ -new -nodes -newkey RSA:2048 -keyout sslagent.key退房手续sslagent.csr -subj '/C=US/CN=192.168.1.3' 
    # OpenSSL的X509 -req -days 365 -in sslagent.csr - CA rootCA.pem -CAkey rootCA.key -out sslagent.cert -CAcreateserial
    (2).将CA(但不是密钥)复制到管理器上/var/ossec/etc的文件夹中(如果它尚未存在)并启动注册服务。请注意,我们使用该-s参数来启用代理主机验证:
    # cp rootCA.pem /var/ossec/etc
    # /var/ossec/bin/ossec-authd  -v  /var/ossec/etc/rootCA.pem
    (3).将新创建的证书(及其密钥)复制到代理上/var/ossec/etc的文件夹中,然后运行agent-auth程序。例如,如果管理服务器的IP地址是192.168.1.2:
    a.Linux系统:
    # cp sslagent.cert sslagent.key /var/ossec/etc
    # /var/ossec/bin/agent-auth -m 192.168.1.2 -x /var/ossec/etc/sslagent.cert -k /var/ossec/etc/sslagent.key
    b.对于Windows系统,必须将CA复制到:C:Program Files (x86)ossec-agent
    # cp sslagent.cert sslagent.key C:Program Files (x86)ossec-agent
    # C:Program Files (x86)ossec-agentagent-auth.exe -m 192.168.1.2 -x C:Program Files (x86)ossec-agentsslagent.cert -k C:Program Files (x86)ossec-agentsslagent.key

    5.6.其他配置

    • 默认情况下,注册服务会使用其静态IP地址添加代理。如果要使用动态IP添加它们(如anymanage_agents工具上使用),则必须更改管理器的配置文件

      <auth>
        <use_source_ip>no</use_source_ip>
      </auth>ls
    • 不允许重复的IP,因此如果已经有另一个使用相同IP注册的代理,则不会添加代理。通过更改配置文件,如果找到具有相同IP地址的旧代理,ossec-authd则可以告知强制注册。这将使旧代理的注册被删除:

      <auth>
        <force_insert>yes</force_insert>
        <force_time>0</force_time>
      </auth>

      0参数表示最小时间(秒),因为旧的代理是最后一个连接(一个要被删除的代理)。在这种情况下,它意味着删除旧代理的注册,无论它最近被接入

    6.脚本化自动注册agent:

    使用API注册代理需要两个请求:

    我们准备了一些不同编程语言的脚本来帮助完成使用API注册代理的任务:

    6.1 使用shell脚本自动注册代理

    root@agent04:~# cd /opt
    
    root@agent04:/opt# wget https://packages.wazuh.com/3.x/apt/pool/main/w/wazuh-agent/wazuh-agent_3.8.0-1_amd64.de
    
    root@agent04:/opt# chmod +x wazuh-agent_3.8.0-1_amd64.deb 
    
    root@agent04:/opt# vi /var/ossec/etc/ossec.conf
    
    <server>
          <address>149.248.9.0</address>
          <port>1514</port>
          <protocol>udp</protocol>
        </server>
    
    root@agent04:/opt# vi api-register-agent.sh 
    
    root@agent04:/opt# sh api-register-agent.sh 

    6.2.使用API注册代理

    基本上,脚本执行以下步骤:

    第1步:将代理添加到管理器。

    # curl -u foo:bar -X POST -d 'name=NewAgent&ip=10.0.0.8'"http://localhost:55000/agents"
    {"error":0,"data":"001"}

    第2步:获取代理密钥。

    # curl -u foo:bar -X GET "http://localhost:55000/agents/001/key"
    {"error":0,"data":"MDAxIE5ld0FnZW50IDEwLjAuMC44IDM0MGQ1NjNkODQyNjcxMWIyYzUzZTE1MGIzYjEyYWVlMTU1ODgxMzVhNDE3MWQ1Y2IzZDY4M2Y0YjA0ZWVjYzM="}

    第3步:将密钥复制到代理。

    # /var/ossec/bin/manage_agents -i MDAxIE5ld0FnZW50IDEwLjAuMC44IDM0MGQ1NjNkODQyNjcxMWIyYzUzZTE1MGIzYjEyYWVlMTU1ODgxMzVhNDE3MWQ1Y2IzZDY4M2Y0YjA0ZWVjYzM=

    注意:如果将命令直接粘贴到终端中,则代理密钥将保存在bash历史记录中。使用manage_agents不带参数或脚本。

    第4步:重新启动代理

    systemctl restart wazuh-agent

     

     
     
     
     



     
     
     
     
  • 相关阅读:
    RobotFramework 安装配置(一)
    JAVA练手--集合
    JAVA文件操作
    线性布局--LinearLayout
    android studio导入android studio工程
    通过开机广播(broadcast)通知应用
    Android studio应用导入源码错误This attribute must be localized
    android studio的jni和so
    上传漏洞总结-UPLOAD-LABS
    靶机渗透测试实战(一)——熟悉渗透测试流程的简单测试
  • 原文地址:https://www.cnblogs.com/backlion/p/10394369.html
Copyright © 2020-2023  润新知