审计和日志服务配置

auditctl

审计数据配置

日志文件最大参数
在储存策略(/etc/audit/audit.conf)中配置max_log_file=<MB>
当审计日志满的时候停止系统
space_left_action=email
action_mail_acct=root
admin_space_left_action=halt
当审计日志文件达到最大时,替换日志但不删除。
max_log_file_action=keep_logs

审计行为配置

启动audit守护进程记录系统时间,查看是否有未经授权的访问信息
systemctl start/enable(开机自启) auditd
审核在auditd服务启动前启动的进程
1.编辑/etc/default/grub文件并添加audit =1变量到GRUB_ CMDLINE LINUX
参数上:
GRUB CMDLINE LINUX= “audit= 1”
2.运行以下命令更新grub2的配置:
grub2-mkconfig -0 /boot/grub2/grub.cfg
设计系统审计参数
设置系统审计使审计规则不能用auditctl修改。将“-e 2”设置为强制审计进入不可变模式。
命令:
echo >> “-e 2” /etc/audit/audit.rules
捕捉系统时间修改事件
设置以下参数用于确定adjtimex、settimeofday, stime或clock settime系统调
用是否执行,并在退出时始终将审计记录写入/var/log/audit.log文件,并使用标识符"time-change"标记这些记录。
配置:
在/etc/audit/audit.rules文件中添加以下信息:
-a always,exit -F arch=b64 -S adjtimex -S settimeofday -k time-change
-a always,exit -F arch=b32 -S adjtimex -S settimeofday -S stime -k time-change
-a always,exit -F arch= b64 -S clock_ settime -k time-change
-a always,exit -F arch=b32 -S clock_ settime -k time-change
-w /etc/localtime -p wa -k time-change
捕捉修改用户/用户组事件用identity标记
在"/etc/audit/audit.rules"文件中添加以下信息行:
-w /etc/group -p wa -k identity
-w /etc/passwd -p wa -k identity
-w /etc/gshadow -p wa -k identity
-w /etc/shadow -p wa -k identity
-w /etc/security/opasswd -p wa -k identity
记录修改网络环境或系统调用事件
用system-locale进行标记
在"/etc/audit/audit.rules"文件中添加以下信息行:
-a exit,always -F arch=b64 -S sethostname -S setdomainname -k system-locale
-a exit,always -F arch=b32 -S sethostname -S setdomainname -k system-locale
-w /etc/issue -p wa -k system-locale
-w /etc/issue.net -p wa -k system-locale
-w /etc/hosts -p wa -k system-locale
-w /etc/sysconfig/network -P wa -k system-locale
记录修改系统的强制访问控制事件
监视SELinux强制访问控制。监测对/etc/selinux目录的任何写访问(增加、删除或修改目录中的文件)或属性更改。
用MAC-policy标记
在"/etc/audit/audit.rules"文件中添加以下信息行:
-w /etc/selinux/ -p wa -k MAC-policy
-w /usr/share/selinux/ -p wa -k MAC-policy
监控登录、注销事件
/var/log/lastlog上次成功登录的记录,/var/run/failock登录失败的记录。
在"/etc/audit/audit.rules"文件中添加:
-w /var/log/lastlog -p wa -k logins
-w /var/run/faillock/ -p wa -k logins
监控发起会话事件
utmp:记录当前登录的所有用户
wtmp:记录登录、注销、关机和重启事件
btmp:记录失败的登录尝试
在"/etc/audit/audit.rules"文件中添加以下信息行:
-w /var/run/utmp -p wa -k session
-w /var/log/wtmp -p wa -k logins
-w /var/log/btmp -p wa -k logins
监控修改自由访问控制权限事件
记录非系统用户id(auid>= 1000)编写,并且忽略守护进程事件(auid=4294967295),审计记录用perm_mod进行标记。
配置:
在"/etc/audit/audit.rules"文件中添加以下信息行:
-a always,exit -F arch=b64 -S chmod -S fchmod -S fchmodat -F auid> = 1000 -F auid!=4294967295 -k perm_ mod

-a always,exit -F arch=b32 -S chmod -S fchmod -S fchmodat -F auid> = 1000 -F auid!=4294967295 -k perm_ mod

