1. 目的

为了运维平台统一管理各类安全日志,需要统一优化后,再收集到ES中。然后,运维平台对安全数据的展示、监控和告警等。

OSSEC(HIDS)是一个开源的入侵检测系统,它可以执行日志分析、完整性检测、Windows注册表监控、rootkit检测、实时报警及动态响应。

2. HIDS防护对象

防护对象统一使用运维平台CMDB中涉及的预发布环境和生产环境。

3. 日志类型

3.1 完整性检测
3.1.1 完整性检测日志

默认的检测周期为22小时执行一次,检测的目录为/etc/usr/bin/usr/sbin/bin/sbin/boot

check_all:检测所有选项,包括文件的MD5、SHA1、文件大小、宿主等。

3.1.2 完整性检测字段

字段

说明

rule.level

事件级别

rule.comment

策略说明

rule.sidid

策略SID ID

rule.group

策略组

id

事件ID

Decoder

译码器

Location

位置

full_log

完整日志

hostname

机器名

program_name

程序名

file.md5_after

文件之后的md5

file.md5_before

文件之前的md5

file.path

文件路径

3.2 Rootkit检测
3.2.1 Rootkit检测日志
<rootcheck>
    <rootkit_files>/data/ossec/etc/shared/rootkit_files.txt</rootkit_files>
    <rootkit_trojans>/data/ossec/etc/shared/rootkit_trojans.txt</rootkit_trojans>
    <system_audit>/data/ossec/etc/shared/system_audit_rcl.txt</system_audit>
    <system_audit>/data/ossec/etc/shared/cis_debian_linux_rcl.txt</system_audit>
    <system_audit>/data/ossec/etc/shared/cis_rhel_linux_rcl.txt</system_audit>
    <system_audit>/data/ossec/etc/shared/cis_rhel5_linux_rcl.txt</system_audit>
  </rootcheck>
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.

扫描整个文件系统,检测异常文件和异常的权限设置,文件属主是root,但是其他用户可写是非常危险的,rootkit将会扫描这些文件。同时还会检测具有suid权限的文件、隐藏的文件和目录。

另外还会检测隐藏端口、隐藏进程、/dev目录、网卡混杂模式等。

进程ID为22109是隐藏,可能是内核级rootkit。

3.2.2 Rootkit检测字段

字段

说明

rule.level

事件级别

rule.comment

策略说明

rule.sidid

策略SID ID

rule.group

策略组

id

事件ID

decoder

译码器

location

位置

full_log

完整日志

hostname

机器名

3.3 日志分析
3.3.1 日志分析日志

分析系统的/var/log/messages/var/log/secure日志。

3.3.2 日志分析字段

字段

说明

rule.level

事件级别

rule.comment

策略说明

rule.sidid

策略SID ID

rule.group

策略组

id

事件ID

decoder

译码器

decoder_parent

解码父代

location

位置

full_log

完整日志

hostname

机器名

program_name

程序名

3.4 其他功能
3.4.1 端口检测日志
3.4.2 端口检测字段

字段

说明

rule.level

事件级别

rule.comment

策略说明

rule.sidid

策略SID ID

rule.group

策略组

id

事件ID

previous_output

预输出

decoder

译码器

location

位置

full_log

完整日志

hostname

机器名

3.4.3 磁盘检测日志

当磁盘达到100%时,检测磁盘情况。

3.4.4 磁盘检测字段

字段

说明

rule.level

事件级别

rule.comment

策略说明

rule.sidid

策略SID ID

rule.group

策略组

id

事件ID

decoder

译码器

location

位置

full_log

完整日志

hostname

机器名

4. HIDS日志处理

对OSSEC产生的日志进行预处理(过滤、优化规则等)、格式化为JSON,并收集到ES中。

5. HIDS展示

  • HIDS趋势图:显示每天各个时间段的安全趋势。
  • HIDS每天产生安全类型前5,根据decoder字段统计,得出各类安全事件的数量,如:sshd、pam、rootcheck等。
  • HIDS每天攻击源(外部机器)前10的机器数据统计,根据srcip的字段统计。
  • HIDS每天产生目标机器(内部机器)的前10数据统计,根据hostname字段统计。
  • HIDS主要功能统计的实现方法根据rule.group精确匹配特定字符串,如:syscheck(完整性检查)、rootcheck(后门检查)和syslog(日志分析)进行统计主要功能数据量。
  • HIDS产生安全事件的进程名称前10,根据program_name字段统计相关信息。
  • 登录分类详解分析每类登录的情况,根据rule.comment字段实现,相关类型如下所示:
  • Login session opened. 登录会话打开
  • Login session closed. 登录会话关闭
  • SSHD authentication success. sshd验证成功
  • System user successfully logged to the system. 系统用户已成功登录到系统
  • Reverse lookup error (bad ISP or attack). 反向查找错误(错误的ISP或攻击)
  • Possible attack on the ssh server (or version gathering). 可能会攻击ssh服务器(或版本收集)
  • SSH insecure connection attempt (scan). ssh不安全连接尝试(扫描)
  • Attempt to login using a non-existent user. 尝试使用不存在的用户登录
  • User authentication failure. 用户身份验证失败
  • Multiple authentication failures. 多次身份验证失败
  • SSHD brute force trying to get access to the system. sshd蛮力试图访问系统
  • 登录失败的前10机器信息,根据srcip字段实现。
  • 根据以上已知情况后再深入分析,分析界面根据字段progam_name、rule.group、rule.comment和full_log显示相应的安全日志信息。

6. 告警

  1. 用户变化告警,如:添加用户、删除用户,实现方法根据program_name字段精确匹配useradd或userdel每分钟告警一次。
  2. 后门类告警,实现方法根据decoder字段精确匹配rootcheck每分钟告警一次。
  3. 内核变化告警,实现方法根据program_name字段精确匹配kernel每分钟告警一次。
  4. 完整性检查告警,实现方法根据decoder字段精确匹配syscheck_integrity_changed每分钟告警一次。
  5. 使用不存在用户登录告警,实现方法根据rule.comment字段精确匹配Attempt to login using a non-existent user.每分钟告警一次。
  6. ssh不安全连接尝试告警,实现方法根据rule.comment字段精确匹配SSH insecure connection attempt (scan).每分钟告警一次。
  7. 反向查找安全告警,实现方法根据rule.comment字段精确匹配Reverse lookup error (bad ISP or attack).每分钟告警一次。
  8. 攻击ssh安全告警,实现方法根据rule.comment字段精确匹配Possible attack on the ssh server (or version gathering).每分钟告警一次。
  9. 身份验证失败告警,实现方法根据rule.comment字段精确匹配User authentication failure.每分钟告警一次。
  10. 多次身份验证失败告警,实现方法根据rule.comment字段精确匹配Multiple authentication failures.每分钟告警一次。
  11. ssh暴力尝试登录告警,实现方法根据rule.comment字段精确匹配SSHD brute force trying to get access to the system.每分钟告警一次。
  12. 非法登录告警,实现方法根据rule.comment字段精确匹配System user successfully logged to the system.每分钟告警一次。

以上就是OSSEC(HIDS)日志收集与展示的完整内容,包括目的、防护对象、日志类型、日志处理、展示和告警等方面的介绍。