Microsoft Dynamics CRM 安全性最佳实例
发布日期: 2016年11月
适用于: Dynamics CRM 2015
Internet Information Services (IIS) 是 Windows Server 附带的一项成熟的 Web 服务。Microsoft Dynamics 365 依赖高效且安全的 IIS Web 服务。 请考虑以下事项:
在 machine.config 和 web.config 配置文件中,您可以确定是否已启用调试功能,以及是否已向客户端发送详细的错误消息。 您应确保在所有生产服务器上禁用调试功能,并且在出现问题时向客户端发送常规错误消息。 这样可以避免向客户端发送一些不必要的 Web 服务器配置信息。
确保应用操作系统和 IIS 的最新 Service Pack 及更新。 有关最新信息,请参阅 Microsoft 安全网站。
Microsoft Dynamics CRM 服务器安装程序会创建称为“CRMAppPool”和“CRMDeploymentServiceAppPool”的应用程序池,这些应用程序池使用您在设置期间指定的用户凭据运行。 为了实施最小特权模型,建议您为这些应用程序池指定单独的域用户帐户,而不要使用网络服务帐户。 此外,建议不要在这些应用程序池下安装其他任何连接 ASP.NET 的应用程序。 有关这些组件所需最低权限的信息,请参阅 Microsoft Dynamics CRM 安装程序和服务所需的最低权限。
重要
请确保与 Microsoft Dynamics 365 网站正在同一计算机上运行的所有网站也可以访问 Dynamics 365 数据库。
如果使用域用户帐户,那么在运行 Microsoft Dynamics CRM 服务器安装程序之前,可能需要确认已为该帐户正确设置服务主体名称 (SPN),并根据需要设置正确的 SPN。 有关 SPN 和如何设置它们的详细信息,请参阅如何在配置承载在 IIS 上的 Web 应用程序时使用 SPN。
Microsoft Dynamics CRM 中的服务主体名称管理
服务主体名称 (SPN) 属性是根据 DNS 主机名生成的一个多值的无链接属性。 SPN 用于客户端和承载特定服务的服务器之间的相互身份验证。 客户端基于服务的 SPN 查找计算机帐户,并尝试连接到此帐户。
Microsoft Dynamics CRM 服务器 安装程序可部署角色特定的服务和 Web 应用程序池,这些服务和池使用您在安装期间指定的用户凭据运行。 若要查看这些角色及其权限要求的完整列表,请参阅 Microsoft Dynamics CRM 安装程序和服务所需的最低权限。
在部署托管的 Microsoft Dynamics 365 基础结构时,可能还需要考虑以下两个角色:
部署 Web 服务
应用程序服务
在 Web 场方案中,与托管服务的情形一样,建议启用内核模式身份验证。 此外,应仔细考虑使用单独的域用户帐户来运行这些服务,因为:
为这些服务器角色使用单独的服务帐户有助于实现硬件负载平衡。
部署 Web 服务的服务器角色需要提升的权限才能在 Dynamics 365 数据库中设置组织。 如果希望遵循最小特权模型,在托管 Microsoft Dynamics 365 中实现 SPN 最安全的方法是使用应用程序服务以外的其他域用户帐户运行部署 Web 服务。
如果您按照此建议对这些服务器角色使用单独的域帐户,则应在启动 Microsoft Dynamics CRM 服务器安装程序之前进行检查以确保每个帐户的 SPN 设置正确。 这有利于您在必要时设置正确的 SPN。
如果启用了内核模式身份验证,将为计算机帐户定义 SPN,而不考虑指定的服务帐户。 在实施 Web 场时,请启用内核模式身份验证并更改本机 ApplicationHost.config 文件。
如果应用程序和部署 Web 服务正在同一系统上运行,并且禁用了内核模式身份验证,则可以配置这两种服务在同一 domaikuser 帐户下运行,以避免重复的 SPN 问题。 如果无法启用内核模式身份验证,请将应用程序服务和部署 Web 服务安装在单独的系统上。 由于禁用了内核模式身份验证,可能仍需手动创建 SPN。
有关 SPN 和如何对其进行设置的详细信息,请参阅 用于 IIS 7.0/7.5 Kerberos 身份验证的服务主体名称 (SPN) 清单
另请参阅
Microsoft Dynamics CRM 的安全注意事项
Microsoft Dynamics CRM 的内部部署管理最佳实践
© 2016 Microsoft Corporation。 保留所有权利。 版权