-a always,exit -F arch=b64 -S chown -S fchown -S fchownat -S Ichown -F auid> =1000 -F auid!=4294967295 -k perm_mod

-a always,exit -F arch=b32 -S chown -S fchown -S fchownat -S Ichown -F auid> =1000 -F auid!=4294967295 -k perm_ mod

-a always,exit -F arch= b64 -S setxattr -S lsetxattr -S fsetxattr -S removexattr -S lremovexattr -S fremovexattr -F auid>= 1000 -F auid!=4294967295 -k perm_ mod

-a always,exit -F arch= b32 -S setxattr -S lsetxattr -S fsetxattr -S removexattr -S lremovexattr -S fremovexattr -F auid>= 1000 -F auid!= 4294967295 -k perm_mod
监控访问文件失败的事件
尝试、创建、截断文件失败表明可能有人试图对系统进行未经授权的访问。
配置
在"/etc/audit/audit.rules"文件中添加以下信息行:
-a always,exit -F arch= b64 -S creat -S open -S openat -S truncate -S ftruncate
-F exit=-EACCES -F auid> =500 -F auid!=4294967295 -k access

-a always,exit -F arch=b32 -S creat -S open -S openat -S truncate -S
ftruncate-F exit=-EACCES -F auid>= 500 -F auid!=4294967295 -k access

-a always,exit -F arch=b64 -S creat -S open -S openat -S truncate -S ftruncate
-F exit=-EPERM -F auid> =500 -F auid!=4294967295 -k access

-a always,exit -F arch=b32 -S creat -S open -S openat -S truncate -S ftruncate
-F exit= -EPERM -F auid>= 500 -F auid!= 4294967295 -k access
监控对mount命令的调用
非特权用户将文件系统挂载到系统是非常不寻常的。跟踪挂载命令为系统管理员提供了外部媒体可能已挂载的证据(基于对挂载源的检查并确认它是外部媒体类型),但它并不能最终表明数据已导出到媒体。为确定数据是否导出,系统管理员还必须跟踪open、creat和truncate系统调用,这些调用对外部媒体文件系统挂载点下的文件进行写访问,就可以很好地说明发生了写操作。用mount标记。
配置:
-a always,exit -F arch= b64 -S mount -F auid>= 1000 -F auid!= 4294967295 -k mounts
-a always,exit -F arch=b32 -S mount -F auid>= 1000 -F auid!=4294967295 -k mounts
监控文件和文件属性的调用
监视来自非特权用户的与文件和文件属性的删除或重命名相关系统调用可以向系统
管理员表明正在发生与受保护文件相关的文件和文件属性的不适当删除。虽然这个审计
选项将查看所有事件,但是系统管理员希望查找正在删除或更改的特定特权文件。
描述:
监视unlink(删除文件)、unlinka(删除文件属性)、rename(重命名文件)和renameat(重命名文件属性)系统调用,并用标识符"delete"标记它们。
配置:
-a always,exit -F arch= b64 -S unlink -S unlinkat -S rename -S renameat -F auid>= 500 -F auid!=4294967295 -k delete
-a always,exit -F arch=b32 -S unlink -S unlinkat -S rename -S renameat -F auid> =500 -F auid!=4294967295 -k delete
监控系统管理员的权限范围修改
标识符:scope
在"/etc/audit/audit.rules"文件中添加以下信息行:
-w /etc/sudoers -p wa -k scope
-w /etc/sudoers.d/ -p wa -k scope
监控系统管理员操作行为
如果系统已配置为禁用su命令,并强制所有管理员必须先登录,然后使用sudo执行特权命令,那么所有管理员命令都将被记录到/var/log/sudo.log中。每当执行命令时,审计事件将被触发,因为/var/log/sudo.log文件将被打开进行写操作,并且执行的管理命令将被写入日志。
配置方法:
在"/etc/audit/audit.rules"文件中添加以下信息行
-w /var/log/sudo.log -p wa -k actions
监控内核模块的安装与卸载
配置方法:
在"/etc/audit/audit.rules"文件中添加以下信息行:
-w /sbin/insmod -p x -k modules
-w /sbin/rmmod -p x -k modules
-w /sbin/modprobe -p x -k modules
-a always,exit -F arch=b64 -S init_ module -S delete_ module -k modules