auditd – 在linux中进行审计
我正在尝试在我的centos 6.x盒子上设置一个强大的审核机制.我尝试并测试了各种审计工具
>审计 但没有一个完全符合我的要求.我的要求非常简单,我知道一个审计系统不会全部服务,我可能必须一起使用不同的审计系统.我想要 >监控用户运行的所有命令 psacct完美地做到了这一点,但它只告诉用户运行的命令,而不是传递给命令的参数.即 审计人员说,例如运行了vim命令并编辑了一个特定文件,但没有告诉谁编辑了该文件. 假设我以sudo用户身份运行命令,那么如果有10个sudo用户作为gid并且uid将在命令输出中为超级用户,那么它不会告诉我哪个用户编辑了特定文件: time->Sat Jun 20 15:52:45 2015 type=PATH msg=audit(1434795765.057:54685): item=4 name="/etc/passwd" inode=152790 dev=fd:00 mode=0100644 ouid=0 ogid=0 rdev=00:00 nametype=CREATE type=PATH msg=audit(1434795765.057:54685): item=3 name="/etc/passwd" inode=152786 dev=fd:00 mode=0100644 ouid=0 ogid=0 rdev=00:00 nametype=DELETE type=PATH msg=audit(1434795765.057:54685): item=2 name="/etc/passwd+" inode=152790 dev=fd:00 mode=0100644 ouid=0 ogid=0 rdev=00:00 nametype=DELETE type=PATH msg=audit(1434795765.057:54685): item=1 name="/etc/" inode=130562 dev=fd:00 mode=040755 ouid=0 ogid=0 rdev=00:00 nametype=PARENT type=PATH msg=audit(1434795765.057:54685): item=0 name="/etc/" inode=130562 dev=fd:00 mode=040755 ouid=0 ogid=0 rdev=00:00 nametype=PARENT type=CWD msg=audit(1434795765.057:54685): cwd="/etc" type=SYSCALL msg=audit(1434795765.057:54685): arch=c000003e syscall=82 success=yes exit=0 a0=7fffba897300 a1=7fd7cc94ece0 a2=7fffba8971c0 a3=0 items=5 ppid=14041 pid=14043 auid=0 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0 tty=pts1 ses=8494 comm="useradd" exe="/usr/sbin/useradd" key=(null) >想跟踪对文件所做的实际更改 辅助工具告诉文件已被修改,但是如何获取实际修改的内容的细节以及哪些用户进行了修改? 解决方法
您可以使用auditd和pam模块实现此目的.您需要在会话下加载pam模块pam_tty_audit
session required pam_tty_audit.so disable=testuser1 enable=testuser,root 在/etc/pam.d/password-auth和/etc/pam.d/system-auth文件中. 然后启用用户的按键将记录到审核日志中. 生成审计报告时,请使用-i选项和aureport来准确获取用户名. 例如:aureport –tty -i -ts今天 此方法的一个缺点是将记录所有击键,包括在终端中输入的密码. 对于跟踪文件,可以使用更改的助手.这使用校验和验证方法.但是文件中更改的确切行不可跟踪. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |