相关概念

  • EVENT

    • 事件,审计系统计录的对象,包括用户登陆、网络与文件操作等各方面
  • CLASS
    • 类,对具有相同或类似属性的事件的分組
  • RECORD
    • 记录,审计系统生成的日志中的每一条信息
  • TRAIL
    • 账目,即日志文件
  • SELECTION EXPRESSION
    • 筛选表达式,用于提取有效审计信息的語法
  • PRESELECTION
    • 預设筛选,用于指定审计日志的记录范围
  • REDUCTION
    • 简化,或称为浓縮,是指从日志中提取重要内容的过程,也包括经过一段較长时间之后,对旧的审计日志中非重要部分进行清除以释放磁盘空间的行为

系统支持

  • # /etc/rc.conf[.local]
    auditd_enable="YES"
    # /usr/src/sys/amd64/conf/
    MyKernel
    options AUDIT 

配置

  • CONFIG FILE:/etc/security/audit_*
    • audit_class:类定义,其包含的具体内容定义在 audit_event 中,可以自定义其归属关系
    • audit_control:行为控制,针对整个系统
    • audit_event:可审计事件信息表
    • audit_user:对具体每个用户的行为控制
    • audit_warn:自带的警示脚本
  • 預置的 CLASS 定义
  • 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 类系统調用执行了哪些額外操作
  • /etc/security/audit_user
    • 以冒号分割为三个字段,分别为用户名、总是审计的事件、从不审计的事件
    • # 留空  表示记录成功或失败的事件
      # +  表示仅记录执行成功的事件
      # -  表示仅记录执行失败的事件
      # ^  表示记录既没有返回成功也没有返回失败的事件
      # ^-  没有返回失败信号的事件
      # ^+  没有返回成功信号的事件
      # 以上规则同样适用于 audit_control 文件中的 flags 与 naflags 字段
      John:lo,+ex:no #对 John 用户的登入登出及成功执行的程序进行审计;无法归类的事件不审计
      www:fc,+ex:no #对 www 用户的文件创建与成功执行程序事件进行审计;无法归类的事件不审计
  • /etc/security/audit_control
    • 参数含义
    • 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  #指日志大小上限, 表示不限制;达到指定大小时,会创建一个新文件継续记录,可以使用的单位: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 

管理

  • audit 用户組中的成员拥有对 /var/audit 下审计日志的查看权限
  • 审计日志文件是以 BSD 二进制形式存储的,必須使务对应的工具进行管理:praudit、auditreduce
  • praudit
  • #将审计日志文件转换为可读文件格式,每个事件的记录起始位置用 header 与 trailer 标识;-x 表示转换为 xml 格式
    praudit [-x] /var/audit/AUDITFILE
    #示例:

    header,,,execve(),,Mon Sep :: , + msec
    exec arg,finger,John #命令及参数,此处意为执行了 finger John 命令
    path,/usr/bin/finger #所执行的命令的绝对路径
    attribute,,root,wheel,,, #这是对 finger 二进制文件当时的属性的描述
    subject,robert,root,wheel,root,wheel,,,,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, #执行結果
    trailer, #結束标识
    # 仅提取 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)
    • 审计日志的分段存储,由 audit 自身管理,不能使用 newsyslog
    • 手动分段的命令是:audit -n,执行后会创建一个新的日志文件供内核写入;可以写入 crontab 中定时轮转
  • 日志压缩
    • 可以在 /etc/security/audit_warn 中添加自定义脚本内容
    • # 日志文件会在正常关闭的时候执行压缩
      # 如:关机或到达临界条件需要关闭旧的日志文件进行 rotate 时
      if [ "$1" = closefile ]; then #其中的 $1、closefile、$2 等是系统預先定义好的变量与标识
      xz $
      fi 

...

