DB2 V9.7 for Linux, UNIX, and Windows

安装和使用 DB2 数据库管理器时的安全性注意事项

从安装产品的那刻起,安全性注意事项对于 DB2® 管理员而言是十分重要的。

要完成 DB2 数据库管理器的安装,需要用户标识、组名和密码。基于 GUI 的 DB2 数据库管理器安装程序为不同的用户标识和组创建缺省值。根据是在 Linux 和 UNIX 平台上还是在 Windows 平台上进行安装来创建不同的缺省值:
除管理员以外的用户可能会知道缺省值,并且在数据库和实例中以不适当的方式来使用这些缺省值,要将这种风险降到最低,请您在安装期间将缺省值更改为您选择的新用户标识或现有用户标识。
注: 响应文件安装不对用户标识或组名使用缺省值。这些值必须在响应文件中指定。

认证用户时,密码非常重要。如果在操作系统级别上未设置认证要求,且数据库正在使用该操作系统来认证用户,那么将允许用户连接。例如,在 Linux 和 UNIX 操作系统上,将未定义的密码视为 NULL。在此情况下,任何不具备已定义密码的用户将被视为具有 NULL 密码。从操作系统的角度来看,这是一种匹配,用户得到验证,并且能够连接到数据库。如果要使操作系统为您的数据库执行用户认证,请使用操作系统级别的密码。

处理 DB2 时分区数据库环境(在 Linux 和 UNIX 操作系统环境中),缺省情况下,DB2 数据库管理器使用 rsh 实用程序(在 HP-UX 上为 remsh)来对远程节点运行一些命令。rsh 实用程序通过网络以明文的方式传送密码,这样,如果 DB2 服务器不是在安全的网络中,那么这种方式可能会导致安全性漏洞。可以使用 DB2RSHCMD 注册表变量将远程 shell 程序设置为更安全的其他方法以避免这此漏洞。更安全的其他方法的一个示例就是 ssh。有关远程 shell 配置的限制,请参阅 DB2RSHCMD 注册表变量文档。

在安装 DB2 数据库管理器之后,还可查看和更改(如果需要)已经授予用户的缺省特权。缺省情况下,安装过程在每种操作系统上均为以下用户授予系统管理 (SYSADM) 特权:
Linux 和 UNIX 平台
属于实例所有者的主组的有效 DB2 数据库用户名。
Windows 环境
  • 本地 Administrators 组的成员。
  • 域控制器中 Administrators 组的成员(当 DB2 数据库管理器配置为在定义用户的位置上枚举这些用户的组时)。在 Windows 平台上,使用 DB2_GRP_LOOKUP 环境变量来配置组枚举。
  • DB2ADMNS 组的成员(当启用了 Windows 扩展安全性时)。DB2ADMNS 组的位置在安装期间确定。
  • 本地系统帐户。

通过更新数据库管理器配置参数 sysadm_group,管理员可以控制由哪个用户组拥有 SYSADM 特权。您必须遵循以下准则来完成 DB2 数据库安装和后续实例及数据库创建的安全性要求。

任何定义为系统管理组的组(通过更新 sysadm_group)都必须存在。此组的名称应该能够让人轻松地识别出是为实例所有者创建的组。属于此组的用户标识和组对各自的实例均具有系统管理员权限。

管理员应该考虑创建可轻松识别为与特定实例相关联的实例所有者用户标识。作为其中一个组成员,此用户标识应该具有以上创建的 SYSADM 组的名称。另一项建议是只将此实例所有者用户标识用作实例所有者组的成员,而且不在任何其他组中使用该标识。这应该控制可以修改该实例的用户标识和组的增加。

创建的用户标识必须与密码相关联,以便在被允许输入实例内的数据和数据库之前提供认证。创建密码时,建议遵循您所在组织的密码命名准则。
注: 为了避免意外删除或覆盖实例配置或其他文件,管理员应考虑对直接在服务器上执行的日常管理任务使用另一个用户帐户,而该用户帐户与实例所有者不属于同一个主组。