资源描述
DB2数据库系统安全配置基线
DB2数据库系统安全配置基线
版本
版本控制信息
更新日期
更新人
审批人
V1.0
创建
2009年1月
V2.0
更新
2012年4月
备注:
1. 若此文档需要日后更新,请创建人填写版本控制表格,否则删除版本控制表格。
目 录
第1章 概述 4
1.1 适用范围 4
1.2 适用版本 4
1.3 实施 4
1.4 例外条款 4
第2章 帐号与口令 5
2.1 帐号 5
2.1.1 删除不必要的帐号* 5
2.1.2 分配数据库用户所需的最小权限* 5
2.2 口令 6
2.2.1 DB2用户口令安全 6
第3章 数据库权限 7
3.1 从PUBLIC撤销隐式的权限和特权 7
3.1.1 从PUBLIC撤销隐式的权限和特权 7
3.2 跟踪隐式的特权 9
3.2.1 跟踪隐式的特权 9
3.3 检查用户许可和特权 9
3.3.1 检查用户许可和特权* 9
第4章 DB2认证 11
4.1 为SYSxxx_GROUP 参数使用显式值 11
4.1.1 为SYSxxx_GROUP 参数使用显式值 11
4.2 使用加密的AUTHENTICATION模式 11
4.2.1 使用加密的AUTHENTICATION模式 11
第5章 DB2审计 13
5.1 执行随机安全审计 13
5.1.1 执行随机安全审计* 13
第6章 评审与修订 14
第1章 概述
本文档旨在指导系统管理人员或安全检查人员进行DB2数据库系统的安全合规性检查和配置。
1.1 适用范围
本配置标准的使用者包括:数据库管理员、应用管理员、网络安全管理员。
1.2 适用版本
DB2数据库系统。
1.3 实施
1.4 例外条款
第2章 帐号与口令
2.1 帐号
2.1.1 删除不必要的帐号*
安全基线项目名称
数据库管理系统DB2用户安全基线要求项
安全基线
SBL- DB2-02-01-01
安全基线项说明
应删除与数据库运行、维护等工作无关的帐号。
检测操作步骤
1、 参考配置操作
DB2企业管理器-〉安全性-〉登陆中删除无关帐号;
DB2企业管理器-〉数据库-〉对应数据库-〉用户中删除无关帐号;
基线符合性判定依据
首先删除不需要的用户,已删除数据库不能登陆使用
在DB2查询分析器的登陆界面中使用已删除帐号登陆
备注
手工检查
2.1.2 分配数据库用户所需的最小权限*
安全基线项目名称
数据库管理系统DB2共享帐号安全基线要求项
安全基线
SBL- DB2-02-01-02
安全基线项说明
在数据库权限配置能力内,根据用户的业务需要,配置其所需的最小权限。
检测操作步骤
1. 更改数据库属性,取消业务数据库帐号不需要的服务器角色;
2. 更改数据库属性,取消业务数据库帐号不需要的“数据库访问许可”和“数据库角色中允许”中不需要的角色。
基线符合性判定依据
1. 更改数据库属性,取消业务数据库帐号不需要的服务器角色;
2. 更改数据库属性,取消业务数据库帐号不需要的“数据库访问许可”和“数据库角色中允许”中不需要的角色。
备注
建议手工检查
2.2 口令
2.2.1 DB2用户口令安全
安全基线项目名称
数据库管理系统DB2用户口令安全基线要求项
安全基线
SBL- DB2-02-02-01
安全基线项说明
对用户的属性进行安全检查,包括空密码、密码更新时间等。修改目前所有帐号的口令,确认为强口令。口令长度至少8位,并包括数字、小写字母、大写字母和特殊符号四类中至少两类。且5次以内不得设置相同的口令。密码应至少每90天进行更换。
检测操作步骤
1.检查password字段是否为null。
2.参考配置操作
查看用户状态
运行查询分析器,查看口令为空的用户
基线符合性判定依据
password字段不为null。
备注
第3章 数据库权限
3.1 从PUBLIC撤销隐式的权限和特权
3.1.1 从PUBLIC撤销隐式的权限和特权
安全基线项目名称
DB2隐式权限安全基线要求项
安全基线编号
SBL-DB2-03-01-01
安全基线项说明
从PUBLIC撤销隐式的权限和特权
检测操作步骤
连接数据库这里以testdb为例,CONNECT TO testdb;
执行下面命令取消PUBLIC的隐式的权限和特权:
REVOKE BINDADD ON DATABASE FROM PUBLIC;
REVOKE CREATETAB ON DATABASE FROM PUBLIC;
REVOKE CONNECT ON DATABASE FROM PUBLIC;
REVOKE IMPLICIT_SCHEMA ON DATABASE FROM PUBLIC;
REVOKE USE OF TABLESPACE USERSPACE1 FROM PUBLIC;
REVOKE SELECT ON TABLE SYSCAT.COLAUTH FROM PUBLIC;
REVOKE SELECT ON TABLE SYSCAT.DBAUTH FROM PUBLIC;
REVOKE SELECT ON TABLE SYSCAT.INDEXAUTH FROM PUBLIC;
REVOKE SELECT ON TABLE SYSCAT.PACKAGEAUTH FROM PUBLIC;
REVOKE SELECT ON TABLE SYSCAT.PASSTHRUAUTH FROM PUBLIC;
REVOKE SELECT ON TABLE SYSCAT.ROUTINEAUTH FROM PUBLIC;
REVOKE SELECT ON TABLE SYSCAT.SCHEMAAUTH FROM PUBLIC;
REVOKE SELECT ON TABLE SYSCAT.SECURITYLABELACCESS FROM PUBLIC;
REVOKE SELECT ON TABLE SYSCAT.SECURITYPOLICYEXEMPTIONS FROM PUBLIC;
REVOKE SELECT ON TABLE SYSCAT.SEQUENCEAUTH FROM PUBLIC;
REVOKE SELECT ON TABLE SYSCAT.SURROGATEAUTHIDSFROM PUBLIC;
REVOKE SELECT ON TABLE SYSCAT.TABAUTH FROM PUBLIC;
REVOKE SELECT ON TABLE SYSCAT.TBSPACEAUTH FROM PUBLIC;
REVOKE SELECT ON TABLE SYSCAT.XSROBJECTAUTHFROM PUBLIC;
REVOKE SELECT ON TABLE SYSCAT.AUTHORIZATIONIDS FROM PUBLIC;
REVOKE SELECT ON TABLE SYSCAT.OBJECTOWNERS FROM PUBLIC;
REVOKE SELECT ON TABLE SYSCAT.PRIVILEGES FROM PUBLIC;
基线符合性判定依据
建议在创建一个新的数据库之后,应立即撤销这些被授给 PUBLIC 的隐式特权。
从 DB2 V9.1 开始,CREATE DATABASE 命令语法增加了 RESTRICTIVE 选项。如果该命令中包括了 RESTRICTIVE 选项,那么会导致 RESTRICT_ACCESS 数据库配置参数被设置为 YES,同时不自动授予 PUBLIC 任何特权。如果忽略了 RESTRICTIVE 选项,那么 RESTRICT_ACCESS 数据库配置参数被设置为 NO,前述所有特权都将自动授予 PUBLIC。
您可以执行上述清单中显示的语句来撤销系统编目视图上的特权和其他被授予 PUBLIC 的隐式特权。但这个清单还不是最全的。
备注
DB2在内部使用一个名为 PUBLIC 的伪组,对于 PUBLIC,可以为之授予特权,也可以撤销它的特权。PUBLIC 实际上不是在外部安全设施中定义的一个组,但通过它可以为通过 DB2 认证的用户授予特权。
3.2 跟踪隐式的特权
3.2.1 跟踪隐式的特权
安全基线项目名称
DB2隐式特权管理安全基线要求项
安全基线编号
SBL-DB2-03-02-01
安全基线项说明
跟踪隐式的特权
检测操作步骤
运行 get dbm cfg 查看状态,并记录。
例如,假设您一开始将 DBADM 权限授予用户 JEFF,而随后又您决定撤销此权限。为了撤销 JEFF 的 DBADM 权限,可以使用以下语句: REVOKE DBADM ON DATABASE FROM USER jeff
基线符合性判定依据
应该仔细检查和跟踪执行某动作时所授予的隐式特权。如果以后撤销这个动作,那么应撤销任何隐式的特权。
备注
3.3 检查用户许可和特权
3.3.1 检查用户许可和特权*
安全基线项目名称
DB2用户许可和特权安全基线要求项
安全基线编号
SBL-DB2-03-03-01
安全基线项说明
检查用户许可和特权
检测操作步骤
打开 Control Center 查看授予许可;
检查每个用户的许可,将超出的许可和特权取消。
基线符合性判定依据
确保所有被授出的许可和特权都是确实有必要的。
对于不熟悉 DB2 安全模型的开发人员来说,他们往往因为贪图简单而通过 Control Center为自己授予所有可用的特权,以避免安全错误消息。您应该确保所有被授出的许可和权限都是确实有必要的。
备注
手工检查
第4章 DB2认证
4.1 为SYSxxx_GROUP 参数使用显式值
4.1.1 为SYSxxx_GROUP 参数使用显式值
安全基线项目名称
DB2SYSxxx_GROUP 参数安全基线要求项
安全基线编号
SBL-DB2-04-01-01
安全基线项说明
为SYSxxx_GROUP 参数使用显式值
检测操作步骤
连接数据库这里以testdb为例,CONNECT TO testdb;
执行下面命令修改参数的缺省值:
UPDATE DBM CFG USING SYSADM_GROUP dbagrp1
db2stop
db2start
基线符合性判定依据
在 Windows 上进行缺省的 DB2 安装时,这些参数的值被缺省地设置为 NULL。这意味着超级用户权限被授给属于本地 Administrators 组的所有有效用户帐户。
在 Linux 和 UNIX 平台上,NULL 值被缺省地赋给实例所有者的主组,完成安装后,缺省情况下这个组只包含用户 ID 和实例所有者。
备注
4.2 使用加密的AUTHENTICATION模式
4.2.1 使用加密的AUTHENTICATION模式
安全基线项目名称
DB2AUTHENTICATION模式安全基线要求项
安全基线编号
SBL-DB2-04-02-01
安全基线项说明
使用加密的AUTHENTICATION模式
检测操作步骤
连接数据库这里以testdb为例,CONNECT TO testdb;
执行下面命令修改参数的缺省值(要更新 AUTHENTICATION 实例参数的值,在这个例子中就是 DATA_ENCRYPT 的值):
UPDATE DBM CFG USING AUTHENTICATION DATA_ENCRYPT
db2stop
db2start
基线符合性判定依据
AUTHENTICATION 参数是在实例级上设置的,这意味着在相同实例中创建的数据库将使用共同的身份验证模式。
如果有两个数据库,每个数据库需要不同的身份验证模式,那么需要在不同的实例中创建这两个数据库。
备注
第5章 DB2审计
5.1 执行随机安全审计
5.1.1 执行随机安全审计*
安全基线项目名称
DB2随机安全审计安全基线要求项
安全基线编号
SBL-DB2-05-01-01
安全基线项说明
执行随机安全审计
检测操作步骤
db2audit describe
可以使用 db2audit 命令来配置和操作审计功能。完成审计的配置并且生成了审计记录后,可以将审计记录提取到一个文本文件中,之后便可以对该文件进行分析。还可以将审计记录提取到有分隔符的 ASCII 文件中,之后可以将该文件装载到 DB2 关系表中,以便对其进行分析和查询。
基线符合性判定依据
数据库审计状态为true。
应该对数据库执行随机安全审计。您也可以在得使您相信有人试图威胁系统安全的信息后,执行审计。
备注
任何前摄性安全计划都应该包括随机的安全审计。这些审计需要记录数据库事件,例如授权检查、数据库对象维护、安全维护、系统管理和用户验证,并确保访问模式正常。
在性能允许的情形下,要求开启
第6章 评审与修订
第 13 页 共 14 页
展开阅读全文