FreeBSD_11-系统管理——{Part_7 - AUDIT}的更多相关文章

  1. FreeBSD_11 - 系统管理——{ Part_5 - ZFS }

    参考資料 http://docs.oracle.com/cd/E37934_01/html/E36658/toc.html https://www.freebsd.org/doc/en_US.ISO8 ...

  2. linux服务之audit

    http://blog.chinaunix.net/uid-20786165-id-3167391.html http://blog.chinaunix.net/uid-8389195-id-1741 ...

  3. Linux 系统管理04--账号管理

    Linux系统管理04--账号管理 一.用户账号管理 1.用户账号概述 (1)用户账号的常见分类: 1>超级用户:root uid=0 gid=0 权限最大. 2>普通用户:uid> ...

  4. linux的审计功能(audit)

    为了满足这样的需求:记录文件变化.记录用户对文件的读写,甚至记录系统调用,文件变化通知.什么是auditThe Linux Audit Subsystem is a system to Collect ...

  5. linux常用命令与系统管理常用命令

    linux命令:切换用户:开启ftp服务:service vsftpd start 开启ssh服务:service sshd start普通用户切换到超级用户:su rootlogout:(注销)un ...

  6. 第一篇 Entity Framework Plus 之 Audit

    一般系统会有登陆日志,操作日志,异常日志,已经满足大部分的需求了.但是有时候,还是需要Audit 审计日志,审计日志,主要针对数据增,改,删操作数据变化的记录,主要是对数据变化的一个追踪过程.其中主要 ...

  7. 1-linux系统管理(一)之安装RHEL 6.4

    linux系统管理之安装RHEL 6.4 进入安装界面 这里选择跳过 点击下一步 选择安装语言 选择键盘 选择系统储存方式 选择是否格式化储存设备 给安装的系统一个计算机名 选择时区 给root一个密 ...

  8. SQL Server Audit监控触发器状态

    一.本文所涉及的内容(Contents) 本文所涉及的内容(Contents) 背景(Contexts) 实现代码(SQL Codes) 注意事项(Attention) 疑问(Questions) 参 ...

  9. Linux常用系统管理命令(top、free、kill、df)

    top   -c    #任务管理器 free  -m    #查看内存使用情况 kill  -9   2312 (说明:强制杀死进程 kill  -9  pid ) df   -h    #查看磁盘 ...

随机推荐

  1. mac composer 安装

    在命令行执行 curl -sS https://getcomposer.org/installer | php 如果没安装 curl 执行以下代码 php -r "readfile('htt ...

  2. 2016 Multi-University Training Contest 1 G. Rigid Frameworks

    Rigid Frameworks Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) ...

  3. Ubuntu配置Tomcat9非root用户启动

    unix类系统的root用户具有极大的权利,所以很多时候我们不希望程序以root身份启动,这也就是配置Tomcat以指定身份(非root)启动的初衷,虽然也没人来攻击我的服务器,但本着学习学习的目的, ...

  4. kafka的log存储解析——topic的分区partition分段segment以及索引等

    转自:http://blog.csdn.net/jewes/article/details/42970799 引言 Kafka中的Message是以topic为基本单位组织的,不同的topic之间是相 ...

  5. [转] 前后端分离开发模式的 mock 平台预研

    引入 mock(模拟): 是在项目测试中,对项目外部或不容易获取的对象/接口,用一个虚拟的对象/接口来模拟,以便测试. 背景 前后端分离 前后端仅仅通过异步接口(AJAX/JSONP)来编程 前后端都 ...

  6. UVA - 11604 General Sultan 题解

    题目大意: 有若干模式串,将某些模式串拼接起来(一个可以使用多次)形成一个长模式串,判断能否有两种或更多种不同的拼法拼成相同的模式串. 思路: 神奇的构图,暴力的求解. 可以发现,若有不同的拼法,则一 ...

  7. 全本软件白名单 Quanben Software Whitelist

    Windows应用软件 Windows Applications (TBU) 全本推荐微软Windows 10操作系统 Quanben recommends Microsoft Windows 10 ...

  8. BZOJ‘s Usaco 奶牛题集锦

    1230 线段树 1231 状压DP 1232 最小生成树 1527 贪心 1600 打表找规律 1601 最小生成树 1602 prime 1606 DP 1607 筛法 1609 DP 1610 ...

  9. *HDU 1398 母函数

    Square Coins Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Tota ...

  10. JS鼠标获取坐标

    <html> <head> <title>获取鼠标的坐标信息</title> </head> <body> <div id ...