mirror of
https://github.com/LCTT/TranslateProject.git
synced 2026-08-23 04:03:29 +08:00
PUB:20150104 Auditd--Tool for Security Auditing on Linux Server
@shipsw
This commit is contained in:
@@ -1,14 +1,14 @@
|
||||
Auditd - Linux 服务器安全审计工具
|
||||
================================================================================
|
||||
首先,Linoxide组祝读者 **2015新年快乐万事如意!** 。下面开始这个新年版审计工具的介绍。
|
||||
首先,Linux中国祝贺读者 **2015羊年春节快乐,万事如意!** 。下面开始这个新年版审计工具的介绍。
|
||||
|
||||
安全防护是首先要考虑的问题。为了避免别人盗取我们的数据,我们需要维护它。安全防护包括很多东西,审计是其中一个。
|
||||
安全防护是首先要考虑的问题。为了避免别人盗取我们的数据,我们需要时刻关注它。安全防护包括很多东西,审计是其中之一。
|
||||
|
||||
我们知道Linux系统上有一个叫 **auditd** 的审计工具。这个工具在大多数Linux操作系统中是默认安装的。审计工具是什么?如何使用?下面我们开始介绍。
|
||||
我们知道Linux系统上有一个叫 **auditd** 的审计工具。这个工具在大多数Linux操作系统中是默认安装的。那么auditd 是什么?如何使用呢?下面我们开始介绍。
|
||||
|
||||
### 什么是审计? ###
|
||||
|
||||
审计(或审计监控)是Linux审计系统中用户部分的一个组件,负责将审计记录写入磁盘。
|
||||
auditd(或 auditd 守护进程)是Linux审计系统中用户空间的一个组件,其负责将审计记录写入磁盘。
|
||||
|
||||

