保护因特网密码的安全

因特网密码可能会受到恶意源头的攻击。但是,可以采取多种措施来使因特网密码更安全。

关于此任务

以下是典型密码攻击的一些示例:

  • 一种攻击类型是试图读取 Domino® 目录中的所有散列密码。用户的因特网密码以散列版本的形式存储在 Domino® 目录的用户“个人”记录中。该目录可由系统的所有用户公开访问。您可以使用 xACL 来防止此类攻击,从而阻止对散列密码的访问。
  • 另一种攻击类型是认证时基于密码猜度的攻击。在这种攻击类型中,用户仍然可以尝试作为别人进行认证,并尝试和猜度密码。通过使用更为安全的密码格式、使用更难猜度的密码,或者通过在服务器上启用因特网密码锁定功能,可以防止此类攻击。

使用以下一种或多种功能可保护对 Domino® 目录中所存储的因特网密码的访问,或者使得这些密码更加难以猜到。

  • xACL
  • 更多安全密码格式
  • 因特网密码锁定

除了日志设置之外,前面讲述的选项还可在用户策略中指定。这在管理员仅希望对组织内的某个用户子集强制执行因特网密码锁定时非常有用。这种情况下,可以为该组建立这些设置。

使用 xACL 保护因特网密码的安全

用来保护因特网密码的一种方式是使用扩展的 ACL(即 xACL)来基于命名层次结构中的级别,并在表单和字段级别来控制访问。对于存储在 Domino® 目录中的密码,管理员可以设置 xACL 以将因特网密码的访问限制为用户自己(以访问其自己的密码)和管理员(以允许对密码进行管理更改)。

过程

  1. 首先,为 Domino® 目录启用扩展访问权:
    1. 打开数据库,并选择文件 > 应用程序 > 访问控制
    2. 确保在数据库的 ACL 中具有“管理者”访问权。
    3. 单击高级,然后选择启用扩展访问权
    4. 系统提示以下内容时,单击以继续:启用扩展访问控制将强制进行其他安全性检查。有关详细信息,请参阅“Domino Administrator 帮助”。是否要继续?
    5. 如果高级数据库 ACL 选项强制所有副本使用一致的访问控制表尚未启用,那么会提示您必须首先启用一致的访问控制。是否要立即启用?单击
    6. 出现提示如果有多个管理员管理此数据库的扩展访问控制,请对该数据库启用文档锁定以避免冲突时,单击确定
    7. 在“访问控制表”对话框中单击确定
    8. 消息正在启用扩展访问控制限制。这可能需要一些时间。显示时,单击确定
  2. 接下来,设置扩展访问权以保护因特网密码:
    1. 打开数据库,并选择文件 > 应用程序 > 访问控制
    2. 单击扩展访问权。此时将出现“扩展访问权限”对话框。
    3. 在“目标”窗格中,选择根目录 [ /] 并单击添加
    4. 在“访问列表”窗格中,选择缺省值
    5. 单击表单和字段访问权。此时出现“表单和字段”对话框。
    6. 表单列表框中,选择个人。将“表单”的“访问”设置保留为空。
    7. 字段列表框中:
    8. 单击确定
    9. 对于“个人”表单中的 HttpPassworddspHttpPassword(如果显示)设置重复此过程:
      1. “个人”表单中的“访问列表”条目
      访问列表条目 读访问权设置 写访问权设置
      自己 允许 允许
      [本地管理员组] 允许 允许
      [本地服务器组] 允许 允许
    注: 如果以前在访问列表中定义了匿名访问,那么应该将其设置为拒绝对“个人”表单中 HTTPPassworddspHTTPPassword(如果显示)字段的读和写访问权。
    注:Domino® 目录启用了 xACL 之后,LDAP 匿名访问将不受“所有服务器配置”文档中的字段列表控制。因为匿名的缺省 xACL 设置为“无访问权限”,所以一旦启用了 xACL,所有匿名 LDAP 搜索则都会失败。

使用更为安全的密码格式

输入因特网密码并保存“个人”文档后,Domino® 自动对因特网密码字段进行单向散列。要提高缺省密码的质量,请使用更为安全的密码格式。可升级现有的“个人”文档的密码格式,或者自动对创建的所有“个人”文档使用更安全的密码格式。

现有的“个人”文档

过程

  1. Domino® Administrator 中,单击个人和组,然后选择要升级到更安全的密码格式的“个人”文档。
  2. 选择操作 > 升级到更安全的因特网密码格式
  3. 如果 Domino® 域中的所有服务器都运行的是 R8.0.1 或更高版本,请选择是 - 与 Notes/Domino R8.0.1 或更高版本兼容的密码验证。否则,请选择是 - 与 Notes/Domino R4.6 或更高版本兼容的密码验证

新的“个人”文档

