日志审计策略配置

1.   系统缺省已经开启syslog/rsyslog服务,禁止关闭。系统syslog/rsyslog服务会将所有系统日志自动记录到/var/log/messages文件中,系统日志永久保留。

2.   开启audit审计功能,可以监控指定用户或目录,缺省会监控root的所有登录和操作。

l  添加规则到 /etc/audit/audit.rules(RHEL7/etc/audit/rules.d/audit.rules) 文件中,实现监控所有用户的登录行为,包含用户所有操作,以及shell脚本中的命令


      -a exit,always -F arch=b64 -S execve -kexec

      -a exit,always -F arch=b32 -S execve -kexec


添加后使用ausearch -k exec来列出用户操作的记录。

l  添加规则到 /etc/audit/audit.rules(RHEL7/etc/audit/rules.d/audit.rules文件中,实现对重点配置文件的监控(根据实际应用额外添加文件列表)

-w /etc/crontab -p wa -k crontab

-w /etc/hosts -p wa -k hosts

-w /etc/hosts.allow -p wa -k hosts-allow

-w /etc/hosts.deny -p wa -k 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/ntp.conf -p wa -k ntp   (RHEL7-w /etc/chrony.conf-p wa -k ntp)

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

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

-w /boot/grub/grub.conf -p wa -k grub RHEL7-w/boot/grub2/grub.cfg -p wa -k grub

-w /etc/ssh/sshd_config -p wa -k ssh 

-w /etc/udev/rules.d/ -p wa -k udev

-w /etc/profile -p wa -k profile

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

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

-w /etc/login.defs -p wa -k login-defs

-w /etc/rsyslog.conf -p wa -k rsyslog  RHEL5-w/etc/syslog.conf -p wa -k rsyslog

-w /etc/sysconfig/i18n -p wa -k i18n   (RHEL7-w /etc/locale.conf-p wa -k i18n)

-w /etc/sysconfig/network -p wa -k network

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


添加后使用ausearch -k <key>来列出对应文件的修改记录,如ausearch -k multipath

1.   配置audit日志,audit日志文件自动保存在/var/log/audit/目录中。

l  每个log文件超过50M时进行轮换,保持最后4log,可以通过/etc/audit/auditd.conf进行配置,修改如下选项:

num_logs = 4       #个数

max_log_file = 50   # 大小(MB)

       默认情况下,审计日志为每20flush一次,为了防止由于大量后台脚本运行产生的审计日志在频繁flush到磁盘,导致磁盘使用率过高(特别是没有cache直接落盘的RAID卡),所以需要修改flush模式为NONE。可以通过编辑audit配置文件/etc/audit/auditd.conf进行配置,修改如下选项:

flush = NONE

2.Linux服务器的audit日志需要上传到系统,建议分行参照执行。为将audit日志上传到日志服务器上,须在/etc/audisp/plugins.d/syslog.conf配置文件中打开转发,修改如下选项:

         active= yes

         args= LOG_LOCAL2

RHEL5版本的操作系统,在/etc/syslog.conf文件中作如下配置:

修改如下内容:

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

添加如下内容:

auth,authpriv,cron.info    @10.0.0.0:514

 

RHEL6版本的操作系统,在/etc/rsyslog.conf文件中作如下配置:

修改如下内容:

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

添加如下内容:

$SystemLogRateLimitInterval 0

$SystemLogRateLimitBurst 0

$IMUXSockRateLimitBurst 0

$IMUXSockRateLimitInterval 0

$IMUXSockRateLimitSeverity 7

auth,authpriv,cron.info    @10.0.0.0:514