已知风险和漏洞
发布日期: 2017年1月
适用于: Dynamics 365 (on-premises),Dynamics CRM 2016
本主题介绍在使用 Microsoft Dynamics 365 时存在的风险和漏洞。 适当时还将介绍缓解和解决方法。
本主题内容
用户通过不安全的网络连接到 Dynamics 365 时的风险
有关服务器角色部署的安全建议
匿名身份验证
为面向 Internet 的部署隔离 HelpServer 角色
基于声明的身份验证问题和限制
保护 web.config 文件
启用了沙盒处理服务执行的自定义代码的出站 Internet 呼叫
保护服务器到服务器通信
DNS 重新绑定攻击
JavaScript 在个人仪表板上使用 Power BI URL
用户通过不安全的网络连接到 Dynamics 365 时的风险
如果不使用传输层安全 (TLS) 或安全套接字层 (SSL) (HTTPS) 运行 Microsoft Dynamics 365,则可能出现以下问题:
- 在不安全的 HTTP 连接上,通过使用“中间人”类型攻击可能更改 Microsoft Dynamics 365 用户提供的数据,包括可视图表定义。 为了缓解此类攻击,可将 Microsoft Dynamics 365 配置为仅使用 TLS/SSL。 有关如何配置 Microsoft Dynamics 365 服务器 以使用 TLS/SSL 的详细信息,请参阅 增强 Dynamics 365 客户端到服务器网络通信的安全性。
有关服务器角色部署的安全建议
以下建议可帮助使您的 Microsoft Dynamics 365 部署更加可靠和安全。
服务器角色 |
建议 |
---|---|
沙盒处理服务 |
将该角色安装到专用服务器上,该服务器与运行 Microsoft Dynamics 365 服务器 角色的其他计算机位于不同的虚拟 LAN (VLAN) 中。 如果沙盒中有利用计算机的恶意插件正在运行,单独 VLAN 提供的网络隔离可帮助确保其他 Dynamics 365 资源不会受到攻击。 |
帮助服务器 |
为 IFD 和面向内部的部署两者,将此角色安装在独立的计算机上。 有关详细信息,请参阅本主题中后面的为面向 Internet 的部署隔离 HelpServer 角色。 |
匿名身份验证
Microsoft Dynamics 365面向 Internet 的部署 (IFD) 要求为基于声明的身份验证在 IIS 上启用匿名身份验证。 基于声明的身份验证令牌中不包含原始凭证或连接字符串 Microsoft Dynamics 365 服务器。 但是,web.config 文件不包含关于身份验证模式的配置信息。 有关详细信息,请参阅本主题中后面的保护 web.config 文件。 为了确保 Microsoft Dynamics 365 网站的安全,请使用 TLS/SSL。
为面向 Internet 的部署隔离 HelpServer 角色
Microsoft Dynamics 365面向 Internet 的部署 (IFD) 需要匿名身份验证。 因为已使用匿名网站身份验证,Microsoft Dynamics 365 帮助 站点所使用的虚拟目录可经指定以拒绝服务(DoS)攻击。
若要隔离 Microsoft Dynamics 365 帮助 页面,并帮助保护其他 Microsoft Dynamics 365 服务器 角色不受潜在的 DoS 攻击,可以考虑在一个独立电脑上安装 帮助服务器 角色。
在独立电脑上安装 Microsoft Dynamics 365 角色的有关选项的详细信息,请参阅 Microsoft Dynamics 365 服务器角色。
有关降低 DoS 攻击风险的详细信息,请参阅 MSDN:提高 Web 应用程序安全性:威胁和应对措施。
基于声明的身份验证问题和限制
该主题介绍在将基于声明的身份验证与 Microsoft Dynamics 365 结合使用时存在的问题和限制。
确认标识提供程序使用强密码策略
在使用基于声明的身份验证时,应当验证受 安全令牌服务 (STS) 信任的身份提供商,这样,Microsoft Dynamics 365 会强制实施强密码策略。Microsoft Dynamics 365 不会强制实施强密码。 默认情况下,当其用作标识提供程序时,Active Directory会强制实施强密码策略。
即使对于停用的或删除了的用户,AD FS 联合服务器会话有效期长达8小时。
默认情况下,Active Directory 联合身份验证服务 (AD FS) 服务器令牌指定 Web 单一登录 (SSO) Cookie 在 8 小时后过期。 因此,当用户被停用或从身份验证提供程序中删除时,只要用户会话仍处于活动状态,该用户就可以继续访问安全资源。
使用上述任一选项解决此问题:
在 Microsoft Dynamics 365 和 Active Directory 中禁止用户。 有关如何禁用 Microsoft Dynamics 365 中的用户,请参阅管理用户。 关于如何在 Active Directory 中禁用客户的详细信息,请参阅 Active Directory 用户和计算机 帮助。
减少 Web SSO 使用寿命。 为此,请参阅 Active Directory 联合身份验证服务 (AD FS) 管理帮助。
保护 web.config 文件
由 Microsoft Dynamics 365 创建的 web.config 文件不包含连接字符串或加密密钥。 但该文件包含认证方式和策略的配置信息,ASP.NET 查看状态信息,并调试错误信息显示。 如果恶意修改该文件,则可能会威胁运行 Microsoft Dynamics 365 的服务器。 要帮助保护 web.config 文件,建议您执行以下操作:
向包含 web.config 文件的文件夹授予相关权限,以使其仅包含需要该文件的用户帐户(如管理员)。 默认情况下,web.config 文件位于 <drive:>Program Files\Microsoft Dynamics CRM\CRMWeb 文件夹中。
限制对 Dynamics 365 服务器具有交互式访问权限(如控制台登录权限)的用户的数量。
在 Dynamics 365 网站上禁用目录浏览。 默认情况下禁用该功能。 关于如何禁用目录浏览的详细信息,请参阅 Internet Information Services (IIS) 管理器 帮助。
启用了沙盒处理服务执行的自定义代码的出站 Internet 呼叫
默认情况下,启用由访问互联网上的服务的 Microsoft Dynamics 365沙盒处理服务 执行的自定义代码的出站呼叫。 对于 Microsoft Dynamics 365 的高安全性部署,这可能构成安全风险。 如果您不允许自定义代码的出站呼叫(例如 Dynamics 365 插件或自定义工作流活动),则您可以按照此处的步骤禁用由 沙盒处理服务 执行的自定义代码的出站连接。
您可以施加沙盒插件的 Web 访问限制,而不阻止所有出站呼叫。详细信息:MSDN:插件隔离、信任和统计信息
禁用自定义代码的出站连接包括禁用对云服务(如 Microsoft Azure 和 Microsoft Azure SQL 数据库)的呼叫。
禁用运行沙盒处理服务的计算机上的自定义代码的出站连接
在安装了 Microsoft Dynamics 365沙盒处理服务 服务器角色的 Windows Server 电脑上启动 注册表编辑器,并定位以下子项:
HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\MSCRM右键单击“MSCRM”,指向“新建”,单击“DWORD 值”,键入 SandboxWorkerDisableOutboundCalls,然后按 Enter。
右键单击“SandboxWorkerDisableOutboundCalls”,单击“修改”,键入 1,然后按 Enter。
关闭 注册表编辑器。
重新启动沙盒处理服务。 为此,单击“”启动,键入 services.msc,然后按 Enter。
右键单击“Microsoft Dynamics 365 沙盒处理服务”,然后单击“重新启动”。
关闭 Microsoft 管理控制台 (MMC)服务管理单元。
保护服务器到服务器通信
默认情况下,不通过安全通道进行 Microsoft Dynamics 365 服务器到服务器通信,例如 Web 应用程序服务器 角色和运行 Microsoft SQL Server 的服务器之间的通信。 因此,在服务器之间传送的信息可能容易受到某些攻击,比如中间人攻击。
建议实施安全网络(如 Windows 防火墙),来帮助保护在组织中各服务器之间传送的信息。详细信息:高级安全 Windows 防火墙概述
DNS 重新绑定攻击
与许多基于 Web 的应用程序一样,Microsoft Dynamics 365 易受 DNS 重新连接攻击的攻击。 此问题涉及错误引导 Web 浏览器从两台不同的服务器检索页面,从而信任这两台不同服务器来自相同的域,并且之后违反相同的原始策略。 使用该技术,攻击者可以使用受害者的身份通过对 Dynamics 365 页面的跨网站脚本攻击窜改 Dynamics 365 数据。
关于如何帮助保护免受此类攻击的详细信息,请参阅 保护浏览器免受 DNS 重新连接攻击。
JavaScript 在个人仪表板上使用 Power BI URL
由于可以使用 JavaScript,以便个人仪表板可以使用 Power BIURLs,请注意来自恶意源的以下脚本注入攻击的风险:
意外网站的任意重定向,如网络钓鱼网站。
尝试创建多个大的 JavaScript 对象会击溃 Web 浏览器。
为了降低此类风险,可考虑实施以下最佳方法:
只允许使用认可的 SharePoint 网址托管仪表板上用于嵌入 Power BI 报表的 Microsoft Office Excel 文档。详细信息:Power BI for Office 365 管理中心简介
保护托管 SharePoint 组件的 Power BI 网站,以便仅受信任源能添加要添加到仪表板的文档。请阅读 SharePoint 权限级别
要求 Microsoft Dynamics 365 用户避免将未审批的组件添加到其仪表板。 这类似于教用户不打开或单击从未知源发来的电子邮件中的附件或超链接。
另请参阅
Microsoft Dynamics 365 的安全注意事项
Microsoft Dynamics 365 的网络端口
Microsoft Dynamics 365 支持的配置
© 2017 Microsoft。 保留所有权利。 版权