过程

  1. Domino® Administrator 中,单击配置,然后选择所有服务器文档
  2. 选择操作 > 编辑目录概要文件
  3. 如果 Domino® 域中的所有服务器都运行的是 R8.0.1 或更高版本,请选择是 - 与 Notes/Domino R8.0.1 或更高版本兼容的密码验证。否则,请选择是 - 与 Notes/Domino R4.6 或更高版本兼容的密码验证
  4. 保存并关闭文档。
    注: 如果您选择将用户的因特网密码与其 Notes® 密码同步,那么需要更安全的密码格式。
    提示: 另一种防止恶意来源猜测密码的方式是使密码更难以猜测:通过将密码设置得更长且更复杂,使用各种字符,避免使用实际词语,等等。

使用因特网密码锁定

关于此任务

因特网密码锁定允许管理员为 Domino® Web 和 Domino® Web Access 用户的因特网密码认证失败次数设置一个阈值。这种方式通过将任何在已建立的阈值范围内无法登录的用户进行锁定,可帮助防止针对用户因特网帐户的恶意力量和字典攻击。有关认证失败和锁定的信息在因特网锁定应用程序中维护,管理员可以在该应用程序中分别清除失败和解锁用户帐户。

应该注意的一点是,此功能容易受到服务拒绝 (DoS) 攻击。DoS 攻击指的是这样一种攻击:恶意用户明确阻止某个服务的合法用户使用该服务。在因特网密码锁定的情况下,合法因特网用户可能会因故意进行失败登录尝试的攻击者而无法登录到 Domino® 服务器。

因特网密码锁定有一些使用限制:

  • 只能对于 Web 访问使用因特网密码锁定。其他因特网协议和服务(如 LDAP、POP、IMAP、DIIOP 和 HCL Sametime®)目前不受支持。但是,如果用于认证的密码存储在 LDAP 服务器上,那么可以将因特网密码锁定用于 Web 访问。
  • 如果正在使用定制的 DSAPI 过滤器,则可能不能使用因特网锁定功能,因为 DSAPI 过滤器是一种忽略 Notes/Domino 认证的方式。

对于单点登录,启用了因特网密码锁定功能的 Domino® 服务器必须同时是颁发单点登录密钥的服务器。如果此密钥是从另一个源(另一个 Domino® 服务器或 WebSphere® 服务器)检索的,那么无论是否启用了因特网密码锁定,SSO 令牌在该 Domino® 服务器上将始终有效。

因特网锁定数据库

关于此任务

因特网锁定数据库 (inetlockout.nsf) 是在以下两种情况之一下根据 inetlockout.ntf 模板创建的:

  • 启动期间(如果已经启用了因特网锁定功能)。
  • 第一次需要查看或写入锁定数据库时。这种情况不需要重新启动,但是启用了该功能的时间与打开或写入锁定数据库的时间之间必须经过十分钟。

缺省情况下,因特网锁定数据库 ACL 仅允许管理员访问 Admin 组。缺省和匿名用户被拒绝访问。但是该数据库 ACL 可以进行修改,以便为用户和组提供查看和解锁用户的权限。

对于每个尝试使用因特网名称和密码登录到 Domino® 的用户,有关锁定状态的信息在因特网锁定数据库中维护,其中包括用户名、失败尝试次数以及锁定状态。如果用户已经注销,或者用户登录成功,则不在锁定数据库中记录锁定尝试。但是,虽然因特网锁定数据库维护锁定状态信息,Domino® 域管理器 (DDM) 仍然是应该在其中维护登录失败和锁定历史记录信息的位置,其中为您提供了登录失败尝试的历史记录。

对用户存储在因特网锁定数据库中的访问信息进行的任何更改将立即执行。无需重新启动 HTTP 服务器即可使得更改生效。

锁定数据库具有两个视图:

  • “锁定的用户”,其中包含了失败密码尝试超过阈值,现在无法使用其因特网名称和密码访问服务器的用户的记录。
  • “登录失败”,其中包含的用户记录显示了失败认证尝试的次数。

两个视图的字段是相同的:

  • 服务器名称- 用户被锁定或认证尝试失败的服务器
  • 用户名- 被锁定或者被记录了失败认证尝试的用户的名称
  • 已锁定- 在“登录失败”视图中,此值可能是“是”或“否”。在“锁定的用户”视图中,此域将设置为“是”。
  • 失败次数- 显示每个用户当前的失败认证尝试次数。在“锁定的用户”视图中,此值应该等于阈值设置。
  • 第一次失败时间- 显示第一次认证失败的日期和时间
  • 最后一次失败时间- 显示最后一次认证失败的日期和时间。此值也可能是用户被锁定的时间。如果用户被锁定之后再次尝试,此时间则不会更新。

可以通过删除记录来解锁用户。

您可以通过单击工具栏中的标记为删除/解锁将多个记录标记为进行解锁或删除,然后通过单击删除标记的项将其删除。

建议您定期验证因特网锁定数据库中是否只包含有效用户的记录。除去名称已经更改或者已经作为 Domino® 服务器用户被除去的用户的名称。该数据库没有自动清理功能;尽管拥有过期用户记录不会导致功能问题,但是数据库中的记录太多可能会导致因特网认证性能下降。

您可以为因特网锁定数据库创建定制表单,该表单可用于告知用户他们可能已被锁定。

