OSSEC安全监控环境搭建

2023-05-19 19:49:00 浏览数 (2)

# 前言

OSSEC是一款开源的基于主机的入侵检测系统,可以简称为HIDS。它具备日志分析,文件完整性检查,策略监控,rootkit检测,实时报警以及联动响应等功能。它支持多种操作系统:Linux、Windows、MacOS、Solaris、HP-UX、AIX。属于企业安全之利器。

详细的介绍和文档可以参考官网网站:

http://www.ossec.net/ (opens new window)

# 一、搭建环境

参看文章:

ossec官方安装文档 (opens new window)

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

系统: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
代码语言:javascript复制
setenforce 0

sed -i 's#enforcing#disabled#g' /etc/selinux/config
# 关闭防火墙
代码语言:javascript复制
systemctl stop firewalld.service 
systemctl disable firewalld.service

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

# 在ossec服务端安装数据库
# 使用yum安装mariadb
代码语言:javascript复制
yum install -y mariadb-server mariadb mariadb-devel

systemctl start mariadb
systemctl enable mariadb
# 初始化mariadb
代码语言:javascript复制
mysql_secure_installation

#设置root,密码root(自行修改)
# 创建ossec的数据库及授权
代码语言:javascript复制
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.gzhttps://github.com/ossec/ossec-hids/archive/3.0.0.tar.gz

ossec-hids-3.0.0.tar.gz百度云下载地址:链接:百度网盘 请输入提取码 (opens new window)

密码:38r8

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

代码语言:javascript复制
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服务端

# docker安装完成后,使用以下命令安装ossec-sever的安装:
代码语言:javascript复制
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命令解释:

代码语言:javascript复制
--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容器操作:
代码语言:javascript复制
dokcer ps

# 进入docker容器的命令
docker exec -it ossec-server bash
# 在docker容器对ossec-server服务端进行配置操作:
代码语言:javascript复制
# 添加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>
# 在服务端添加代理端主机:
代码语言:javascript复制
# 在ossec-server的docker环境里
/var/ossec/bin/manage_agents

# 在出现的选择中选A,添加agent,分别给填写:
ossec-agent    #自己取的名字
172.16.30.22   #agent服务器的IP
022            #自己规定的ID
# 在服务端获取代理端的key
代码语言:javascript复制
# 在ossec-server的docker环境里
/var/ossec/bin/manage_agents`

# 在出现的选择中选E,在随后的提示里输入ID号:022,
就能得到ID为022的agent主机的KEY
# 启动ossec服务端
代码语言:javascript复制
# 在ossec-server的docker环境里
/var/ossec/bin/ossec-control start

# 4、oss-agent客户端安装

# 使用yum安装ossec-agent

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

代码语言:javascript复制
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服务器上的配置重复了,不处理会在启动出现报错。

代码语言:javascript复制
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
代码语言:javascript复制
/var/ossec/bin/manage_agents

# 输入I,将ID022的agent机器的KEY加入
# 启动ossec-agent客户端
代码语言:javascript复制
/var/ossec/bin/ossec-control start

# 三、ossec的server和agent连接查看

# 查看ossec连接情况

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

代码语言:javascript复制
# 在ossec-serverdocker环境里
/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,即为连接成功在活动中

0 人点赞