科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道数据库安全:DB2数据库安全性全面介绍

数据库安全:DB2数据库安全性全面介绍

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

我将带您浏览 Windows、Unix 和 OS/2 版本的 DB2 UDB v.7.1 中的安全特性,并描述一些可以帮助您最大化安全性的内部控制……

作者:佚名 来源:论坛整理 2007年11月17日

关键字: DB2

  • 评论
  • 分享微博
  • 分享邮件

在本页阅读全文(共3页)

验证选项

  因为验证可以由操作系统或第三方产品处理,所以 DB2 提供您可以在数据库管理器配置(dbm cfg)文件中使用 AUTHENTICATION 参数设置的不同验证选项。DB2 使用这一参数确定验证应该以何种方式、在何处发生。

  dbm cfg AUTHENTICATION 参数的许多设置在逻辑上可以分组为以下四个不同类别:SERVER(服务器)、Client(客户机)、DCE、Kerberos。

  服务器验证。该组提供两个主要选项:

  SERVER(服务器)缺省安全性机制,指明验证应该使用服务器的操作系统在服务器上发生。如果用户标识和密码是在连接期间指定的,那么 DB2 将调用操作系统函数来验证提交的用户标识和密码。(在基于 Windows 的环境中,用户标识常被称为用户名。用户名和密码合起来常被称为用户账户。)

  SERVER_ENCRYPT本质上同缺省选项是一样的,只有一点例外,即从客户机传到服务器的密码是加密的。DB2 在连接时使用单 DES(56 位)密码加密技术和 Diffie-Hellman 算法为加密算法生成密钥。RSA BSAFE 工具箱提供这一支持。

  Client(客户机)验证。该组仅有的选项 CLIENT 指明验证将在客户机上发生。如果客户机驻留在原本就具有安全特性的操作系统(例如,AIX)上,那么它就是可信任客户机。通常,除 Microsoft Windows 95 和 98 被认为不可信任之外,所有客户机都是可信任的。

  如果服务器接收到来自可信任客户机和不可信任客户机的请求,那么 TRUST_ ALLCLNTS 和 TRUST_CLNTAUTH 选项允许可信任客户机使用客户机验证(client authentication)获得访问权,而不可信任客户机则必须提供密码才能成功验证。请参阅 DB2 Administration Guide以了解细节。

  DCE 验证选项。一些管理员愿意实现 DCE 安全性服务,原因是 DCE 提供用户和密码集中式管理,不传送明文密码和用户标识,并且向用户提供单次登录。DB2 使用第三方 DCE 产品来提供对 DCE 安全性服务的集成支持。您可以选择以下两种设置之一:

  DCE指明使用 DCE 安全性服务来验证用户。已经登录到 DCE 的 DB2 客户机可以得到一张加密的“票证”,它可以用这张票证向 DB2 服务器证明自己的身份。

  DCE_SERVER_ENCRYPT指明服务器将把 DCE 票证或用户标识以及加密的密码当作验证证据接受,由 DB2 客户机选择。

  Kerberos 验证选项。Kerberos 这一新的验证机制被作为它与 Microsoft Windows 2000 紧密集成的一部分添加到 DB2 UDB v.7.1 中,单次登录工具就可以完成 DB2 验证。一旦通过验证,用户就不会受到存在于 Kerberos 环境中的任何服务器的再次质疑。这种验证方法只能用于 DB2 客户机和 DB2 服务器都是在 Windows 2000 上运行的情况下。

  DCE 和 Kerberos 使用本质上相同的底层技术。当客户机登录到 Kerberos 安全性环境的时候,DB2 客户机可以获取加密的 Kerberos 票证用来向指定的 DB2 服务器证明自己的身份。

  您可以选择以下两种设置之一:

  KERBEROS指明应当只用 Kerberos 安全性服务来验证用户。

  KRB_SERVER_ENCRYPT指明服务器将把 Kerberos 票证或用户标识以及加密密码当作验证证据接受,由 DB2 客户机选择。

  授权

  通过验证的用户将参加 DB2 安全性的第二层 — 授权。授权是 DB2 借以获得有关通过验证的 DB2 用户的信息(包括用户可以执行的数据库操作和用户可以访问的数据对象)之过程。

  您的驾驶执照就是授权文档的绝佳示例。虽然可以把它用于验证目的,但它还授予您驾驶某种类型的车的权力。不仅如此,就驾驶机动车行路而言,您所拥有的某种授权或多或少会给您些特权。

  例如,在加拿大的安大略省,G 类驾照给您实际上在任何时间任何地点都可以开车的特权。G 类驾照在驾驶汽车授权等级结构的最上层。级别比它低的 G2 类驾照虽然允许用户在一天中的任何时间驾车,但是有一定的限制。(例如,这种授权体制下的用户在饮用任何含酒精的饮料之后绝不允许驾车。)G2 驾照的下面一级是 G1 驾照,包括许多限制(例如,驾驶员必须有一位 G 类驾照的乘客陪同,不可以在高速公路上或者在天黑以后驾车)。

  您的驾照授权您驾驶机动车并限制您对某些“对象”的访问(例如,如您持有 G2 驾照就不可以在高速公路上开车)。DB2 以非常类似的方式工作。

  授权可以被分为两个不同类别:权限和特权。

  权限。权限提供一种把特权分组的方法,并对数据库管理器和实用程序进行更高级的维护和操作加以控制。数据库相关权限存储在数据库目录中;系统权限关系到组成员关系,对给定的实例,它存储在数据库管理器配置文件中。DB2 有如下四个预定义的权限级别:SYSADM、SYSCTRL、SYSMAINT 和 DBADM。图 1 说明 DB2 中使用的预定义的授权级别等级系统。SYSADM、SYSCTRL 和 SYSMAINT 在实例级别上操作,范围是整个服务器。每个级别都有自己的按组分的特权和访问规则(与 G 类执照非常相似)。这些权限都是在每个实例的数据库管理器配置文件中被定义的。DBADM 授权级别链接到服务器实例中的特定数据库,并自动把这一权限级别授予创建数据库的用户。DBADM 对数据库及其内的所有对象都拥有所有可能的按组分的特权。缺省情况下,SYSADM 对包括数据库在内的整个系统拥有所有可能的按组分的特权(SYSADM 有隐含的 DBADM 权限)。

  DB2 使用不止一个纵向授权流。对于每个用户请求,依据涉及到的对象和操作,可能会需要多次授权检查。授权是使用 DB2 工具执行的。DB2 系统目录中记录了与每个授权名有关联的特权。对通过验证的用户的授权名以及该用户所属的组与记录在案的属于他们的特权进行比较。根据比较结果,DB2 决定是否允许请求的访问。


  图 2. 返回给未被授权执行特定命令的用户的出错消息

  例如,图 2 展示输入命令运行的结果,该命令要求用户具有特定的授权特权。

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章