• Linux审计日志过滤与转发


    Linux审计日志

    1. linux审计日志audit配置

    默认以centos7的环境进行讲解,和centos6可能有些有些地方略微不同

    audit配置文件:/etc/audit/auditd.conf

    一般只要注意以下四项:

    max_log_file = 50 #每个文件最大大小(MB)

    num_logs = 4 #最大保留个数,默认大于4个会根据max_log_file_action 的方式进行处理,默认是rotate

    flush = NONE # 默认情况下,审计日志为每20条flush一次,为了防止由于大量后台脚本运行产生的审计日志在频繁flush到磁盘,导致磁盘使用率过高(特别是没有cache直接落盘的RAID卡),所以需要修改flush模式为NONE。

    local_events = yes # 是否写到本地,默认yes,如果已经开启了审计日志转发功能,根据需求是否关闭。

     

     

    Audit的规则配置:/etc/audit/rules.d/audit.rules

    -a exit,always -F arch=b64 -S execve -k exec //记录64位系统的所有用户的shell命令

    -a exit,always -F arch=b32 -S execve -k exec //记录32位系统的所有用户的shell命令

    -w /etc/crontab -p wa -k crontab //监控crontab文件的写权限和属性权限

    -w /etc/hosts -p wa -k hosts //监控hosts文件的写权限和属性权限

    -w /etc/hosts.allow -p wa -k hosts-allow //监控hosts.allow文件写权限和属性权限

    -w /etc/hosts.deny -p wa -k hosts-deny //监控hosts.deny文件写权限和属性权限

    -w /etc/fstab -p wa -k fstab //以此类推

    -w /etc/passwd -p wa -k passwd

    -w /etc/shadow -p wa -k shadow

    -w /etc/group -p wa -k group

    -w /etc/gshadow -p wa -k gshadow

    -w /etc/chrony.conf -p wa -k ntp

    -w /etc/sysctl.conf -p wa -k sysctl

    -w /etc/security/limits.conf -p wa -k limits

        -w:指定需要监控的文件。

        -p:指定监控的权限,rwxa,监控用户对这个目录的读写执行或数显变化时间戳的改变。

        -k:指定一个key,方便使用ausearch查询。

     

    配置完后需要重启服务audit:

    service auditd restart # 注意,不能用systemctl restart auditd ,auditd不支持。

    重启后可以使用ausearch -k <key>来列出对应文件的修改记录,如ausearch -k multipath。

    重启后audit生成的审计日志默认放在/var/log/audit/audit.log下

    1. audit实现日志转发

    1、audit配置

    audit有个rsyslog插件能实现转发到本地的rsyslog服务中

    配置文件:

    主要修改以下两项:

    active = yes # 开启转发功能,默认不开启

    args = LOG_LOCAL2 # 已那个LOCAL2设备转发给rsyslog

    service auditd restart # 注意,不能用systemctl restart auditd ,auditd不支持。

    2、rsyslog配置

    rsyslog配置文件:

    /etc/rsyslog.conf # rsyslog程序配置文件

    /etc/rsyslog.d/*.conf # 这里讲解用来编写rsyslog的过滤规则。

    /etc/rsyslog.conf主要修改以下配置:

    *.* @@remote-host:514

    *.*:表示所有的设备日志所有的日志等级,包含我上面写的audit local2的这个设备的所有日志

        @@:表示tcp协议,一个@表示udp协议。

    remote-host:514:发给哪个服务器地址及端口。

    然后重启服务即可:systemctl restart rsyslog.

    注意:审计日志的还会输出到/var/log/message文件中,如果需要禁止输出到/var/log/message文件,可以修改rsyslog.conf配置项并重启即可:

    *.info;mail.none;authpriv.none;cron.none.local2.none /var/log/messages

        日志级别:

        debug –有调式信息的,日志信息最多

    info –一般信息的日志,最常用

    notice –最具有重要性的普通条件的信息    

    warning –警告级别

    err –错误级别,阻止某个功能或者模块不能正常工作的信息

    crit –严重级别,阻止整个系统或者整个软件不能正常工作的信息

    alert –需要立刻修改的信息

    emerg –内核崩溃等严重信息

    none –什么都不记录

    从上到下,级别从低到高,记录的信息越来越少

    1. 审计日志过滤方法

    1. 通过audit审计服务过滤

    auditctl  -a always,exclude -F msgtype=PROCTITLE

    -a always,exclude:排除PROCTITLE这种类型的日志

    列出规则:auditctl -l

    删除规则:auditctl -d always,exclude -F msgtype=SYSCALL

    删除所以规则:auditctl -D

    使用命令行重启后规则会失效,建议规则写入/etc/audit/rules.d/audit.rules文件中

    2、通过rsyslog服务进行过滤

    Linux审计日志样例:<150>Feb 18 12:10:01 bogon audispd: node=bogon type=PATH msg=audit(1581999001.279:3434): item=1 name="/lib64/ld-linux-x86-64.so.2" inode=32828 dev=fd:00 mode=0100755 ouid=0 ogid=0 rdev=00:00 obj=system_u:object_r:ld_so_t:s0 objtype=NORMAL

    编辑:/etc/rsyslog.d/audit.conf

    :msg, regex, "type=PATH" @192.168.43.130:5140 # 通过正则(regex)匹配到type=PATH字段的日志发送给192.168.43.130:5140。

    :msg, regex, "type=PATH" ~ # 通过正则(regex)匹配到type=PATH字段的日志并过滤掉。

    :msg, regex, "type=PATH" # 通过正则(regex)匹配到type=PATH字段日志并保留,其他过滤。

    规则配置好后重启rsyslog即可。

    3、通过logstash后端进行过滤

    通过logstash插件drop{}可以进行过滤。

    Logstash过滤前提解析必须得保证解析规则正确。

    比如有一下审计日志:

    Feb 18 11:13:32 bogon audispd: node=bogon type=SYSCALL msg=audit(1581995612.358:3187): arch=c000003e syscall=59 success=yes exit=0 a0=2649db0 a1=2766530 a2=27715a0 a3=7fffe5cf1100 items=2 ppid=54597 pid=56011 auid=0 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0 tty=pts2 ses=56 comm="ls" exe="/usr/bin/ls" subj=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 key="exec"

    而后需要对审计日志进行过滤时,我们可以针对匹配某个字段进行过滤,如下:

     

    Linux审计日志类型网址:https://access.redhat.com/articles/4409591#audit-record-types-2

  • 相关阅读:
    http://code.google.com/p/restassured/wiki/Usage#Usage
    TestNG如何修改运行结果(通过使用监听器和报表器,可以很轻松的生成自己的TestNG报表)
    MongoDB笔记
    分布式搜索elasticsearch配置文件详解
    分布式搜索ElasticSearch几个概念解析
    android rom制作
    正确配置Linux系统ulimit值的方法
    分布式搜索ElasticSearch单机与服务器环境搭建
    Mongodb亿级数据量的性能测试
    Too many open files问题分析
  • 原文地址:https://www.cnblogs.com/hel7512/p/12350223.html
Copyright © 2020-2023  润新知