ossec及analogi安装与使用

  • ossec是一个开源的多平台的入侵检测系统,功能包括日志分析、系统完整性检查、注册表监控、rootkit检测、实时警报和联动(active response)功能。
  • ossec可只安装在一台主机上,实现对本机的监控,方式为local。也可采用client-server的方式实现在client上监控,server上处理分析。C-S模式可以实现多台client同时监控。

以下是对服务端的操作

  • 安装基础环境
# yum install wget gcc make mysql mysql-server mysql-devel httpd php php-mysql sendmail
  • 启动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 ossec@localhost;
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
1. 选择安装类型:server
2. 选择安装路径:/var/ossec
3. 是否收到e-mail告警:y
   e-mail地址:***@xx.com
   smtp地址:127.0.0.1(注意这里手动输入,而不要使用软件自动检测出的地址)
4. 系统完整性检测模块:y
5. rootkit检测模块:y
6. 联动功能:y
7. 防火墙联动功能:y
8. 添加更多ip到白名单:n
9. 希望接收远程机器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
  • 修改配置文件权限
# chmod u+w /var/ossec/etc/ossec.conf

表示使当前用户(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:192.168.122.156(填客户端ip)
agent id:001
confirm adding:y
添加此Agent后可用L显示
# L
使用E产生key供下文的客户端使用
# E
id:001
退出manage_agents使用Q
# Q
  • 启动服务端的ossec服务
# /var/ossec/bin/ossec-control restart

如果一切正常则启动服务后邮箱应该能收到一封alert level=3的邮件


以下是对客户端的操作

  • 安装ossec
# tar zxvf ossec-hids-2.8.3.tar.gz
# cd ossec-hids-2.8.3
# sudo ./install.sh
1. 选择安装方式:agent
2. 安装路径:/var/ossec
3. 服务器ip:192.168.122.1(这里根据服务器ip填相应的)
4. 系统完整性检测:y
5. rootkit检测:y
6. 联动功能:y
  • 配置Agent
# /var/ossec/bin/manage_agents
导入key
# I
把上文中服务端产生的key粘贴到这里
confirm adding:y
# Q
  • 启动客户端服务
# /var/ossec/bin/ossec-control restart

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
1.将analogi解压到apache的http服务器根目录下,并改名为ossec
# pwd
/var/www/html
# unzip analogi-master.zip
# mv analogi-master ossec
2. 给apache用户的apache组添加对整个目录的所有权
# sudo chown -R apache.apache /var/www/html/ossec
3. 修改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');  默认的是127.0.0.1,如果最后访问时提示无法访问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服务器
# /etc/init.d/httpd restart

访问analogi。服务端在浏览器输入localhost/ossec即可访问。客户端或者其他主机,当ip在设置的ip段内时可通过 服务端ip/ossec 进行访问

发表评论