设置

增强 Microsoft Dynamics CRM 4.0 客户端到服务器网络通信的安全性

发布日期: 二月 8, 2008

无论使用哪种网络,保护您组织的客户端到服务器的通信安全都是非常重要的。在选择采用何种方法来保护数据时,建议您了解以下有关 Microsoft Dynamics CRM 网络通信和技术选择的信息,这些信息可以帮助您提升数据传输的安全性。

默认情况下,Microsoft Dynamics CRM 客户端到服务器通信是不进行加密的。来自 Microsoft Dynamics CRM 客户端的身份验证信息以明文形式进行传输,因此,很容易受到恶意攻击。

当前页内容
Microsoft Dynamics CRM 客户端到服务器通信 Microsoft Dynamics CRM 客户端到服务器通信
保护 Microsoft Dynamics CRM 客户端到服务器的通信安全 保护 Microsoft Dynamics CRM 客户端到服务器的通信安全
为内部部署配置 Microsoft Dynamics CRM 客户端到服务器通信 为内部部署配置 Microsoft Dynamics CRM 客户端到服务器通信
为面向 Internet 的部署配置 Microsoft Dynamics CRM 客户端到服务器通信 为面向 Internet 的部署配置 Microsoft Dynamics CRM 客户端到服务器通信

Microsoft Dynamics CRM 客户端到服务器通信

存在恶意企图的人可以使用模拟客户端用户身份的方式来访问数据。由于在 Microsoft Dynamics CRM 客户端和 Microsoft Dynamics CRM Web 服务器计算机间传输的数据未经加密,因此,用于验证用户身份和服务的 Microsoft Dynamics CRM 电子密钥可用于生成 CRM 票证并模拟有效的用户身份。

所以,为了更好地保护您组织的数据,我们强烈建议您为 Microsoft Dynamics CRM 客户端和 Microsoft Dynamics CRM 网站间的通信启用安全套接字层 (SSL)。

页首

保护 Microsoft Dynamics CRM 客户端到服务器的通信安全

SSL 可以对在计算机间传输的数据进行加密,并且已经用于开放式系统互联 (OSI) 模型(一种七层式网络协议结构)的传输层及应用层。SSL 可以启用服务器身份验证、客户端身份验证、数据加密以及网络间(如 Web)的数据完整性。

要启用 SSL,必须向证书颁发机构 (CA) 申请证书,再接收并应用该证书,然后在 Microsoft Dynamics CRM 网站上对 SSL 进行配置。

有关 CA 的详细信息,请参阅以下 Microsoft TechNet 文章:什么是证书?

有关 SSL 的详细信息,请参阅以下 TechNet 文章:什么是 TLS/SSL?

有关如何启用 SSL 的详细信息,请参阅以下文章:如何在 Internet Information Services 中为所有与您的网站交互的用户启用 SSL

页首

为内部部署配置 Microsoft Dynamics CRM 客户端到服务器通信

