知方号

知方号

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 statusauditd (pid  20594) is running...

[root@ns-master-c01 ~]# auditctl -sAUDIT_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.rulesauditd.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 2016type=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=NORMALtype=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 : 审计用户IDuid 和 gid : 访问文件的用户ID和用户组IDcomm : 用户访问文件的命令exe : 上面命令的可执行文件路径

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

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

上一篇 没有了

下一篇没有了