最佳做法

  • 在相应的域控制器上安装“密码同步”  为了确保域密码与 UNIX 密码进行一致的同步,必须在主域控制器上安装“密码同步”,如果是 Windows 2000 域,则在域中的所有域控制器上安装“密码同步”。

    • 如果向域中添加了域控制器,应尽快在新的域控制器上安装“密码同步”,并将其配置为与其他域控制器匹配。

    • 如果需要将“密码同步”从任何域控制器上删除,应将该服务器下降为成员服务器,然后再卸载“密码同步”。

  • 确保一致的密码策略   如果仅支持单向密码同步,至少应确保密码同步的源计算机上的密码策略与目标计算机上的密码策略在各方面都是同样严格的。例如,如果配置 Windows 到 UNIX 的同步,则至少应确保 Windows 密码策略与 UNIX 计算机用来同步密码的策略同样严格。如果希望支持双向同步,那么两个系统上的密码策略必须是同等严格的。如果密码策略不一致,用户在严格程度较低的系统上更改密码时,则可能会导致同步失败;或者,在严格程度较高的系统上密码可能会被更改,尽管这并不符合系统策略。

    确保 Windows 用户知晓 UNIX 系统上将用来同步其密码的所有特殊密码限制。例如,某些 UNIX 版本支持的最大密码长度为八个字符。为了最大程度地与默认 Windows 密码策略和这些 UNIX 限制兼容,除非您确保所有 UNIX 系统均可以支持更长的密码,否则,密码长度应为七个或八个字符。

  • 配置密码同步,以便最大程度地为您的用户密码提供保护

    按照下列建议操作,以保证最佳的安全性:

    • 显式列出要同步其密码的用户  要最大程度地控制哪些用户可以同步密码,请不要对 UNIX 主机上 sso.conf 中的 SYNC_USERS 列表使用 ALL 关键字,而应逐一显式列出各用户的密码同步是允许的还是阻止的。在运行“密码同步”的基于 Windows 的计算机上,创建 PasswordPropAllow 组,并添加要同步其密码的用户的帐户。有关详细信息,请参阅控制用户帐户的密码同步

    • 不要同步已禁用的 UNIX 帐户的密码  在某些版本的 UNIX 上,更改已禁用的用户帐户的密码将激活该帐户。结果,在配置为与基于 Windows 的计算机同步密码的 UNIX 计算机上,如果某个用户拥有已禁用的帐户,那么该用户或管理员可以通过更改用户的 Windows 密码来激活该 UNIX 帐户。为了避免出现这种情况,请使用 PasswordPropDeny 组来阻止同步已禁用的 UNIX 帐户。

      此外,管理员在禁用 UNIX 帐户时,应使用 sso.conf 中的 SYNC_USERS 条目来阻止同步该帐户的密码。

    • 避免同步管理员密码  不要同步 Windows 管理员组的成员的密码,也不要同步 UNIX 超级用户帐户或根用户帐户的密码。

    • 执行 Windows Server 2003 Service Pack 1 (SP1) 兼容性检查  在“密码同步属性”对话框的“配置”选项卡中启用“Windows 到 NIS (Active Directory) 的密码同步”时,执行此操作。为了保证企业中的用户帐户密码的安全,强烈建议您允许“密码同步”,以标识林中所有未运行 Windows Server 2003 SP1 或更高版本的域控制器。

      “密码同步”提示您允许在“Windows 到 NIS (Active Directory) 的密码同步”区域选中“启用”时进行兼容性检查。如果在林中的所有域控制器上安装了 Windows Server 2003 SP1 或更高版本,会明显降低向未经授权的查看者透露用户密码哈希值的风险。如果 Windows Server 2003 SP1 不是林中所有域控制器的最低功能级别,域上任何经过身份验证的用户均可以查看任何已将其帐户迁移到 Active Directory 域服务 (AD DS) 的 UNIX 用户的密码哈希值。

      如果未经授权的用户在 AD DS 中破解了某个基于 UNIX 的用户帐户的密码哈希值,该帐户的基于 Windows 的密码也将不再安全。

安装了“密码同步”后,会将本地管理员组和 Domain 管理员组的成员添加到 PasswordPropDeny 组中,这样可以禁止同步其密码。如果将用户添加到管理员组或 Domain 管理员组中,请确保同时将该用户添加到 PasswordPropDeny 组中。

在所有基于 UNIX 的系统的 sso.conf 文件中修改 SYNC_USERS 语句,以禁止同步超级用户的密码。

  • 不要使用默认端口号和加密密钥  如果保留默认端口号和加密密钥,攻击者可能会设置伪装的 UNIX 主机来捕获密码。应认真保护用于同步密码的端口号和加密密钥,就像保护密码本身一样。

  • 保护 sso.conf 文件  每台 UNIX 主机上的 sso.conf 文件包含重要的配置信息,这些信息可能会被利用来威胁系统的安全。建议您将文件的模式位掩码设置为 600。

  • 确保 TEMP_FILE_PATH 标识的目录得到适当的保护  攻击者可能会利用“密码同步”在 UNIX 主机上创建的临时文件中包含的信息来威胁系统的安全。为此,应确保只有 root 帐户对 sso.conf 中的 TEMP_FILE_PATH 引用的任何目录具有读取权限,任何其他用户均无法访问。

  • 确保日志文件得到适当的保护  在 UNIX 主机上,“密码同步”使用 syslogd 守护程序记录同步操作生成的消息。生成的日志包含同步其密码的用户的名称、与其同步密码的计算机、传播错误等信息。这些日志文件应得到保护,以确保只有管理员可以查看。

  • 更改配置后重新启动“密码同步”守护程序  更改了“密码同步”守护程序的配置文件 (sso.conf) 后,必须停止并重新启动该守护程序,以使配置更改生效。

  • 配置系统,以正确地处理用户名的大小写  除非严格强制某个策略以确保 Windows 用户名和 UNIX 用户名在拼写和大小写方面均匹配,否则,应验证 sso.conf 文件中的 CASE_IGNORE_NAME 选项是否设置为 1(默认值)。UNIX 用户名区分大小写;因此,如果用户名不完全匹配,密码可能无法正确地同步,因为“密码同步”守护程序无法将 Windows 用户名与对应的 UNIX 用户名关联。

  • 确保 password 文件的类型和名称一致  在配置“密码同步”守护程序时,验证 password 文件的类型(通过 USE_SHADOW 指定)和路径名(通过 FILE_PATH 设置)是否相互适合。例如,在大多数系统上,如果 USE_SHADOW 设置为 0(指示使用 passwd 文件进行同步),则 FILE_PATH 选项应设置为 /etc/passwd。但是,如果 USE_SHADOW 设置为 1(指示使用 shadow 文件代替),则 FILE_PATH 选项应设置为 /etc/shadow。(在 IBM AIX 系统上,shadow 文件的路径和名称为 /etc/security/passwd。)