对于不会由外部客户端(即通过 Internet 连接的客户端)使用的部署,请按照以下步骤进行操作:

  1. 从 CA 获取证书。要使用证书,您需要设置一个公共密钥基础结构 (PKI),它由一个或多个 CA 组成,这些 CA 相互链接,形成一个层次结构。需要这些 CA 和 PKI 来对一个或多个组织内证书的颁发、验证、续订以及吊销进行管理。您可以在 Microsoft Windows Server 2003 中使用第三方 PKI,也可以基于 Windows Server 2003 证书服务建立自己的 PKI。

  2. 确保当前没有用户正在访问安装了 Microsoft Dynamics CRM Web 应用程序的 Internet Information Services (IIS)。为此,请停止 Microsoft Dynamics CRM 网站:右键单击该网站,然后单击“停止”。

  3. 对 Microsoft Dynamics CRM 网站进行配置以使用 SSL。为此,请在运行 IIS(安装了 Microsoft Dynamics CRM Web 应用程序)的服务器上执行以下步骤:

    1. 启动 Internet Information Services (IIS) 管理器。

    2. 右键单击 Microsoft Dynamics CRM 网站,然后单击“属性”。

    3. 依次单击“目录安全”选项卡、“服务器证书”,然后按照“Web 服务器证书向导”中的说明进行操作。

    4. 如果您希望客户端仅在连接到 Microsoft Dynamics CRM 应用程时使用 SSL,则可以在“安全通信”区域的“目录安全”选项卡中单击“编辑”。

    5. 在“安全通信”对话框中,选中“要求安全通道 (SSL)”复选框。

    6. 关闭 Internet Information Services (IIS) 管理器。

    重要提示:您只能对 Microsoft Dynamics CRM 网站应用一个证书。因此,如果您已针对内部访问和面向 Internet(外部)的访问配置了 Microsoft Dynamics CRM 服务器,则无法同时配置 Microsoft Dynamics CRM 网站的内部连接和外部连接所用的 SSL。

  4. 您必须手动修改配置数据库中的以下值。

    警告:如果配置数据库 (MSCRM_CONFIG) 修改不当,则会导致 Microsoft Dynamics CRM 系统中出现意外行为,或使系统停止运行。建议您先备份 Microsoft Dynamics CRM 系统,然后再完成以下步骤。有关如何备份 Microsoft Dynamics CRM 系统的详细信息,请参阅 Microsoft Dynamics CRM 实施指南 文档集中的“操作和维护指南”。

    1. 在运行 Microsoft SQL Server 的计算机上,启动 SQL Server Management Studio。

    2. 依次展开“数据库”、“MSCRM_CONFIG”、“表”,右键单击“dbo.DeploymentProperties”,然后单击“打开表”。

    3. 在“dbo.DeploymentProperties”表中,定位到“ColumnName”列下的“ADRootDomainScheme”行中,将“NVarCharColumn”列中的值从 http 更改为 https。请注意,此值必须为小写字母。

    4. 在“dbo.DeploymentProperties”表中,定位到“ColumnName”列下的“ADSdkRootDomain”行中,将“NVarCharColumn”列中的值更改为针对 Microsoft Dynamics CRM 网站配置的证书名称。可以在 Internet Information Services (IIS) 管理器中找到此证书名称,位置在 Microsoft Dynamics CRM 网站属性页面的“目录安全”选项卡中。

    5. 单击“查看证书”。

    6. 在“证书”对话框中,单击“详细信息”。

    7. 单击“友好名称”字段,找到此证书名称。如果证书名称与 计算机名称相同,您可以使用以下格式:服务器名称:SSL 端口号。默认情况下,SSL 连接的 TCP 端口号为 443。

    8. 在“dbo.DeploymentProperties”表中,定位到“ColumnName”列下的“ADWebApplicationRootDomain”行中,将“NVarCharColumn”列中的值更改为针对 Microsoft Dynamics CRM 网站配置的证书名称。如果证书名称与 计算机名称相同,您可以使用以下格式:服务器名称:SSL 端口号。默认情况下,SSL 连接的 TCP 端口号为 443。

    9. 确认保存了修改,然后关闭 SQL Server Management Studio。

  5. 如果对 Microsoft Dynamics CRM 网站进行配置以使用默认的 http (80) 和 https (443) TCP 端口,则无需修改 LocalSDKPort 注册表子项的值,您可以跳过此步骤。

    但是,如果未对 Microsoft Dynamics CRM 网站进行配置以使用这些默认的 TCP 端口,则必须完成以下步骤。

    警告:如果您使用注册表编辑器或其他方法错误地修改了注册表,可能会出现严重问题。出现此类问题后,您可能需要重新安装操作系统和 Microsoft Dynamics CRM。我们不能保证这些问题能够得到解决。您应自行承担修改注册表的风险。

    1. 启动注册表编辑器,找到 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSCRM 子项。

    2. 右键单击“LocalSdkPort”,然后依次单击“修改”、“确定”。

    3. 在“基础”区域,单击“十进制数字”,然后键入 TCP 端口。

    4. 单击“确定”。

    5. 关闭注册表编辑器。

  6. 重新启动 IIS。为此,在命令行中,运行 iisreset 命令。

  7. 启动 Microsoft Dynamics CRM 网站。为此,右键单击“Microsoft Dynamics CRM 网站”,然后单击“启动”。

  8. 重新启动 Microsoft Dynamics CRM 异步处理服务。为此,单击“开始”,指向“管理工具”,然后单击“服务”。在服务列表中,右键单击“Microsoft Dynamics CRM 异步处理服务”,然后单击“重新启动”。

  9. 验证您是否已经成功连接到 Microsoft Dynamics CRM 网站。为此,您必须使用以 https 开头的 URL。例如,在 Internet Explorer 中,显示的 URL 应类似于以下地址:https://ServerName/OrganizationName/loader.aspx

    如果未将 Microsoft Dynamics CRM 网站配置为要求 SSL 连接,则可以使用 http 连接来验证是否成功连接到网站,例如,http://ServerName/OrganizationName/loader.aspx。