复制因特网锁定数据库

关于此任务

作为管理员,您需要决定是否将因特网锁定数据库复制到对您有用的其他服务器中。复制数据库的一个重要优点在于,锁定信息会复制到多个服务器。您可以查看任何副本然后确定用户在多个服务器上的锁定状态,而不必在启用了因特网密码锁定的每个服务器上都打开因特网锁定数据库。

但是,复制也有其缺点,例如,如果您的网络正在遭受攻击或者发生了拒绝服务攻击,则可能发生复制风暴。另外,如果复制的速度较慢,则在复制发生之前,在某个特定服务器上检查锁定数据库的任何用户可能都无法看到某个个人已被锁定(但是他们总是可以在问题服务器上直接打开副本)。

因特网锁定数据库是使用副本标识创建的,对于域中启用了因特网密码锁定的任何服务器上的任何副本都是相同的。缺省情况下,可以为因特网锁定数据库临时禁用复制。这样可以防止前面所说的复制风暴。要将数据库复制到另一个服务器上,请在“复制设置”对话框的“其他”部分,禁用“临时禁用复制”选项。然后您可以设置该数据库以便进行复制(调度复制或集群复制)。

注: 将此数据库复制到其他服务器时,将为每个单独的用户计算“无效尝试次数”信息。例如,如果为“John Doe”设置的阈值为三次,并且在服务器 A 上的无效尝试次数为两次,在服务器 B 上的尝试次数为一次,则 John Doe 未在任何服务器上被锁定。这些尝试不会组合为总共三次。复制的原因是便于管理,而不是建立全局性阈值。

配置因特网密码锁定

关于此任务

因特网密码锁定在服务器配置设置文档中启用。这就使得管理员能够为多个服务器打开因特网锁定功能。

建议启用“服务器”文档选项名称变化越少,安全性越高。这样可以将不明确名称的问题减到最少。Domino® 支持使用用户名的简短形式登录到 Web 服务器(如果密码正确),尽管短名称可能与目录中的两个或多个人相匹配。用户输入模糊名称时发生的不正确登录将导致每个模糊匹配项发生失败,因为无法分清哪个用户正在尝试登录。另外,只有当用户的用户名和密码成功匹配时,才能使用锁定截止时间设置清除失败尝试。

过程

  1. Domino® Administrator 中,单击配置 > 服务器 > 配置。打开要为其启用因特网密码锁定的服务器的配置设置文档。
  2. 单击安全。对于设置强制因特网密码锁定,您有三个选项:
    • 是 - 服务器强制实施因特网密码锁定。要使得任何因特网密码锁定功能能够运行,必须启用此选项。
    • 否 - 服务器不强制实施因特网密码锁定。
    • (空白)- 如果此设置保留为空,那么不一定要禁用该“强制”选项,而可以让另一服务器“配置”文档(可能是适用于所有服务器的文档)来确定是否为此服务器启用因特网密码锁定。
      注: 如果该“服务器”文档中没有强制因特网密码锁定,则任何其他因特网锁定设置(如策略文档中的设置)也将被禁用。
  3. 启用因特网密码时,请完成以下操作:
    2. 因特网密码锁定设置
    设置 指定
    日志设置 您可以选择要在控制台和 DDM 中记录的事件类型。还会记录用户名和 IP 地址。
    • 如果已启用“锁定”,那么会记录其中已锁定用户的事件以及其中用户尝试认证但已锁定的事件。缺省值为启用。
    • 如果已启用“失败”,那么会记录任何失败的认证尝试。日志中还会包括正在尝试认证的客户机的 IP 地址和用户名。
    缺省允许的最大尝试次数 指定用户被锁定之前允许的失败密码尝试的最大次数。缺省值为 5。一旦用户被锁定,则必须首先解锁该用户,然后此设置的任何新值才能对于该用户生效。

    如果某个用户在其用户策略中对此设置具有不同的值,该值则会覆盖服务器配置文档中的设置。

    注: 如果此值为 0,则允许无限次数的密码尝试。
    缺省锁定截止时间 指定强制锁定的时间段。指定的时限之后,用户下一次尝试认证时该用户帐户将自动解除锁定。另外,所有失败尝试也将被清除。
    注: 如果此值为零,锁定则不会自动过期。必须手动解锁帐户。
    缺省最大尝试时间间隔 指定失败密码尝试要在锁定数据库中保留多长时间之后,才能被成功认证清除。缺省值为 24 小时。

    此设置不适用于已被锁定的用户。如果用户被锁定,清除失败尝试和解锁帐户的唯一方法是在因特网锁定数据库中或在“锁定截止时间”到期时手动执行此操作。

    注: 如果此值为 0,则对于某个尚未锁定的特定用户,每次成功登录都会清除该用户的所有失败密码尝试。
    注: 除了日志设置之外,前面讲述的选项还可在用户策略中指定。这在管理员仅希望对组织内的某个用户子集强制执行因特网密码锁定时非常有用。这种情况下,可以为该组建立这些设置。