|
||||
|
||||
@@ -20,16 +20,17 @@ Ubuntu系统中,我们可以使用 [wajig][1] 工具或者 **apt-get 工具**
|
||||
|
||||
按照下面的说明安装auditd,安装完毕后将自动安装以下auditd和相关的工具:
|
||||
|
||||
- **auditctl ;** 运行过程中控制守护进程的工具,比如如添加规则等等。
|
||||
- **/etc/audit/audit.rules ;** 记录审计规则的文件。
|
||||
- **aureport ;** 查看和生成审计报告的工具。
|
||||
- **ausearch ;** 查找审计事件的工具
|
||||
- **auditspd ;** 转发事件通知给其他应用程序,不写审计日志文件。
|
||||
- **autrace ;** 跟踪处理过程的命令。
|
||||
- **/etc/audit/auditd.conf ;** auditd工具的配置文件。
|
||||
- 首次安装 **auditd** 后, 审计规则是空的。
|
||||
- **auditctl :** 即时控制审计守护进程的行为的工具,比如如添加规则等等。
|
||||
- **/etc/audit/audit.rules :** 记录审计规则的文件。
|
||||
- **aureport :** 查看和生成审计报告的工具。
|
||||
- **ausearch :** 查找审计事件的工具
|
||||
- **auditspd :** 转发事件通知给其他应用程序,而不是写入到审计日志文件中。
|
||||
- **autrace :** 一个用于跟踪进程的命令。
|
||||
- **/etc/audit/auditd.conf :** auditd工具的配置文件。
|
||||
|
||||
可以使用以下命令查看
|
||||
首次安装 **auditd** 后, 审计规则是空的。
|
||||
|
||||
可以使用以下命令查看:
|
||||
|
||||
$ sudo auditctl -l
|
||||
|
||||
@@ -41,7 +42,7 @@ Ubuntu系统中,我们可以使用 [wajig][1] 工具或者 **apt-get 工具**
|
||||
|
||||
#### Audit 文件和目录访问审计 ####
|
||||
|
||||
我们使用审计工具的一个目的是监控文件和目录的更改。对于auditd工具,我们可使用命令来配置(注意,以下命令需要root权限)。
|
||||
我们使用审计工具的一个基本的需求是监控文件和目录的更改。使用auditd工具,我们可通过如下命令来配置(注意,以下命令需要root权限)。
|
||||
|
||||
**文件审计**
|
||||
|
||||
@@ -51,9 +52,9 @@ Ubuntu系统中,我们可以使用 [wajig][1] 工具或者 **apt-get 工具**
|
||||
|
||||
**选项 :**
|
||||
|
||||
- **-w path ;** 监控指定的路径,上面的命令指定监控路径 /etc/passwd
|
||||
- **-p ; ** 指定触发审计的文件和目录的访问权限
|
||||
- **rwxa ;** 指定的触发条件,r 读取权限,w 写入权限,x 执行权限
|
||||
- **-w path :** 指定要监控的路径,上面的命令指定了监控的文件路径 /etc/passwd
|
||||
- **-p :** 指定触发审计的文件/目录的访问权限
|
||||
- **rwxa :** 指定的触发条件,r 读取权限,w 写入权限,x 执行权限,a 属性(attr)
|
||||
|
||||
#### 目录审计 ####
|
||||
|
||||
@@ -79,31 +80,41 @@ Ubuntu系统中,我们可以使用 [wajig][1] 工具或者 **apt-get 工具**
|
||||
|
||||
$ sudo ausearch -f /etc/passwd
|
||||
|
||||
- **-f** 设定ausearch审计/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)
|
||||
|
||||
下面开始解读输出结果。
|
||||
|
||||
- **time ;** 审计时间。
|
||||
- **name ;** 审计对象
|
||||
- **cwd ;** 当前路径
|
||||
- **syscall ;** 相关的系统调用
|
||||
- **auid ;** 审计用户ID
|
||||
- **uid and gid ;** 访问文件的用户ID和用户组ID
|
||||
- **comm ;** 用户访问文件的命令
|
||||
- **exe ;** 上面命令的可执行文件路径
|
||||
- 以上审计日志显示文件未被改动。
|
||||
- **time :** 审计时间。
|
||||
- **name :** 审计对象
|
||||
- **cwd :** 当前路径
|
||||
- **syscall :** 相关的系统调用
|
||||
- **auid :** 审计用户ID
|
||||
- **uid 和 gid :** 访问文件的用户ID和用户组ID
|
||||
- **comm :** 用户访问文件的命令
|
||||
- **exe :** 上面命令的可执行文件路径
|
||||
|
||||
以下我们将要添加一个用户,看看auditd如何记录文件 /etc/passwd的改动的。
|
||||
以上审计日志显示文件未被改动。
|
||||
|
||||
以下我们将要添加一个用户,看看auditd如何记录文件 /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用户(uid =0, gid=0)在/root目录下修改。/etc/passwd 文件是使用**/usr/bin/chfn** 访问的。
|
||||
@@ -133,7 +144,7 @@ Ubuntu系统中,我们可以使用 [wajig][1] 工具或者 **apt-get 工具**
|
||||
|
||||
一旦定义审计规则后,它会自动运行。过一段时间后,我们可以看看auditd是如何帮我们跟踪审计的。
|
||||
|
||||
Auditd提供了另一个工具叫 **aureport** 。从名字上可以猜到, **aureport** 是使用系统日志生成简要报告的工具。
|
||||
Auditd提供了另一个工具叫 **aureport** 。从名字上可以猜到, **aureport** 是使用系统审计日志生成简要报告的工具。
|
||||
|
||||
我们已经配置auditd去跟踪/etc/passwd文件。auditd参数设置后一段时间后,audit.log 文件就创建出来了。
|
||||
|
||||
@@ -155,7 +166,7 @@ Auditd提供了另一个工具叫 **aureport** 。从名字上可以猜到, *
|
||||
|
||||
从上图可以看出,由两个用户在特定的时间授权失败。
|
||||
|
||||
如果我们想看所有相关账户修改的事件,可以使用-m参数。
|
||||
如果我们想看所有账户修改相关的事件,可以使用-m参数。
|
||||
|
||||
$ sudo aureport -m
|
||||
|
||||
@@ -165,8 +176,10 @@ Auditd提供了另一个工具叫 **aureport** 。从名字上可以猜到, *
|
||||
|
||||
我们已经添加如下规则:
|
||||
|
||||
- $ sudo auditctl -w /etc/passwd -p rwxa
|
||||
- $ sudo auditctl -w /production/
|
||||
- 现在,如果确信这些规则正常,我们可以将其添加到**/etc/audit/audit.rules**中使得规则永久有效。以下介绍如何将他们添加到/etc/audit/audit.rules中去。
|
||||
|
||||
现在,如果确信这些规则可以正常工作,我们可以将其添加到**/etc/audit/audit.rules**中使得规则永久有效。以下介绍如何将他们添加到/etc/audit/audit.rules中去。
|
||||
|
||||

|
||||
|
||||
@@ -192,7 +205,7 @@ via: http://linoxide.com/how-tos/auditd-tool-security-auditing/
|
||||
|
||||
作者:[Pungki Arianto][a]
|
||||
译者:[shipsw](https://github.com/shipsw)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
Reference in New Issue
Block a user