上一篇文章SinoDB数据库安全审计介绍了SinoDB数据库安全审计的基本概念、配置参数等。这篇文章主要介绍如何设置安全审计角色分离,以满足安全评审要求。
-
如果没有角色分离,sinodbms用户可以启动审计、停止审计、更改审计掩码、篡改审计文件等,这将削弱审计的有效性。
-
使用角色分离,只有特定用户才能更改审计配置、更改已审计的事件并执行sinodbms管理。
-
设置角色分离后,会减少sinodbms帐户的使用,仅保留在特殊情况下的操作。
1. 角色分离
通常需要设置以下3个角色:
-
审计分析员(AAO - Audit Analysis Officer)
–负责审计配置
–审核审计信息
–管理审计文件 -
数据库系统安全员(DBSSO -Database System Security Officer)
–定义和修改审核掩码 -
数据库服务器管理员(DBSA - Database Server Administrator)
–执行数据库维护
以下表格展示各角色拥有的权限:
*表示可以使用UNIX权限限制审核文件目录
2.角色分离设置
-
角色分离要求为每个角色设置分离的UNIX组:AAO、DBSO、DBSA
-
向每个组添加一个或多个用户
-
可以使用自己的名字对群组/ID命名
-
避免角色重叠,但这是允许的
-
在安装时或安装后设置角色分离
3. 角色分离设置示例
① 创建用户组和用户
- 创建用户组: sino_dbsso为DBSSO用户组,sino_aao为AAO用户组
# groupadd sino_dbsso
# groupadd sino_aao
- 为每个组添加用户: dbsso_user为DBSSO,aao_user为AAO。本示例不特地创建DBSA用户,将sinodbms用户作为DBSA用户使用
# useradd dbsso_user -g sino_dbsso -m
# useradd aao_user -g sino_aao -m
② 启用三权分立,将 INFORMIXDIR 下的 aaodir、dbssodir 和 etc 目录的组分别更改为 AAO、DBSSO 和 DBSA 的用户组:
# cd $INFORMIXDIR
# chgrp -R sino_dbsso dbssodir
# chgrp -R sino_aao aaodir
由于本示例将informix用户作为DBSA用户使用,所以不用更改etc目录的权限。如果有另外创建DBSA用户,需要将etc目录、onconfig文件以及sqlhosts文件所在的用户组改为DBSA用户组。
③ 为用户dbsso_user 与aao_user配置实例环境变量
# cat profile.sinodb>> /home/dbsso_user/.bashrc
# cat profile.sinodb>> /home/aao_user/.bashrc
④ 设置审计文件存放路径到aao_user用户下,以隔离sinodbms用户的访问
# su - aao_user
$ mkdir aaodir
$ onaudit -p /home/aao_user/aaodir
⑤ 权限分离测试
- DBSA用户无法启动或关闭审计:
[sinodbms@vm84145 ~]$ onaudit -l 7
Onaudit -- Audit Subsystem Configuration Utility
Must be an AAO or DBSSO to run this program.
[sinodbms@vm84145 ~]$ onaudit -l 0
Onaudit -- Audit Subsystem Configuration Utility
Must be an AAO or DBSSO to run this program.
- DBSA用户无法通过 onshowaudit 命令查看审计文件:
[sinodbms@vm84145 ~]$ onshowaudit -n 1
Must be an AAO to run this program.
- DBSA用户无法查看或修改磁盘上的审计文件:
[sinodbms@vm84145 ~]$ cd /home/aao_user/aaodir
-bash: cd: /home/aao_user/aaodir: Permission denied
[sinodbms@vm84145 ~]$ cat /home/aao_user/aaodir/sinodb.6
cat: /home/aao_user/aaodir/sinodb.6: Permission denied
- DBSSO用户无法关闭审计,也无法查看审计文件:
[dbsso_user@vm84145 ~]$ onaudit -n 0
Onaudit -- Audit Subsystem Configuration Utility
Must be an AAO to execute this action.
[dbsso_user@vm84145 ~]$ onshowaudit -n 1
Must be a DBSA, user root or an AAO to run this program
- AAO用户无法查看与修改审计掩码
[aao_user@vm84145 ~]$ onaudit -o -y
Onaudit -- Audit Subsystem Configuration Utility
Must be a DBSSO to execute this action.
[aao_user@vm84145 aaodir]$ onaudit -m
Onaudit -- Audit Subsystem Configuration Utility
Must be a DBSSO to execute this action.