一、搭建环境

参看文章:

ossec官方安装文档

全网最详细的最新稳定OSSEC搭建部署(ossec-server(CentOS7.X)和ossec-agent(CentOS7.X))(图文详解)

系统:Centos7

计算机 IP
ossec-server 172.16.30.23
ossec-agent 172.16.30.24

安装软件及版本:

ossec3.0

mariadb5.5.6

安装方式:

ossec-server: 服务端使用docker安装

ossec-agent:客户端使用yum安装

数据库:安装在ossec-server服务端

二、搭建流程

1、安装前环境准备(服务器和客户端都需要操作)

关闭selinux

setenforce 0

sed -i 's#enforcing#disabled#g' /etc/selinux/config

关闭防火墙

systemctl stop firewalld.service 
systemctl disable firewalld.service 

2、数据库安装和ossec数据库配置

在ossec服务端安装数据库

使用yum安装mariadb

yum install -y mariadb-server mariadb mariadb-devel

systemctl start mariadb
systemctl enable mariadb

初始化mariadb

mysql_secure_installation

#设置root,密码root(自行修改)

创建ossec的数据库及授权

mysql -uroot -proot 

create database ossec;

grant all on ossec.* to ossec@localhost;   #授权

set password for ossec@localhost=password('ossec');    #给ossec帐号创建密码

flush privileges;

exit

添加ossec数据库表结构

下载ossec二进制文件,主要使用其中mysql.schema文件,ossec-hids-3.0.0.tar.gz的下载地址:

ossec官网下载地址:https://github.com/ossec/ossec-hids/archive/3.0.0.tar.gz

ossec-hids-3.0.0.tar.gz百度云下载地址:链接:https://pan.baidu.com/s/1gG1DbgQhfOPbE8ISej0yHA 密码:38r8

下载ossec-hids-3.0.0.tar.gz后进行操作:

cd /usr/local/src
tar zxf ossec-hids-3.0.0.tar.gz
cd ossec-hids-3.0.0

mysql -uossec -p ossec < ./src/os_dbd/mysql.schema

ossec表结构添加完成

3、ossec-server服务端安装

使用docker安装ossec服务端

参考:Centos7系统下Docker ce的安装及镜像加速

docker安装完成后,使用以下命令安装ossec-sever的安装:

 docker run --name ossec-server -d -p 1514:1514/udp -p 1515:1515\
  -e SYSLOG_FORWADING_ENABLED=true -e SYSLOG_FORWARDING_SERVER_IP=172.16.30.23\
  -v /var/ossec/data:/var/ossec/data xetusoss/ossec-server

docker命令解释:

--name:该docker容器命名为ossec-server

-d:后台运行

-p 1514:1514/udp -p 1515:1515 : 映射宿主机和docker容器端口号

-e SYSLOG_FORWADING_ENABLED=true -e SYSLOG_FORWARDING_SERVER_IP=172.16.30.23 :

-v /var/ossec/data:/var/ossec/data : 挂载容器路径

xetusoss/ossec-server : 使用镜像仓库地址

docker容器启动成功后,进入ossec-sever容器操作:


dokcer ps

# 进入docker容器的命令
docker exec -it ossec-server bash

在docker容器对ossec-server服务端进行配置操作:

# 添加ossec对数据库的支持
/var/ossec/bin/ossec-control enable database

# 给ossec.conf文件授权
chmod u+w /var/ossec/etc/ossec.conf

# 编辑ossec.conf文件
vi /var/ossec/data/etc/ossec.conf

## 在ossec.conf添加MySQL配置:
    <database_output>
        <hostname>172.16.30.23</hostname>
        <username>ossec</username>
        <password>ossec</password>
        <database>ossec</database>
        <type>mysql</type>
    </database_output>

## 在ossec.conf添加ip网段配置   
  <remote>
    <connection>syslog</connection>
    <allowed-ips>172.16.0.0/16</allowed-ips>
  </remote>

## 添加邮件信息
  <global>
    <email_notification>no</email_notification>
    <email_to>ser365@qq.com</email_to>
    <smtp_server>smtp.your_domain.com.</smtp_server>
    <email_from>ossecm@ossec.your_domain.com.</email_from>
  </global>

在服务端添加代理端主机:

# 在ossec-server的docker环境里
/var/ossec/bin/manage_agents

# 在出现的选择中选A,添加agent,分别给填写:
ossec-agent    #自己取的名字
172.16.30.22   #agent服务器的IP
022            #自己规定的ID

在服务端获取代理端的KEY:

# 在ossec-server的docker环境里
/var/ossec/bin/manage_agents`

# 在出现的选择中选E,在随后的提示里输入ID号:022,
就能得到ID为022的agent主机的KEY

启动ossec服务端

# 在ossec-server的docker环境里
/var/ossec/bin/ossec-control start

4、ossec-agent客户端安装

使用yum安装ossec-agent

ossec-agent是使用yum安装,在要监控的agent服务器中操作:

wget -q -O - https://updates.atomicorp.com/installers/atomic |sh

yum install ossec-hids ossec-hids-client

配置ossec-agent配置文件

配置ossec-agent的配置文件,我们需要删除ossec-agent.conf的配置信息,因为这与ossec-server服务器上的配置重复了,不处理会在启动出现报错。

vim /var/ossec/etc/ossec-agent.conf

# 将ossec-agent.conf文件里的内容删减到只剩:
<!-- OSSEC example config -->

<ossec_config>
  <client>
    <server-ip>172.16.30.23</server-ip>
  </client>

</ossec_config>

在agent添加KEY:

/var/ossec/bin/manage_agents

# 输入I,将ID022的agent机器的KEY加入

启动ossec-agent客户端:

/var/ossec/bin/ossec-control start

三、ossec的server和agent连接查看

查看ossec连接情况

在ossec服务端,查看agent的连接情况

# 在ossec-server的docker环境里
/var/ossec/bin/agent_control -l
#
OSSEC HIDS agent_control. List of available agents:
   ID: 000, Name: cacee8d64533 (server), IP: 127.0.0.1, Active/Local
   ID: 001, Name: DEFAULT_LOCAL_AGENT, IP: 127.0.0.1, Never connected
   ID: 022, Name: ossec-agent22, IP: 172.16.30.22, Active

# 显示ID:022的活动状态为Active,即为连接成功在活动中