赞
踩
1、audit
The Linux Audit Subsystem is a system to Collect information regarding events occurring on the system(s) ,Kernel events (syscall events), User events (audit-enabled programs)。syslog记录的信息有限,主要目的是软件调试,跟踪和打印软件的运行状态,而audit的目的则不同,它是linux安全体系的重要组成部分,是一种“被动”的防御体系。在内核里有内核审计模块,记录系统中的各种动作和事件,比如系统调用,文件修改,执行的程序,系统登入登出和记录所有系统中所有的事件,它的主要目的是方便管理员根据日记审计系统是否允许有异常,是否有入侵等等,说穿了就是把和系统安全有关的事件记录下来。
2、原理
从图 可以看到 audit 是内核中的一个模块,内核的运行情况都会在 audit 中记录,当然这个记录的规则是由超级用户来设置的。内核的 audit 模块是由应用层的一个应用程序 auditd 来控制的。audit 产生的数据都会传送到 auditd 中,然后再由 auditd 进行其它操作。auditd.conf 是 auditd 的配置文件,确定 auditd 是如何启动的,日志文件放在哪里等等。audit.rules 是 audit 的规则文件,确定 audit 的日志中记录哪些操作。它通过一个对 audit 进行控制的应用程序 auditctl 进行操作。root 用户也可以直接调用 auditctl 进行操作。auditd 收到的数据后会有两个去处。默认的是将日志保存在 audit.log 文件中,默认路径/var/log/audit/audit.log。另一个通过 audispd 将日志进行分发。要使用安全审计系统可采用下面的步骤:首先安装软件包。然后设置配置文件、配置常用命令,添加审计规则,然后启用 audit 守护进程并开始进行日志记录,最后通过生成审计报表和搜索日志来周期性地分析数据。
3、相关配置文件
audit 安装后会生成 2 个配置文件: /etc/audit/auditd.conf 和/etc/audit/audit.rules 。/etc/audit/auditd.conf 是守护程序的默认配置文件。/etc/audit/audit.rules 是记录审计规则的文件。首次安装 audit 后, 审计规则文件是空的。
- [root@VM_0_11_centos pam.d]# cat /etc/audit/auditd.conf
- #
- # This file controls the configuration of the audit daemon
- #
-
- local_events = yes
- write_logs = yes
- log_file = /var/log/audit/audit.log #audit日志存储位置
- log_group = root
- log_format = RAW
- flush = INCREMENTAL_ASYNC
- freq = 50
- max_log_file = 8 #日志文件的最大值,以M为单位
- num_logs = 5 #日志文件轮询的数目,它是 0~99 之间的数。如果设置 为小于 2,则不会循环日志。如果没有设置 num_logs 值,它就默认为 0,意味着从来不循环日志文件
- priority_boost = 4
- disp_qos = lossy
- dispatcher = /sbin/audispd
- name_format = NONE
- ##name = mydomain
- max_log_file_action = ROTATE #设置日志文件到达最大值后的动作,这里选择 ROTATE(轮询)
- space_left = 75
- space_left_action = SYSLOG
- verify_email = yes
- action_mail_acct = root
- admin_space_left = 50
- admin_space_left_action = SUSPEND
- disk_full_action = SUSPEND
- disk_error_action = SUSPEND
- use_libwrap = yes
- ##tcp_listen_port = 60
- tcp_listen_queue = 5
- tcp_max_per_addr = 1
- ##tcp_client_ports = 1024-65535
- tcp_client_max_idle = 0
- enable_krb5 = no
- krb5_principal = auditd
- ##krb5_key_file = /etc/audit/audit.key
- distribute_network = no
- [root@VM_0_11_centos pam.d]#
- [root@VM_0_11_centos rules.d]# cat audit.rules
- ## First rule - delete all
- -D
-
- ## Increase the buffers to survive stress events.
- ## Make this bigger for busy systems
- -b 8192
-
- ## Set failure mode to syslog
- -f 1
-
- [root@VM_0_11_centos rules.d]#
可以通过 auditctl 命令设置。监控文件系统行为(依靠文件、目录的权限属性来识别)
规则格式:
-w 路径
-p 权限
-k 关键字
其中-p 权限的动作分为四种
r — 读取文件或者目录。
w — 写入文件或者目录。
x — 运行文件或者目录。
a — 改变在文件或者目录中的属性。
也可以自己将上述内容加入到文件/etc/audit/rules.d/audit.rules 中即可实现对该文件的监视。
4、使用
1)安装
[root@VM_0_11_centos pam.d]# yum -y install audit*
2)开启服务
- [root@VM_0_11_centos rules.d]# systemctl start auditd
- [root@VM_0_11_centos rules.d]# systemctl status auditd
- ● auditd.service - Security Auditing Service
- Loaded: loaded (/usr/lib/systemd/system/auditd.service; enabled; vendor preset: enabled)
- Active: active (running) since Thu 2020-01-09 09:03:41 MST; 2 days ago
- Docs: man:auditd(8)
- https://github.com/linux-audit/audit-documentation
- Process: 608 ExecStartPost=/sbin/augenrules --load (code=exited, status=0/SUCCESS)
- Process: 581 ExecStart=/sbin/auditd (code=exited, status=0/SUCCESS)
- Main PID: 591 (auditd)
- Memory: 34.4M
- CGroup: /system.slice/auditd.service
- └─591 /sbin/auditd
3)添加规则
- 添加临时规则
- [root@VM_0_11_centos rules.d]# auditctl -w /bin/rm -p x -k removefile
- -w #指定所要监控的文件或命令
- -p #监控属性(如x执行)
- -k #指定关键词(方便在日志中查询)
- -D #清除规则(临时,不会清除配置文件规则)
-
-
- 添加永久规则的话将规则写入/etc/audit/rules.d/audit.rules文件
4) 查看规则
- [root@VM_0_11_centos rules.d]# auditctl -l
- -w /bin/rm -p x -k removefile
- [root@VM_0_11_centos rules.d]#
5)查看日志/var/log/audit/audit.log
- 4d:dd:ab:87:bd:8c:03:3c:fd:0e:05:5c:f1:0e:21:8b:a2 direction=? spid=29965 suid=0 exe="/usr/sbin/sshd" hostname=? addr=? terminal=? res=success'
- type=CRYPTO_KEY_USER msg=audit(1578819766.382:759162): pid=29965 uid=0 auid=0 ses=3891 msg='op=destroy kind=server fp=SHA256:40:70:c4:27:c1:6f:0d:de:0d:6c:2d:6d:14:62:36:f7:d4:fc:81:39:04:5b:da:a9:7b:c4:c8:31:7f:5d:e3:ab direction=? spid=29965 suid=0 exe="/usr/sbin/sshd" hostname=? addr=? terminal=? res=success'
- type=CRED_REFR msg=audit(1578819766.382:759163): pid=29965 uid=0 auid=0 ses=3891 msg='op=PAM:setcred grantors=pam_unix acct="root" exe="/usr/sbin/sshd" hostname=47.74.209.185 addr=47.74.209.185 terminal=ssh res=success'
- type=CONFIG_CHANGE msg=audit(1578819767.034:759164): auid=0 ses=3891 op=add_rule key="removefile" list=4 res=1
- type=USER_END msg=audit(1578819767.724:759165): pid=17156 uid=0 auid=0 ses=3891 msg='op=login id=0 exe="/usr/sbin/sshd" hostname=47.74.209.185 addr=47.74.209.185 terminal=ssh res=success'
- type=USER_START msg=audit(1578819767.909:759166): pid=17156 uid=0 auid=0 ses=3891 msg='op=login id=0 exe="/usr/sbin/sshd" hostname=47.74.209.185 addr=47.74.209.185 terminal=ssh res=success'
6)ausearch命令
- ausearch
- -i #显示信息更清晰,比如显示日期而不是时间戳
- -k #指定关键词(auditctl -k指定的关键词)
- -c commond #只显示与指令相关日志(如-c rm)
- [root@VM_0_11_centos audit]# ausearch -c rm
- ----
- time->Sun Jan 12 02:07:01 2020
- type=PROCTITLE msg=audit(1578820021.730:761644): proctitle=726D002D69002D7266002F746D702F746573742E747874
- type=PATH msg=audit(1578820021.730:761644): item=1 name="/lib64/ld-linux-x86-64.so.2" inode=21366 dev=fd:01 mode=0100755 ouid=0 ogid=0 rdev=00:00 objtype=NORMAL cap_fp=0000000000000000 cap_fi=0000000000000000 cap_fe=0 cap_fver=0
- type=PATH msg=audit(1578820021.730:761644): item=0 name="/usr/bin/rm" inode=4699 dev=fd:01 mode=0100755 ouid=0 ogid=0 rdev=00:00 objtype=NORMAL cap_fp=0000000000000000 cap_fi=0000000000000000 cap_fe=0 cap_fver=0
- type=CWD msg=audit(1578820021.730:761644): cwd="/etc/audit/rules.d"
- type=EXECVE msg=audit(1578820021.730:761644): argc=4 a0="rm" a1="-i" a2="-rf" a3="/tmp/test.txt"
- type=SYSCALL msg=audit(1578820021.730:761644): arch=c000003e syscall=59 success=yes exit=0 a0=101e330 a1=10200c0 a2=f33da0 a3=7ffccaf81360 items=2 ppid=17165 pid=2023 auid=0 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0 tty=pts0 ses=3891 comm="rm" exe="/usr/bin/rm" key="removefile"
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。