来源自我的博客
http://www.yingzinanfei.com/2016/09/18/ossecjianalogianzhuangyushiyong/
- ossec是一个开源的多平台的入侵检测系统,功能包括日志分析、系统完整性检查、注册表监控、rootkit检测、实时警报和联动(active response)功能。
- ossec可只安装在一台主机上,实现对本机的监控,方式为local。也可采用client-server的方式实现在client上监控,server上处理分析。C-S模式可以实现多台client同时监控。
以下是对服务端的操作
- 安装基础环境
- 启动apache、mysql和sendmail服务
for i in {httpd,mysqld,sendmail};
do service $i restart;
done
- 数据库授权
# mysql
mysql> create database ossec;
mysql> grant INSERT,SELECT,UPDATE,CREATE,DELETE,EXECUTE on ossec.* to [email protected];
mysql> flush privileges;
mysql> exit
上述语句的意思是新增一个用户ossec密码为空,让他只可以在localhost上登录,并可以对数据库ossec的所有表进行插入、查询、修改、插入、删除的操作
- 安装ossec
# tar zxvf ossec-hids-2.8.3.tar.gz
# cd ossec-hids-2.8.3
# cd src/
验证是否支持mysql
# sudo make setdb
如果出现Mysql support表示支持
# cd ..
# sudo ./install.sh
. 选择安装类型:server
. 选择安装路径:/var/ossec
. 是否收到e-mail告警:y
e-mail地址:***@xx.com
smtp地址:..(注意这里手动输入,而不要使用软件自动检测出的地址)
. 系统完整性检测模块:y
. rootkit检测模块:y
. 联动功能:y
. 防火墙联动功能:y
. 添加更多ip到白名单:n
. 希望接收远程机器syslog:y(此步为接收客户端日志的关键)
完成安装
以上配置均可在安装后从配置文件中更改,所以可一路回车快速完成安装
ossec配置文件位置
/var/ossec/etc/ossec.conf
- 启用数据库支持并导入数据
# /var/ossec/bin/ossec-control enable database
下面进入的是安装包解压后的目录,因为src文件夹中有数据表,需要将其导入到数据库中,使用了重定向来完成导入
# cd ossec-hids-2.8.1
# mysql -uossec -p ossec < ./src/os_dbd/mysql.schema
- 修改配置文件权限
表示使当前用户(u)添加写入(w)的权限
- 修改配置文件/var/ossec/etc/ossec.conf
<ossec_config>
<!-- 发邮件部分 -->
<global>
<email_notification>yes></email_notification>
<email_to>***@xx.com</email_to>
<smtp_server>127.0.0.1</smtp_server>
</global>
<!-- 数据库输入部分 -->
<database_output>
<hostname>127.0.0.1</hostname>
<username>ossec</username>
<password>ossec</password>
<database>ossec</database>
<type>mysql</type>
</database_output>
<!-- 接收客户端syslog信息 -->
<remote>
<connection>syslog</connection>
<allowed-ips>192.168.122.0/24</allowed-ips>
<!-- 这里的允许ip填一个网段,表示接收这个网段里的syslog,可以根据客户端的ip进行调整 -->
</remote>
<!-- 其他暂时保持不变 -->
</ossec_config>
- 配置Agent信息
# /var/ossec/bin/manage_agents
# A
agent name:ossec-agent
agent ip:(填客户端ip)
agent id:
confirm adding:y
添加此Agent后可用L显示
# L
使用E产生key供下文的客户端使用
# E
id:
退出manage_agents使用Q
# Q
- 启动服务端的ossec服务
如果一切正常则启动服务后邮箱应该能收到一封alert level=3的邮件
以下是对客户端的操作
- 安装ossec
# tar zxvf ossec-hids-2.8.3.tar.gz
# cd ossec-hids-2.8.3
# sudo ./install.sh
. 选择安装方式:agent
. 安装路径:/var/ossec
. 服务器ip:.(这里根据服务器ip填相应的)
. 系统完整性检测:y
. rootkit检测:y
. 联动功能:y
- 配置Agent
# /var/ossec/bin/manage_agents
导入key
# I
把上文中服务端产生的key粘贴到这里
confirm adding:y
# Q
- 启动客户端服务
ossec命令记录
- bin/ossec-control
start 启动各项服务
stop 停止各项服务
restart 重启各项服务
status 查看各项服务状态
enable:[database|client-syslog|agentless|debug] 启动功能支持
disable:[database|client-syslog|agentless|debug] 关闭功能支持
- bin/agent_control (仅服务端有)
-l 列举所有可用的agents,服务端会有一个local,表示自身也作为一个agent被监控
-lc 仅列举活跃的agents
-i <id> 显示对应id的Agent的信息
-R <id> 重启对应id的Agent
-r -a 在所有agents上立即运行完整性和rootkit检查
-r -u <id> 在指定的agent上立即运行完整性和rootkit检查
-b <ip> 阻止指定的ip地址
-f <ar> 配合-b使用,指定运行哪个响应
-L 列举可用的联动
-s 更改输出到CSV(用,分隔)
- bin/manage_agents
-V 显示ossec版本信息
-l 列举可用的agents,这里不会显示local的信息
-e <id> 得到某个agent的key(服务器用)
-r <id> 移除某个agent(服务器用)
-i <id> 导入key(客户端用)
-f <file> 从文件导入keys(服务器用),文件格式为IP,NAME
ossec的web界面服务
- analogi是对ossec进行日志web展示的一个网站,使用的是php语言,github上可下载。
- 在服务端安装analogi
将analogi解压到apache的http服务器根目录下,并改名为ossec
# pwd
/var/www/html
# unzip analogi-master.zip
# mv analogi-master ossec
给apache用户的apache组添加对整个目录的所有权
# sudo chown -R apache.apache /var/www/html/ossec
修改ossec目录下关于数据库连接的设置,使其能访问上文中建立的数据库
# cd ossec
# cp db_ossec.php.new db_ossec.php
# sudo vim db_ossec.php
define ('DB_USER_O', 'ossec'); 这里是mysql用户名
define ('DB_PASSWORD_O', 'ossec'); 这里是mysql密码
define ('DB_HOST_O', 'localhost'); 默认的是,如果最后访问时提示无法访问mysql仍需要改成localhost
define ('DB_NAME_O', 'ossec'); 这里是数据库的名称
- 配置apache,使其能够访问服务器根目录下的ossec目录。如果不配置此处则直接在浏览器访问localhost/ossec则会出现403错误
# cd /etc/httpd.conf.d
# sudo vim ossec.conf
<Directory /var/www/html/ossec>
Order deny,allow
Allow from 192.168.122.0/24 这里的ip段根据需要更改
</Directory>
- 重启apache服务器
- 访问analogi。服务端在浏览器输入localhost/ossec即可访问。客户端或者其他主机,当ip在设置的ip段内时可通过 服务端ip/ossec 进行访问