DB2 常见加固

1.PUBLIC 撤销隐式的权限和特权

当一个用户创建一个数据库对象时,数据库管理器会隐式地将一些特权授给用户。

连接数据库,执行下面的命令取消 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.SURROGATEAUTHIDS FROM PUBLIC;
REVOKE SELECT ON TABLE SYSCAT.TABAUTH FROM PUBLIC; 
REVOKE SELECT ON TABLE SYSCAT.TBSPACEAUTH FROM PUBLIC;
REVOKE SELECT ON TABLE SYSCAT.XSROBJECTAUTH FROM 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;

2. 用户权限最小化

根据实际业务需要,删除用户某些不必要的权限。连接数据库,执行类似如下命令:

# 撤销用户 test 对表 users 的 ALTER 权限:
REVOKE ALTER ON TABLE users FROM USER test;

# 撤销用户 test对表 users 的所有权限:
REVOKE ALL PRIVILEGES ON TABLE users FROM USER test;

在 Windows 下,可以通过图形化工具来进行相关设置。

 

3. 用户、口令加固

DB2 使用操作系统用户来作为自身用户,建议此处按照操作系统加固指南进行。

主要内容包括删除废弃的用户、密码复杂度设置、密码使用期限、密码重复使用限制、用户锁定策略等。

 

4. 审计设置

可执行下面的命令来检查当前审计状态:

db2audit describe

如果需要对数据库活动进行审计,可以按照下面的步骤开启审计功能:

第一步: 配置审计事件类型

# 审计 CHECKING 事件类型,只记录失败的尝试,并使用 NORMAL 错误处理
db2audit configure scope checking status failure errortype normal

第二步:配置审计缓冲区

# 设置缓冲区大小为 40,确保审计功能使用异步日志记录,避免影响服务器性能
update dbm cfg using audit_buf_sz 40

第三步:重启服务,审计生效

# 重启DB2
db2stop
db2start

# 启动审计功能
db2audit start

更多审计功能的使用方法请参阅下面的文章:

http://www.ibm.com/developerworks/cn/data/library/techarticles/dm-0603wasserman/index.html

注:审计功能将会生成大量的日志记录,不建议长时间开启,但应建立定期审计制度,在需要的时候使用。

Continue reading “DB2 常见加固”