操作系统之Auditing Subsystem—AIX OS

版权声明:
本文遵循“署名非商业性使用相同方式共享 2.5 中国大陆”协议
您可以自由复制、发行、展览、表演、放映、广播或通过信息网络传播本作品
您可以根据本作品演义自己的作品
您必须按照作者或者许可人指定的方式对作品进行署名。
您不得将本作品用于商业目的。
如果您改变、转换本作品或者以本作品为基础进行创作,您只能采用与本协议相同的许
可协议发布基于本作品的演绎作品。
对任何再使用或者发行,您都必须向他人清楚地展示本作品使用的许可协议条款。
如果得到著作权人的许可,您可以不受任何这些条件的限制。
                                                                                                                  asram
     在IBM AIX OS中审计子系统收集事件的方式分为两种:
BIN 方式
跟踪写入交互的文件,提供安全和长期的存储。
BIN方式保安写审计记录到备用文件。在审计过程启动时,内核发送两个文件描述符和一个建议的最大bin大小。它暂挂调用进程并开始将审计记录写到第一个文件描述符。当第一个bin的大小达到最大bin大小时,且如果第二个文件描述符有效,它切换至第二个bin并重新激活调用进程。内核继续写到第二个bin直至用另一个有效的文件描述符再次调用。如果此时第二个bin满了,它切回第一个bin并且调用进程立即返回。否则,暂挂调用进程并且内核继续写记录到第二个bin直到满为止。以此方式继续处理直到关闭审计过程。
过程如下图:
操作系统之Auditing Subsystem—AIX OS_第1张图片
STREAM方式
跟踪写入循环缓冲区,缓冲区通过审计伪设备同步读取,STREAM方式提供快速响应。
在STREAM方式中,内核写记录到循环缓冲区。当内核达到缓冲区的限制时,它只是绕回开头。进程从名为/dev/audit的伪设备读取信息。当进程打开此设备时,就为该进程创建了一个通道。作为选择,可以讲在通道上读取的事件指定为审计类的列表。
过程如下图:
image
    在AIX中审计功能牵涉到/etc/security/audit/config、/etc/security/audit/bincmds、/etc/security/audit/events和/etc/security/audit/objects文件。
    config文件
主要用于设置审计使用何种方式来收集事件信息,审计管道里处理审计信息的shell语句保存的位置,审计日志的保存的位置和大小,审计的事件的类别,关注哪些用户。
内容如下:
#more /etc/security/audit/config
start:
binmode = on
streammode = off
bin:
trail = /audit/trail
bin1 = /audit/bin1
bin2 = /audit/bin2
binsize = 51200000
cmds = /etc/security/audit/bincmds
freespace = 102400000
classes:
custom = FILE_Write,USER_Login
users:
default = custom
 
start字段确定审计跟踪方式为binmode
bin字段配置binmode下需要的文件位置、名称、大小以及审计管道里处理bin的shell命令
classes字段确定审计类,本次使用包含FILE_Write和USER_Login事件的custom审计类
users字段确定针对某些人开启审计并使用什么审计类。Default就是指默认所有用户都使用custom审计类。
    bincmds
主要记录了审计管道里处理审计信息的shell语句。
内容如下:
#vi /etc/security/audit/bincmds
/usr/sbin/auditselect -e "event == USER_Login || event == FILE_Write" $bin >>$trail
auditselect使用类似SQL语句从目前正在使用的bin文件中选择特定的审计记录并追加到trail文件里。
    events
主要存储了审计事件和跟踪格式化指示信息列表。
内容如下:
auditpr[3]:
*       shmget()
        SHM_Create = printf "key: %d size: %ld flags: %o shmid: %d"
*       adjtime()
        PROC_Adjtime = printf "old time: %T, delta: %d:%d"
*       settimer()
        PROC_Settimer = printf "old time: %T, new time: %T"
*       mknod()
        FILE_Mknod = printf "mode: %o dev: %D filename %s"
*       mkdev
        DEV_Create = printf "mode: %o dev: %D filename %s"
        DEV_Start = printf " %s "
auditpr:
* kernel proc events
*       fork()
        PROC_Create = printf "forked child process %d"
*       exit()
        PROC_Delete = printf "exited child process %d, rc: %d, filename: %s"
    objects
主要记录了我们需要关注的对象和事件。
内容如下:
#more /etc/security/audit/objects
/etc/check_config.files:
              w = FILE_Write
/etc/consdef:
              w = FILE_Write
/etc/cronlog.conf:
              w = FILE_Write
/etc/csh.cshrc:
              w = FILE_Write
/etc/.init.state:
              w = FILE_Write
/etc/cifs_fs/cifscred:
              w = FILE_Write
/etc/cdrecord.conf:
              w = FILE_Write
可以使用如下批量添加:
find /etc -type f | egrep "conf|cfg|config"|awk '{printf("%s:\n\tw = FILE_Write\n\n",$1)}'>/etc/security/audit/objects
     开启和关闭审计功能
#audit start (开启)
#audit shutdown (关闭)
    查询日志
  • 查询bin文件
#auditselect -e "event == USER_Login" bin1|auditpr -v|more
clip_image002
  • 查询trail文件
#auditselect -e "event == FILE_Write" trail |auditpr -v |more
clip_image002[5]
参考:
1.AIX 5L安全指南

你可能感兴趣的:(AIX,审计,休闲,audit,auditing)