页首

为面向 Internet 的部署配置 Microsoft Dynamics CRM 客户端到服务器通信

如果您已经安装了 Microsoft Dynamics CRM,以便客户端通过 Internet 进行访问,或面向 Internet 的部署 (IFD),则您必须完成以下步骤来配置一个安全连接。

  1. 从 CA 获取证书。要使用证书,您需要设置一个公共密钥基础结构 (PKI),它由一个或多个 CA 组成,这些 CA 相互链接,形成一个层次结构。需要这些 CA 和 PKI 来对一个或多个组织内证书的颁发、验证、续订以及吊销进行管理。您可以在 Windows Server 2003 中使用第三方 PKI,也可以基于 Windows Server 2003 证书服务建立自己的 PKI。

    重要提示:CA 必须支持通配符证书,且 Microsoft Dynamics CRM 网站所请求的证书的公用名中必须使用通配符。这一通配符证书要求仅适用于面向 Internet 的 Microsoft Dynamics CRM 网站。

    例如,Contoso 公司的通配符证书应与下面的示例相似:*.contoso.com

    有关通配符证书的详细信息,请参阅以下 TechNet 文章:获取并安装通配符服务器证书 (IIS 6.0)

  2. 确保当前没有用户正在访问安装了 Microsoft Dynamics CRM Web 应用程序的 Internet Information Services (IIS)。为此,请停止 Microsoft Dynamics CRM 网站:右键单击该网站,然后单击“停止”。

  3. 对 Microsoft Dynamics CRM 网站进行配置以使用 SSL。为此,请在运行 IIS(安装了 Microsoft Dynamics CRM Web 应用程序)的服务器上执行以下步骤:

    1. 启动 Internet Information Services (IIS) 管理器。

    2. 右键单击 Microsoft Dynamics CRM 网站,然后单击“属性”。

    3. 依次单击“目录安全”选项卡、“服务器证书”,然后按照“Web 服务器证书向导”中的说明进行操作。

    4. 如果您希望客户端仅在连接到 Microsoft Dynamics CRM 应用程时使用 SSL,则可以在“安全通信”区域的“目录安全”选项卡中单击“编辑”。在“安全通信”对话框中,选中“要求安全通道 (SSL)”复选框。

    5. 关闭 Internet Information Services (IIS) 管理器。

    重要提示:您只能对 Microsoft Dynamics CRM 网站应用一个证书。因此,如果您已针对内部访问和面向 Internet(外部)的访问配置了 Microsoft Dynamics CRM 服务器,则无法同时配置 Microsoft Dynamics CRM 网站的内部连接和外部连接所用的 SSL。

  4. 您必须手动修改配置数据库中的以下值。

    警告:如果配置数据库 (MSCRM_CONFIG) 修改不当,则会导致 Microsoft Dynamics CRM 系统中出现意外行为,或使系统停止运行。建议您先备份 Microsoft Dynamics CRM 系统,然后再完成以下步骤。有关如何备份 Microsoft Dynamics CRM 系统的详细信息,请参阅 Microsoft Dynamics CRM 实施指南 文档集中的“操作和维护指南”。

    1. 在运行 Microsoft SQL Server 的计算机上,启动 SQL Server Management Studio。

    2. 依次展开“数据库”、“MSCRM_CONFIG”、“表”,右键单击“dbo.DeploymentProperties”,然后单击“打开表”。

    3. 在“dbo.DeploymentProperties”表中,找到“ColumnName”栏下的“IFDRootDomainScheme”行中,将“NVarCharColumn”列中的值从 http 更改为 https。请注意,此值必须为小写字母。

    4. 在“dbo.DeploymentProperties”表中,定位到“ColumnName”栏下的“IFDSdkRootDomain”行中,将“NVarCharColumn”列中的值更改为针对 Microsoft Dynamics CRM 网站配置的证书名称。

    5. 在“dbo.DeploymentProperties”表中,找到“ColumnName”栏下的“IFDWebApplicationRootDomain”行中,将“NVarCharColumn”列中的值更改为针对 Microsoft Dynamics CRM 网站配置的证书名称。可以在 Internet Information Services (IIS) 管理器中找到此证书名称,具体位置在 Microsoft Dynamics CRM 网站属性页面的“目录安全”选项卡中。单击“查看证书”,然后在所显示的“证书”对话框中单击“详细信息”。单击“友好名称”字段,找到此证书名称。

    6. 确认保存了修改,然后关闭 SQL Server Management Studio。

  5. 如果对 Microsoft Dynamics CRM 网站进行配置以使用默认的 http (80) 和 https (443) TCP 端口,则无需修改 LocalSDKPort 注册表子项的值,您可以跳过此步骤。

    但是,如果未对 Microsoft Dynamics CRM 网站进行配置以使用这些默认的 TCP 端口,则必须完成以下步骤。

    警告:如果您使用注册表编辑器或其他方法错误地修改了注册表,可能会出现严重问题。出现此类问题后,您可能需要重新安装操作系统和 Microsoft Dynamics CRM。我们不能保证这些问题能够得到解决。您应自行承担修改注册表的风险。

    1. 启动注册表编辑器,找到 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSCRM 子项。

    2. 右键单击“LocalSdkPort”,然后依次单击“修改”、“确定”。

    3. 在“基址”区域,单击“十进制数”,然后键入 TCP 端口。

    4. 单击“确定”。

    5. 关闭注册表编辑器。

  6. 重新启动 IIS。为此,在命令行中,运行 iisreset 命令。

  7. 启动 Microsoft Dynamics CRM 网站。为此,右键单击“Microsoft Dynamics CRM 网站”,然后单击“启动”。

  8. 重新启动 Microsoft Dynamics CRM 异步处理服务。为此,单击“开始”,指向“管理工具”,然后单击“服务”。在服务列表中,右键单击“Microsoft Dynamics CRM 异步处理服务”,然后单击“重新启动”。

  9. 通过使用以 https 开头的 外部 URL 来验证您是否已经成功通过 Internet 连接到 Microsoft Dynamics CRM 网站。例如,在 Internet Explorer 中,显示的 URL 应类似于以下地址:https://ServerName.DomainName.com/OrganizationName/

按照上述步骤启用 SSL 可以提高客户端到服务器连接的私密性。这样一来,不仅有于保护 CRM 敏感数据,还可以降低无效用户访问系统的可能性。

相关链接

是否找到了所需的信息?
是     否 
如果未找到,请问您需要什么信息?(可选)

© 2009 Microsoft Corporation。保留所有权利。