用Audit守护进程配置和审计Linux系统

Debian安装Audit
Debian/Ubuntu使用命令:apt-get install auditd audispd-plugins
查看运行:

root@debian:~# service auditd status
● auditd.service - Security Auditing Service
   Loaded: loaded (/lib/systemd/system/auditd.service; enabled; vendo
   Active: active (running) since Sat 2019-05-18 20:56:49 CST; 10min 
     Docs: man:auditd(8)
           https://people.redhat.com/sgrubb/audit/
 Main PID: 4640 (auditd)
    Tasks: 2 (limit: 4915)
   CGroup: /system.slice/auditd.service
           └─4640 /sbin/auditd -n

配置
2个文件管理审计守护进程的配置,一个用于守护进程本身(auditd.conf),另一个是用于auditctl工具的规则(audit.rules)。
auditd.conf
文件auditd.conf对Linux audit守护进程的配置聚焦在它应该在哪里以及如何记录事件。它也定义了如何应对磁盘满的情况、如何处理日志轮转和要保留的日志文件数量。通常,对大多数系统来说,默认配置是足够的。
audit.rules
为了配置应该审计什么日志,审计框架使用了一个名为audit.rules的文件。
和大多数情况一样,从零开始而不加载任何规则。通过用-l参数来运行auditctl,我们可以确定使用中的规则。

[root@host ~]# auditctl -l
No rules

添加一个规则:
现在是时候来监控点东西了,比如/etc/passwd文件。通过定义要查看的路径和权限,我们在这个文件上放一个观察点:


root@debian:~# auditctl -l
-w /etc/passwd -p wa


通过定义path选项,我们告诉审计框架来监视什么目录或者文件。权限决定了什么类型的访问将触发一个事件。虽然这里的权限看起来类似文件的权限,但是要注意,在这2者之间有一个重大的区别。这里的4个选项是:

r = 读取
w = 写入
x = 执行
a = 属性改变

开始查看审计的记录

root@debian:~# ausearch -f /etc/passwd
----
time->Sat May 18 20:58:45 2019
type=CONFIG_CHANGE msg=audit(1558184325.853:8): auid=0 ses=45 op="updated_rules" path="/etc/passwd" key=(null) list=4 res=1
----
time->Sat May 18 20:58:45 2019
type=PROCTITLE msg=audit(1558184325.853:9): proctitle=76696D002F6574632F706173737764
type=PATH msg=audit(1558184325.853:9): item=3 name="/etc/passwd~" inode=


这个输出里面的一些重点是:

事件的时间(time)和对象的名称(name),当前的工作路径(cwd),相关的系统调用(syscall),审计用户ID(auid)和在这个文件上执行行为的二进制(exe)。请注意,auid定义了在登录过程中的原始用户。其他的用户ID字段可能指向了一个不同的用户,取决于在触发一个事件时在使用的实际用户。


参考
https://baijiahao.baidu.com/s?id=1613986349405304047&wfr=spider&for=pc

 

你可能感兴趣的:(运维)