相关概念安全
系统支持网络
# /etc/rc.conf[.local] auditd_enable="YES" # /usr/src/sys/amd64/conf/MyKernel options AUDIT
配置session
all all #匹配全部事件类别 aa authentication and authorization #认証 ad administrative #系统管理行为 ap application #应用程序定义的行为 cl file close #关闭文件相关的系统調用 ex exec Audit program execution #程序运行 fa file attribute access #文件属性查看,即 stat 之类的系统調用 fc file create #文件建立 fd file delete #文件册除 fm file attribute modify #文件属性更改 fr file read #文件防问/读取 fw file write #文件更改或写入 io ioctl #针对 ioctl 系统調用 ip ipc #进程间通讯,包括 POSIX 与 SYSTEM V 两类 lo login_logout #系统登入与登出 na non attributable #无属主事件,即登录以前的行为,如失败的登录尝试等 no invalid class #无效事件,无关归类的事件 nt network #网络请求与接受事件 ot other #其它小几率事件 pc process #审计进程的行为,如某进程調用 exec 类系统調用执行了哪些額外操做
# 留空 表示记录成功或失败的事件
# + 表示仅记录执行成功的事件
# - 表示仅记录执行失败的事件
# ^ 表示记录既没有返回成功也没有返回失败的事件
# ^- 没有返回失败信号的事件
# ^+ 没有返回成功信号的事件
# 以上规则一样适用于 audit_control 文件中的 flags 与 naflags 字段
John:lo,+ex:no #对 John 用户的登入登出及成功执行的程序进行审计;没法归类的事件不审计 www:fc,+ex:no #对 www 用户的文件建立与成功执行程序事件进行审计;没法归类的事件不审计
dir:/var/audit #存放审计日志的目录 dist:off #当设定为 on 或 yes 时,全部审计日志文件都会在 /var/audit/dist 下建立更连接,供 auditdistd 使用,经过网络进行安全的分布式存储 flags:lo,aa #指定对全部用户都审计的事件类别 host:10.1.1.2 #指定主机名称 或 IP,追加在每条审计记录的 header 以前;若使用主机名,在 /etc/hosts 中静态添加,不要依靠 DNS naflags:lo #指定对哪些类别中的没法断定执行主体的事件进行审计 minfree:5 #存放日志的目录所在文件系统须要为其它应用保留的空间百分比,如 5 表明預留 5% policy:cnt,argv #全局策略参数(cnt:某个事件审计失败时継续运行,argv:) filesz:10M #指日志大小上限,0 表示不限制;达到指定大小时,会建立一个新文件継续记录,可使用的单位:B(Bytes)、K(Kilobytes)、M(Megabytes)、G(Gigabytes),指定的值小于 512K 时,会被忽略 expire-after:60d AND 1G #指定审计日志失效条件,能够为时间(单位:y/d/h/s)或 size (单位:G/M/K/B)形式,能够用 AND、OR 逻辑进行組合,如本例指建立时间超过 60 天的日志会被清除,但若是全部日志的总大小没有超过 1G,则不清除,直到总大小达到 1G
管理app
#将审计日志文件转换为可读文件格式,每一个事件的记录起始位置用 header 与 trailer 标识;-x 表示转换为 xml 格式
praudit [-x] /var/audit/AUDITFILE #示例: header,133,10,execve(2),0,Mon Sep 25 15:58:03 2006, + 384 msec exec arg,finger,John #命令及参数,此处意为执行了 finger John 命令 path,/usr/bin/finger #所执行的命令的绝对路径 attribute,555,root,wheel,90,24918,104944 #这是对 finger 二进制文件当时的属性的描述 subject,robert,root,wheel,root,wheel,38439,38032,42086,128.232.9.100 #audit user ID, effective user ID and group ID, real user ID and group ID, process ID, session ID, port ID, and login address return,success,0 #执行結果 trailer,133 #結束标识
# 仅提取 John 用户的审计日志
auditreduce -u John /var/audit/AUDITFILE | praudit
# 以相似于 top 命令的界面形式动态监控
# 注意:监控行为自己会产生大量审计记录,影响视图可读性,此方法不适用于过于精细的审计对象
praudit /dev/auditpipe #auditpipe 设备默认只有 root 能够訪问,若要受权 audit 用户組中的成员使用,在 /etc/devfs.rules 中添加 add path 'auditpipe*' mode 0440 group audit
# 日志文件会在正常关闭的时候执行压缩 # 如:关机或到达临界条件须要关闭旧的日志文件进行 rotate 时 if [ "$1" = closefile ]; then #其中的 $一、closefile、$2 等是系统預先定义好的变量与标识 xz $2 fi
...分布式