知方号

知方号

linux开启安全审计功能,Linux操作系统之安全审计功能

linux开启安全审计功能,Linux操作系统之安全审计功能

内核编译时,一般打开NET选项就打开AUDIT选项了。

在系统中查看audit是否打开,root 用户执行:

service auditd status

我们知道在Linux系统中有大量的日志文件可以用于查看应用程序的各种信息,

但是对于用户的操作行为(如某用户修改删除了某文件)却无法通过这些日志文件来查看,

如果我们想实现监管企业员工的操作行为就需要开启审计功能,也就是auditd。

1、首先执行以下命令开启auditd服务

service auditd start

2、接着查看看auditd的服务状态,有两种方法可以实现,使用auditctl命令时主要看enabled是否为1,1为开启,0为关闭

[root@ns-master-c01 ~]# service auditd status

auditd (pid  20594) is running...

[root@ns-master-c01 ~]# auditctl -s

AUDIT_STATUS: enabled=1 flag=1 pid=20594 rate_limit=0 backlog_limit=320 lost=0 backlog=0

3、开启了auditd服务后,所有的审计日志会记录在/var/log/audit/audit.log文件中,

该文件记录格式是每行以type开头,

其中红框处是事件发生的时间(代表从1970年1月1日到现在过了多久,可以用date命令转换格式),

冒号后面的数字是事件ID,同一个事件ID是一样的。

4、audit可以自定义对指定的文件或命令进行审计(如监视rm命令被执行、/etc/passwd文件内容被改变),

只要配置好对应规则即可,配置规则可以通过命令行(临时生效)或者编辑配置文件(永久生效)两种方式来实现。

编辑配置文件(永久生效):

auditd的配置文件为/etc/audit/audit下的auditd.conf 和audit.rules

auditd.conf 主要是定义了auditd服务日志和性能等相关配置,

audit.rules才是定义规则的文件,

修改完后重启服务

service auditd restart

5.如果直接使用tailf等查看工具进行日志分析会比较麻烦,

好在audit已经提供了一个更好的事件查看工具——ausearch,使用auserach -h查看下该命令的用法:

这里列出几个常用的选项:

-a number  #只显示事件ID为指定数字的日志信息,如只显示926事件:ausearch -a 926

-c  commond  #只显示和指定命令有关的事件,如只显示rm命令产生的事件:auserach  -c  rm

-i  #显示出的信息更清晰,如事件时间、相关用户名都会直接显示出来,而不再是数字形式

-k  #显示出和之前auditctl -k所定义的关键词相匹配的事件信息

6、使用auditctl还可以查看和清空规则

auditctl -l 查看定义的规则

auditctl -D 清空定义的规则

-------------------

安装 auditd

REL/centos默认已经安装了此套件,如果你使用ubuntu server,则要手工安装它:

sudo apt-get install auditd

它包括以下内容:

auditctl : 即时控制审计守护进程的行为的工具,比如如添加规则等等。

/etc/audit/audit.rules : 记录审计规则的文件。

aureport : 查看和生成审计报告的工具。

ausearch : 查找审计事件的工具

auditspd : 转发事件通知给其他应用程序,而不是写入到审计日志文件中。

autrace : 一个用于跟踪进程的命令。

/etc/audit/auditd.conf : auditd工具的配置文件。

Auditd文件和目录访问审计

首次安装 auditd 后, 审计规则是空的。可以用 sudo auditctl -l 查看规则。文件审计用于保护敏感的文件,如保存系统用户名密码的passwd文件,文件访问审计方法:

sudo auditctl -w /etc/passwd -p rwxa

-w path : 指定要监控的路径,上面的命令指定了监控的文件路径 /etc/passwd

-p : 指定触发审计的文件/目录的访问权限

rwxa : 指定的触发条件,r 读取权限,w 写入权限,x 执行权限,a 属性(attr)

目录进行审计和文件审计相似,方法如下:

$ sudo auditctl -w /production/

以上命令对/production目录进行保护。

查看审计日志

添加规则后,我们可以查看 auditd 的日志。使用 ausearch 工具可以查看auditd日志。

sudo ausearch -f /etc/passwd

-f 设定ausearch 调出 /etc/passwd文件的审计内容

查看审计报告

以上命令返回log如下:

time->Mon Dec 22 09:39:16 2016

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/somebody"

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 和 gid : 访问文件的用户ID和用户组ID

comm : 用户访问文件的命令

exe : 上面命令的可执行文件路径

备注:随笔中内容来源于网上资料整理,仅供参考。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至lizi9903@foxmail.com举报,一经查实,本站将立刻删除。

上一篇 没有了

下一篇没有了