AIX系统中Audit系统的功能和概念,以及相关的命令

简介: [转]AIX系统中Audit系统的功能和概念,以及相关的命令     本文简要介绍了audit系统的功能和概念,以及相关的命令 一、AUDIT系统的概念: audit子系统提供了一种纪录系统安全方面信息的方法,同时可以为系统管理员在用户违反系统安全法则或存在违反的潜在可能时,提供及时的警告信息,这些audit子系统所搜集的信息包括:可被审计的事件名称,事件状态(成功或失败),别的安全相关的信息。

[转]AIX系统中Audit系统的功能和概念,以及相关的命令  

 

本文简要介绍了audit系统的功能和概念,以及相关的命令

一、AUDIT系统的概念:

audit子系统提供了一种纪录系统安全方面信息的方法,同时可以为系统管理员在用户违反系统安全法则或存在违反的潜在可能时,提供及时的警告信息,这些audit子系统所搜集的信息包括:可被审计的事件名称,事件状态(成功或失败),别的安全相关的信息。

AIX定义了一些可被审计的事件,可以在/etc/security/audit/events中找到,通常,这些事件都是定义在系统调用级别的。那么,一条命令可以产生多个事件,例如,如果用户通过cat或more命令来显示文件,可以在审计报告中发现下列事件:

FILE_Open(打开文件)
FILE_Read(读文件)
FILE_Write(写文件)
PROC_Create(产生进程cat或more)
PROC_Execute(执行命令)
PROC_Delete(进程执行完毕)

如果不加选择审计所有的事件会产生非常大量的数据,通过修改audit配置文件/etc/security/audit/config文件,可以选择需纪录的事件。

审计事件可以组成类,多个功能类似或相近的审计事件可以为它们定义一个类,类的定义也在/etc/security/audit/config中有,类的名字可以任意指定,类和用户UID是关联在一起的,需要对某用户定义其需要被事件的类。

审计对象是那些单个可以被审计的文件,能够审计的操作包括读、写和执行,审计对象和用户的UID不关联,只要这些文件被操作,不管是来自哪个用户,都可以产生审计纪录。审计对象在/etc/security/audit/objects中定义,如下:

/etc/security/environ:
        w = "S_ENVIRON_WRITE"
/etc/security/group:
        w = "S_GROUP_WRITE"
/etc/security/limits:
        w = "S_LIMITS_WRITE"
/etc/security/login.cfg:
        w = "S_LOGIN_WRITE"
/etc/security/passwd:
        r = "S_PASSWD_READ"
        w = "S_PASSWD_WRITE"
/etc/security/user:
        w = "S_USER_WRITE"
/etc/security/audit/config:
        w = "AUD_CONFIG_WR"

其中第一行为审计对象的文件名,第二行为输出的格式,该格式在/etc/security/audit/events中定义如下:

/etc/security/environ
        S_ENVIRON_WRITE = printf "%s"
/etc/group
        S_GROUP_WRITE = printf "%s"
/etc/security/limits
        S_LIMITS_WRITE = printf "%s"

用户可以自己在该文件中定义审计对象。

审计可以以两种模式运行:BIN和STREAM,BIN模式指的是audit将结果写入临时文件bins,然后在写入到一个单一的文件中去。STREAM模式指的是审计子系统通过伪设备文件/dev/audit将数据写入一个固定大小的文件,当写入数据超出时,最早写入的数据将被覆盖。

审计子系统可以以其中一种模式或两种模式启动。我们可以编辑审计子系统的配置文件/etc/security/audit/config来更改所用模式,如下:

start:
        binmode = on
        streammode = off
bin:
        trail = /audit/trail
        bin1 = /audit/bin1
        bin2 = /audit/bin2
        binsize = 10240
        cmds = /etc/security/audit/bincmds
stream:
        cmds = /etc/security/audit/streamcmds

可见,该系统使用的是bin模式,它使用了两个临时bins文件,bin1和bin2,它们的大小都是10240字节,当其中一个文件满了之后,子系统将打开另一个文件,并把前一个文件的纪录都转移到trail文件中,子系统停止时,这些bins中的内容将都被加入到trail文件中去,这些纪录的文件采用了二进制方式,可用命令auditpr查看。

在stream模式中,系统将通过调用/etc/security/audit/streamcmds命令来处理纪录,这条命令将把输出变成可读的格式写入文件/audit/stream.out中,audit系统重新启动时,它将被清空。所以,可以定时读它或将它的内容打印出来。

