Auditd - Linux服务器上的安全审核工具
安全是我们需要考虑的主要因素之一。
我们必须维持它,因为我们不希望有人窃取我们的数据。
安全包括许多事情。
审计,是其中之一。
在Linux系统上,我们知道我们有一个名为auditd的工具。
在大多数Linux操作系统中,此工具默认存在。
什么是auditd工具以及如何使用它?
我们将在下面封面。
什么是auditd?
Auditd或者Audit守护程序是Linux审计系统的用户座位组件。
它负责将审核记录写入磁盘。
安装Auditd.
在基于Ubuntu的系统上,我们可以使用Wajig工具或者APT-Get工具来安装Auditd。
只需按照指令完成它。
完成后,它将安装与Auditd Tool相关的一些工具。
以下是工具:
- auditctl;是一个控制守护程序的行为的工具,添加规则等
- /etc/audit/audit.rules;是包含审核规则的文件
- Aureport;是生成和查看审计报告的工具
- ausearch;是搜索各种事件的工具
- 奥迪斯普德;是一种工具,可用于将事件通知中继到其他应用程序而不是将它们写入审核日志中的磁盘
- Autrace;是一个可用于跟踪进程的命令
- /etc/audit/auditd.conf;是auditd工具的配置文件
- 当我们第一次安装auditd时,尚未提供规则。
我们可以使用此命令检查它:
$sudo auditctl -l
要在Auditd上添加规则,让我们继续下面的部分。
如何使用它
审核文件和目录访问
我们使用审计工具的基本需要之一是,我们如何知道有人是否更改文件或者目录?
使用Auditd Tool,我们可以使用这些命令(请记住,我们将需要root权限配置Auditd工具):
审计文件
$sudo auditctl -w /etc/passwd -p rwxa
和 :
- -w路径;此参数将在路径下插入文件系统对象的手表。在上面的示例中,auditd将Wacth/etc/passwd文件
- -P;此参数介绍文件系统手表将触发的权限访问类型
- rwxa;是绑定到-p参数的属性。 r是读取的,w是写入,x是执行,a是属性
审计目录
要审核目录,我们将使用类似的命令。
让我们来看看以下命令:
$sudo auditctl -w /production/
上面的命令将观察到/制作文件夹的任何访问。
现在,如果我们再次运行auditctl -l命令,我们将看到添加新规则。
现在让我们看看审计日志说。
查看审计日志
在添加规则之后,现在我们可以看到审计员如何行动。
要查看审核日志,我们可以使用ausearch工具。
我们已经添加了规则来观看/etc/passwd文件。
现在,我们将尝试使用ausearch工具查看审核日志。
$sudo ausearch -f /etc/passwd
- -f参数告诉ausearch调查/etc/passwd文件
- 结果如下所示:
time->Mon Dec 22 09:39:16 2014 type=PATH msg=audit(1419215956.471:194): item=0 name="/etc/passwd" inode=142512 dev=08:01 mode=0100644 ouid=0 ogid=0 rdev=00:00 nametype=NORMAL type=CWD msg=audit(1419215956.471:194): cwd="/home/pungki" type=SYSCALL msg=audit(1419215956.471:194): arch=40000003 syscall=5 success=yes exit=3 a0=b779694b a1=80000 a2=1b6 a3=b8776aa8 items=1 ppid=2090 pid=2231 auid=4294967295 uid=1000 gid=1000 euid=0 suid=0 fsuid=0 egid=1000 sgid=1000 fsgid=1000 tty=pts0 ses=4294967295 comm="sudo" exe="/usr/bin/sudo" key=(null)
现在让我们了解结果。
- 时间 ;是审计完成的时候
- 名称 ;是要审计的对象名称
- CWD;是当前的目录
- SYSCALL;是相关的syscall.
- AuID;是审计用户ID
- UID和GID;是访问该文件的用户的用户ID和组ID
- Comm;是用户用于访问该文件的命令
- EXE文件 ;是上面的Comm参数命令的位置
- 上面的审核日志是原始文件。
接下来,我们将添加一个新用户,了解审计员如何将活动记录到/etc/passwd文件。
time->Mon Dec 22 11:25:23 2014 type=PATH msg=audit(1419222323.628:510): item=1 name="/etc/passwd.lock" inode=143992 dev=08:01 mode=0100600 ouid=0 ogid=0 rdev=00:00 nametype=DELETE type=PATH msg=audit(1419222323.628:510): item=0 name="/etc/" inode=131073 dev=08:01 mode=040755 ouid=0 ogid=0 rdev=00:00 nametype=PARENT type=CWD msg=audit(1419222323.628:510): cwd="/root" type=SYSCALL msg=audit(1419222323.628:510): arch=40000003 syscall=10 success=yes exit=0 a0=bfc0ceec a1=0 a2=bfc0ceec a3=897764c items=2 ppid=2978 pid=2994 auid=4294967295 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0 tty=pts0 ses=4294967295 comm="chfn" exe="/usr/bin/chfn" key=(null)
正如我们可以看到的那样,在该特定时间,/etc/passwd从目录/root(cwd =/root)访问用户root(UID = 0和GID = 0)。
使用位于/usr/bin/chfn中的chfn命令访问/etc/passwd文件
如果我们在控制台上键入Man Chfn,我们将详细了解有关CHFN的内容。
现在我们看一下另一个例子。
我们已经告诉奥迪特观看目录/生产/。
这是一个新目录。
所以当我们第一次尝试使用空历工具时,它没有找到任何东西。
接下来,root帐户尝试使用ls命令列出/生产目录。
我们第二次使用Ausearch工具,它将向我们展示一些信息。
time->Mon Dec 22 14:18:28 2014 type=PATH msg=audit(1419232708.344:527): item=0 name="/production/" inode=797104 dev=08:01 mode=040755 ouid=0 ogid=0 rdev=00:00 nametype=NORMAL type=CWD msg=audit(1419232708.344:527): cwd="/root" type=SYSCALL msg=audit(1419232708.344:527): arch=40000003 syscall=295 success=yes exit=3 a0=ffffff9c a1=95761e8 a2=98800 a3=0 items=1 ppid=3033 pid=3444 auid=4294967295 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0 tty=pts0 ses=4294967295 comm="ls" exe="/bin/ls" key=(null)
与前一个相似,我们可以使用LS命令(Comm = LS)和LS命令位于/bin/ls文件夹中的root帐户(UID = 0 gid = 0)确定/生产文件夹。
查看审计报告
一旦我们填写审计规则,它将自动运行。
经过一段时间后,我们希望看到审计员如何帮助我们跟踪它们。
Auditd附带另一个名为Aureport的工具。
正如我们可以从其名称中猜到的那样,AUREPORT是一个工具,它会产生审计系统日志的摘要报告。
我们已经告诉Auditd以前跟踪/etc/passwd。
和审核参数开发后的片刻,创建了审计文件。
要生成审计报告,我们可以使用Aureport工具。
没有任何参数,Aureport将生成审计活动的摘要报告。
$sudo aureport
正如我们所看到的,有一些信息可用,涵盖最重要的区域。
在上面的示例上,我们看到身份验证失败了3次。
使用AUREPORT,我们可以深入了解该信息。
我们可以使用此命令更深入地验证身份验证:
$sudo aureport -au
正如我们在上面的示例上看到的那样,有两个用户在特定时间未能验证
如果我们希望查看与帐户修改相关的所有事件,我们可以使用-M参数。
$sudo aureport -m
auditd配置文件
我们以前已经添加:
- $sudo auditctl -w/etc/passwd -p rwxa
- $sudo auditctl -w /生产/
- 现在,如果我们确定规则还可以,我们可以将其添加到
/etc/audit/audit.rules永久使它们成为如何将它们放入/etc/audit/audit.rules文件
然后不要忘记重新启动auditd守护程序。
# /etc/init.d/auditd restart
或者
# service auditd restart