Linux系统审计
什么是系统的审计?
审计的目的是基于事先配置的规则生成日志,记录可能发生在系统上的事件(正常或非正常行为的事件),审计不会为系统提供额外的安全保护,但她会发现并记录违反安全策略的人及其对应的行为。auditd(或 auditd 守护进程)是Linux审计系统中用户空间的一个组件,其负责将审计记录写入磁盘。
审计能够记录日志的内容
- 日期与事件以及事件的结果
- 触发事件的用户
- 所有认证机制的使用都可以被记录,如ssh等
- 对关键数据文件的修改行为等都可以被记录
使用auditd做系统的审计
- 使用audit监控/etc/ssh/sshd_config
- 当该文件发生任何变化即记录日志
- 通过手动和ausearch工具查看日志内容
配置audit审计系统:
yum -y install audit systemctl start auditd cat /etc/audit/auditd.conf |grep log_file #查看配置文件,确定日志位置 log_file = /var/log/audit/audit.log #日志文件路径
审计规则:
[root@proxy ~]# auditctl -s #查询状态 [root@proxy ~]# auditctl -l #查看规则 [root@proxy ~]# auditctl -D #删除所有规则
定义临时文件系统规则:
语法格式 | auditctl -w path -p permission -k key_name |
---|---|
path(路径) | 为需要审计的文件或目录 |
permission(权限) | 权限可以是r,w,x,a(文件或目录的属性发生变化) |
key_name(别名) | 方便识别哪些规则生成特定的日志项 |
1、设置规则所有对passwd文件的写、属性修改操作都会被记录审计日志
auditctl -w /etc/passwd -p wa -k passwd_change
2、设置规则,监控/etc/selinux目录
设置永久文件系统规则