下面介绍一下审计子系统的控制命令: (关于命令的详细介绍还可以参考链接:http://www.kuqin.com/aixcmds/aixcmds1/audit.htm#a14294dd

启动和停止审计子系统 /usr/sbin/audit是控制审计子系统的基本命令,它有下列五条子命令:

  • audit start 激活审计子系统
    这是启动审计子系统的唯一正确方法
  • audit shutdown 停止审计子系统
    它将处理BIN模式下的bins临时文件,并删除/audit/auditb文件,这个文件是一个审计子系统是否活着的标识
  • audit off 暂时挂起审计子系统
  • audit on 挂起后重新激活审计子系统
  • audit query 显示子系统状态

如果不按顺序使用这些命令,审计子系统会被弄乱,如果出现这种状态,将/audit下的文件都删除(除去纪录文件train.stream.out, bin1, bin2等)

如希望在系统启动时启动审计子系统,可在/etc/rc中,在dspmsg rc.cat 5 'Multi-user initialization completed '行之前加入下行: /usr/sbin/audit start

如果审计子系统一直运行,那要确保系统关闭时它被正确地停止了,在/usr/sbin/shutdown中加入一行: /usr/sbin/audit/shutdown

配置审计子系统

审计子系统的配载文件为/etc/security/audit/config,它包含以下几段:

start: 按BIN或STREAM模式启动
bin and stream: BIN和STREAM的配置,在前简介文章中有介绍
classes: 定义的类。

预定义的类有:general, objects, SRC, kernel, files, SVIPC, mail, cron和TCPIP。例如general类的定义如下:

general = USER_SU,PASSWORD_Change,FILE_Unlink,FILE_Link, FILE_Rename,FS_Chdir,FS,PORT_Locked,PORT_Change,FS_Mkdir,FS_Rmdir

说明上述在/etc/security/audit/events中定义的事件被归类为general,用户可以自己编辑配置文件来修改类的定义,但所用事件需在/etc/security/audit/events中存在,类的定义要和用户联系在一起。

users: 该段中定义了使用类的用户。
用户必须是可登录用户或default用户,如下例:
users: root=general, joe=general,files,TCPIP default=general

当审计子系统启动后,系统将会对root用户发生的general事件做纪录,对joe用户发生的general,files,TCPIP事件做纪录,对别的用户,做general事件纪录。对审计对象而言,审计子系统启动是,会去监测/etc/security/audit/objects文件,对其中的有效文件开始做审计,无论哪个用户,包括root用户对它们的访问都会被纪录。

为一个用户更改审计类可以通过smit菜单执行
smit chuser * User NAME root
AUDIT classes []
选中相应类即可,或者直接编辑/etc/security/audit/config文件。

BIN文件可以通过下面命令来读取: #auditpr -v /audit/trail | more

结果如下:

BIN文件的输出表
event login status time command
FILE_Rename root OK 日 6月 29 12:02:07 2003 xntpd
frompath: /etc/ntp.drift.TEMP topath: /etc/ntp.drift
FS_Chdir root OK 日 6月 29 12:02:19 2003 ksh
change current directory to: /
FS_Chdir root OK 日 6月 29 12:05:20 2003 ksh
change current directory to: /

STREAM文件的输出可以直接读取如下: #more /audit/stream.out

STREAM文件的输出表
event login status time command
FS_Chdir root OK 日 6月 29 12:05:19 2003 ksh
FS_Chdir root OK 日 6月 29 12:05:20 2003 ksh
FILE_Unlink root OK 日 6月 29 12:05:29 2003 ksh

审计结果比较多的时候,可以通过下面的方法来过滤:
/usr/sbin/auditselect -f /audit/pick /audit/trail | /usr/sbin/auditpr -v

/audit/pick文件是手工编辑的,内容如下:
command == rlogin &&
time 〉= 08:00:00 && time 〈 = 17:00:00 &&
data 〉= 04/01/96 && date 〈 = 04/12/96

这个过滤器将只显示rlogin命令在指定的时间段和日期内的执行情况,指定的时间为每天的8AM到5PM,日期为96年四月一日至96年四月12日。

AUDIT系统一些常见错误如下:
  1. 运行audit start时报错:
    ** failed setting kernel audit objects
    这通常是由于/etc/security/audit/objects中的语法错误引起的。
  2. 错误信息:
    auditbin: ** failed backend command
    /etc/auditcat -p -o /audit/trail -r /audit/bin1
    这个错误可通过给BIN文件改名或删除来修正,有时停止并重启子系统也可以修正错误。
  3. 错误信息:
    Unable to find the user stanza in /etc/security/audit/config 如果对user段做了修改,请检查/etc/security/audit/config中的用户段,如为发现问题,仔细检查classes段,确保每个classes是在一个连续行中定义的。
相关文章
|
7月前
|
存储 移动开发 Linux
Linux系统之部署h5ai目录列表程序
【5月更文挑战第3天】Linux系统之部署h5ai目录列表程序
96 2
|
25天前
|
人工智能 安全 JavaScript
Open Interpreter:AI 赋能终端!在终端中对话AI模型进行编程,通过运行代码来完成各种计算机操作任务
Open Interpreter 是一个让语言模型运行代码的强大工具,提供了一个类似 ChatGPT 的界面,支持多种编程语言和丰富的功能。
82 7
Open Interpreter:AI 赋能终端!在终端中对话AI模型进行编程,通过运行代码来完成各种计算机操作任务
|
25天前
|
人工智能 Shell iOS开发
AI Shell:在命令行里“对话” AI ,微软推出将 AI 助手引入命令行的 CLI 工具,打造对话式交互命令行
AI Shell 是一款强大的 CLI 工具,将人工智能直接集成到命令行中,帮助用户提高生产力。AI Shell 支持多种 AI 模型和助手,通过多代理框架提供丰富的功能和灵活的使用模式。
83 7
|
5月前
|
机器学习/深度学习 人工智能 数据处理
人工智能平台PAI操作报错合集之任务重启后出现模型拆分报错,该怎么办
阿里云人工智能平台PAI是一个功能强大、易于使用的AI开发平台,旨在降低AI开发门槛,加速创新,助力企业和开发者高效构建、部署和管理人工智能应用。其中包含了一系列相互协同的产品与服务,共同构成一个完整的人工智能开发与应用生态系统。以下是对PAI产品使用合集的概述,涵盖数据处理、模型开发、训练加速、模型部署及管理等多个环节。
|
1月前
|
存储 人工智能 自然语言处理
OS Copilot"作为一款操作系统辅助软件应运而生,旨在提升用户使用电脑的效率
随着AI技术的发展,"OS Copilot"作为一款操作系统辅助软件应运而生,旨在提升用户使用电脑的效率。它具备智能命令建议、代码片段生成、文件管理助手及任务自动化等功能,适合日常办公与专业开发。安装简便,上手容易,能显著提高工作效率。
30 3
|
6月前
|
机器学习/深度学习 自然语言处理 Linux
hisper 在 Linux 中的应用,以及如何利用它来实现高效的自动语音识别
【6月更文挑战第7天】本文探讨了Whisper,一个基于Linux的先进自动语音识别(ASR)系统,它使用PyTorch构建,支持多语言识别。在Linux环境下,通过安装依赖、下载代码、配置环境变量及编译安装,可实现Whisper的部署。Whisper以其多语言支持、高准确性和实时性,适用于语音助手、翻译等场景。随着技术发展,Whisper有望在更多领域发挥作用。
119 5
|
6月前
|
存储 Linux Shell
探索Linux的`info`命令:数据处理的得力助手
`info`命令是Linux的数据处理助手,虽不直接处理数据,但提供详尽的文档支持。它是GNU项目的一部分,通过`.info`文件提供分节点的文档结构,支持搜索和交叉引用。常用参数包括`--help`、`--version`、`--node`和`--file`。例如,查询`bash` shell用法时,运行`info bash`。掌握导航、搜索功能和书签的使用能提升效率。与`man`命令结合使用,可获取全面的工具信息。定期更新Info pages以保持文档最新。
|
7月前
|
机器学习/深度学习 人工智能 运维
人工智能平台PAI产品使用合集之机器学习PAI可以通过再建一个done分区或者使用instance.status来进行部署吗
阿里云人工智能平台PAI是一个功能强大、易于使用的AI开发平台,旨在降低AI开发门槛,加速创新,助力企业和开发者高效构建、部署和管理人工智能应用。其中包含了一系列相互协同的产品与服务,共同构成一个完整的人工智能开发与应用生态系统。以下是对PAI产品使用合集的概述,涵盖数据处理、模型开发、训练加速、模型部署及管理等多个环节。
|
Oracle Unix 关系型数据库