适用于 Azure IoT 中心的 Azure 安全基线

此安全基线将 Azure 安全基准版本 2.0 中的指导应用于 Microsoft Azure IoT 中心。 Azure 安全基准提供有关如何在 Azure 上保护云解决方案的建议。 内容按安全控制措施分组,这些控制措施根据适用于 Azure IoT 中心的 Azure 安全基准和相关指南定义。

可以使用 Microsoft Defender for Cloud 监视此安全基线及其建议。 Azure Policy定义将列在 Microsoft Defender for Cloud 仪表板的“法规合规性”部分中。

当某个部分具有相关的Azure Policy定义时,它们会列在此基线中,以帮助衡量 Azure 安全基准控件和建议的符合性。 某些建议可能需要付费的 Microsoft Defender 计划才能启用某些安全方案。

注意

已排除不适用于 Azure IoT 中心的控件以及建议逐字使用全局指导的控件。 若要查看 Azure IoT 中心如何完全映射到 Azure 安全基准,请参阅完整的 Azure IoT 中心安全基线映射文件

网络安全

有关详细信息,请参阅 Azure 安全基线: 网络安全性

NS-1:实现内部流量的安全性

指导:Azure IoT 中心不支持直接部署到虚拟网络。 无法将某些网络功能用于产品/服务的资源。 其中一些功能包括:网络安全组、路由表以及其他与网络相关的设备,如 Azure 防火墙。

IoT 中心不支持虚拟网络注入。 要将 IoT 中心安全传送到专用网络环境,请使用 Azure 专用链接。

使用 Microsoft Sentinel 可发现是否使用不安全的旧协议,例如:

  • SSL/TLSv1

  • SMBv1、LM/NTLMv1

  • wDigest,未签名的 LDAP 绑定

  • Kerberos 中的弱密码

建议所有客户只使用传输层安全性 (TLS) 1.2。 IoT 中心支持 TLS 1.0 和 TLS 1.1,但我们不建议使用它们。

根据使用的协议(MQTT、AMQP、HTTPS、WebSocket),IoT 中心需要在客户端网络中打开某些端口。

责任:客户

NS-2:将专用网络连接在一起

指导:在共置环境中,使用 Azure ExpressRoute 或 Azure 虚拟专用网 (VPN) 在 Azure 数据中心与本地基础结构之间创建专用连接。 ExpressRoute 连接不经过公共 Internet。 与典型的 Internet 连接相比,这些连接可靠性更高、速度更快、延迟更低。 对于点到站点 VPN 和站点到站点 VPN,可使用任意 VPN 选项的任意组合以及 Azure ExpressRoute 将本地设备或网络连接到虚拟网络。

要在 Azure 中连接两个或更多虚拟网络,请使用虚拟网络对等互连。 对等虚拟网络之间的网络流量是专用的。 其将保留在 Azure 主干网络上。

责任:客户

NS-3:建立对 Azure 服务的专用网络访问

指导:IoT 中心可能会公开客户在连接字符串和密钥中使用的专用或公共 IP。 此 IoT 中心也可表示为 Azure 资源,客户可以通过 Azure 门户和 Azure 控制平面公开访问该 Azure 资源。 提供资源和可公开访问 Azure 门户终结点的 IP 均被视为网络终结点。

使用 Azure 专用链接,无需通过 Internet 即可从虚拟网络对 IoT 中心启用专用访问。

专用访问是 Azure 服务提供的针对身份验证和流量安全性的另一项深度防护措施。

为了更安全地访问公共 Internet,可以使用专用链接配置 IoT 中心。

IoT 中心不提供配置虚拟网络服务终结点的功能。

责任:客户

NS-4:保护应用程序和服务不受外部网络攻击

指导:保护 IoT 中心资源免受外部网络的攻击,比如:

  • 分布式拒绝服务 (DDoS) 攻击
  • 特定于应用程序的攻击
  • 未经请求的潜在恶意 Internet 流量

使用 Azure 防火墙保护应用程序和服务免受来自 Internet 和其他外部位置的潜在恶意流量的侵害。 通过在 Azure 虚拟网络上启用 DDoS 标准保护,保护资产免受 DDoS 攻击。 使用 Microsoft Defender for Cloud 检测错误配置网络相关资源带来的风险。

IoT 中心并非用于运行 Web 应用程序。 不需要配置任何其他设置或部署任何额外的网络服务来保护其免受针对 Web 应用程序的外部网络攻击。

责任:客户

NS-6:简化网络安全规则

指导:使用 Azure 虚拟网络服务标记定义以下内容上的网络访问控制:

  • 网络安全组
  • 为 IoT 中心资源配置的 Azure 防火墙

创建安全规则时,可以使用服务标记代替特定的 IP 地址。 在规则的相应“源”或“目标”字段中指定服务标记名称。 这样一来,可允许或拒绝相应服务的流量。 Microsoft 会管理服务标记包含的地址前缀,并会在地址发生更改时自动更新服务标记。

责任:客户

标识管理

有关详细信息,请参阅 Azure 安全基准:标识管理

IM-1:将 Azure Active Directory 标准化为中央标识和身份验证系统

指导:IoT 中心使用 Azure Active Directory (Azure AD) 作为默认标识和访问管理服务。 使 Azure AD 标准化,以便控制组织在以下资源中的标识和访问管理:

  • Microsoft 云资源,如 Azure 门户、Azure 存储、Azure 虚拟机(Linux 和 Windows)、Azure Key Vault、PaaS 和 SaaS 应用程序。

  • 组织资源,如 Azure 上的应用程序,或公司网络资源。

在组织的云安全做法中,应优先处理 Azure AD 保护事宜。 Azure AD 提供标识安全分数,让你可以根据 Microsoft 的建议来评估标识安全状况。 使用评分来估计你的配置与最佳做法建议的匹配程度,并改善你的安全状况。

注意:Azure AD 支持外部标识,允许没有 Microsoft 帐户的用户使用其外部标识登录到其应用程序和资源。

IoT 中心支持对其服务 API 进行 Azure AD 身份验证,这些 API 包括:

  • 创建设备、
  • 发送“云到设备”消息
  • 更新孪生所需属性。

为增强安全性,建议尽可能使用 Azure AD 身份验证。

IoT 中心提供一些内置角色,以帮助 Azure AD 和 Azure 基于角色的访问控制 (RBAC)。

IoT 中心还支持针对服务和设备的共享访问签名和基于 x.509 的身份验证。

责任:客户

IM-2:安全且自动地管理应用程序标识

指导:IoT 中心支持使用托管标识来获取其 Azure 资源。 若要访问其他资源,不需要创建服务主体,只需将托管标识用于 IoT 中心。 IoT 中心可以对支持 Azure AD 身份验证的 Azure 服务和资源进行本机身份验证。 它通过预定义的访问授权规则来实现此目的。 该身份验证不使用源代码或配置文件中硬编码的凭据。

IoT 中心支持系统分配的和用户分配的托管标识,以将其用于数据流出(路由、设备导出)功能。

我们建议使用 Azure AD 在资源级别创建具有受限权限的服务主体,以使用证书凭据配置服务主体,并回退到客户端机密。 在这两种情况下,都可以将 Azure Key Vault 与 Azure 托管标识结合使用,以便运行时环境(例如 Azure 函数)可以从密钥保管库中检索凭据。

要使用 IoT 中心的客户托管密钥功能,请联系 Microsoft 支持部门。

责任:客户

IM-3:使用 Azure AD 单一登录 (SSO) 进行应用程序访问

指导:将用户、应用程序和设备连接到 Azure AD。 Azure AD 提供安全的访问,以及更高的可见性和控制能力。 IoT 中心使用 Azure AD 提供对 Azure 资源、云应用程序和本地应用程序的标识和访问管理。 标识包括企业标识(如员工标识)和外部标识(如合作伙伴、供应商和提供商标识)。 Azure AD 标识和访问管理提供单一登录 (SSO) 来管理和保护对组织本地和云数据及资源的访问。

责任:客户

特权访问

有关详细信息,请参阅 Azure 安全基准:特权访问

PA-1:保护和限制具有较高权限的用户

指导:Azure AD 最关键的内置角色是全局管理员和特权角色管理员。 分配为这两个角色的用户可以委派管理员角色:

  • 全局管理员/公司管理员:具有此角色的用户可访问 Azure AD 中的所有管理功能,还可访问使用 Azure AD 标识的服务。

  • 特权角色管理员:具有此角色的用户可以管理 Azure AD 和 Azure AD Privileged Identity Management (PIM) 内的角色分配。 此外,该角色还可管理 PIM 和管理单元的各个方面。

注意:如果使用的是分配了某些特权的自定义角色,则可能有其他关键角色需要进行管理。 你可能还要对关键业务资产的管理员帐户应用类似控制。

应限制高特权帐户或角色的数量,并提升这些帐户的保护级别。 有了这些特权,用户可直接或间接读取和修改 Azure 环境中的每项资源。

可使用 Azure AD PIM 启用对 Azure 资源和 Azure AD 的实时 (JIT) 特权访问。 JIT 仅在用户需要执行特权任务时才授予临时权限。 当 Azure AD 组织中存在可疑或不安全的活动时,PIM 还会生成安全警报。

IoT 中心数据所有者角色具有高级别特权。

围绕专用管理帐户的使用创建标准操作程序。

有权访问 iothubowner 内置共享访问策略的用户和服务也具有高级别特权。 客户应创建相关流程来使用和管理对此共享访问策略的访问权限。

责任:客户

PA-3:定期审查和协调用户访问权限

指导:IoT 中心使用 Azure AD 帐户管理其资源,查看用户帐户。 请定期审查访问权限分配,以确保帐户及其访问权限有效。 可使用 Azure AD 访问评审来审查组成员资格、应用程序的访问权限和角色分配。 Azure AD 报告提供日志来帮助发现过时的帐户。 还可以在 Azure AD PIM 中创建访问评审报告工作流,以简化审查过程。

此外,还可以配置 Azure AD PIM,以便在管理员帐户过多时发出警报。 PIM 可以标识过时或配置不当的管理员帐户。

注意:某些 Azure 服务支持不通过 Azure AD 管理的本地用户和角色。 请单独管理这些用户。

IoT 中心提供了一些内置角色用于管理其云资源。

责任:客户

PA-6:使用特权访问工作站

指导:受保护的独立工作站对于敏感角色(如管理员、开发人员和关键服务操作员)的安全性至关重要。 使用高度安全的用户工作站和/或 Azure Bastion 执行管理任务。 使用 Azure AD、Microsoft Defender 高级威胁防护 (ATP) 和/或 Microsoft Intune 来部署安全的托管用户工作站,以便执行管理任务。 可使用以下方法集中管理受保护的工作站以强制执行安全配置:

  • 强身份验证
  • 软件和硬件基线
  • 受限制的逻辑访问和网络访问。

有关详细信息,请参阅:

责任:客户

PA-7:遵循 Just Enough Administration(最小特权原则)

指导:IoT 中心可通过 Azure RBAC 集成来管理其资源。 凭借 RBAC,可通过角色分配来管理 Azure 资源访问。 可以将角色分配给用户、组、服务主体和托管标识。 某些资源具有预定义的内置角色。 可以使用工具(例如 Azure CLI、Azure PowerShell 或 Azure 门户)来清点或查询这些角色。 将通过 Azure RBAC 分配给资源的特权限制为角色所需的特权。 此做法是对 Azure AD PIM 的 JIT 方法的补充。 定期审查角色和分配。

请使用内置角色来分配权限,仅在必要时创建自定义角色。

为帮助配置最低权限,IoT 中心在 Azure RBAC 中提供了内置角色。 例如,IoT 中心数据读取器角色授予对 IoT 中心资源的只读访问权限。

你还可以使用共享访问策略来设置访问 IoT 中心。 使用共享访问策略时,最低权限原则仍适用。 例如,如果某服务需要读取设备注册表,但不需要对其进行更新,则可以仅为其提供 registryRead 策略。 如果想增加粒度,请尽可能使用 Azure RBAC。

责任:客户

数据保护

有关详细信息,请参阅 Azure 安全基线: 数据保护

DP-2:保护敏感数据

指导:使用 Azure RBAC、基于网络的访问控制和 Azure 服务中的特定控制(例如加密)来限制访问,以此保护敏感数据。

为确保访问控制的一致性,请将所有类型的访问控制与企业分段策略保持一致。 确保企业分段策略知晓敏感数据或业务关键型数据的存储位置以及系统的位置。

Microsoft 会将 Microsoft 托管的基础平台中的所有客户内容都视为敏感内容,并提供防护,以免客户数据丢失和泄露。 为了确保 Azure 中的客户数据始终安全,Microsoft 实施了一些默认的数据保护控制机制和功能。

责任:共享

DP-4:加密传输中的敏感信息

指导:为了对访问控制进行补充,应该使用加密技术保护传输中的数据,从而防止“带外”攻击(例如流量捕获),以确保攻击者无法轻易读取或修改数据。

IoT 中心支持使用 TLS 1.2 或更高版本加密传输中数据。

虽然数据加密对于专用网络上的流量来说是可选的,但它对于外部和公共网络上的流量至关重要。 对于 HTTP 流量,请确保连接到 Azure 资源的任何客户端能够协商 TLS v1.2 或更高版本。 对于远程管理,请使用 SSH(适用于 Linux)或 RDP/TLS(适用于 Windows),而不是使用未加密的协议。 禁用已过时的 SSL/TLS/SSH 版本、协议以及弱密码。

默认情况下,Azure 为在 Azure 数据中心之间传输的数据提供加密。

责任:共享

DP-5:加密静态敏感数据

指导:为了对访问控制进行补充,IoT 中心会使用加密技术对静态数据进行加密,以防范“带外”攻击(例如访问基础存储)。 此做法有助于确保攻击者无法轻易读取或修改数据。

默认情况下,Azure 为静态数据提供加密。 对于高度敏感的数据,可以选择在所有可用的 Azure 资源上实施更多静态加密。 默认情况下,Azure 会管理加密密钥,但为满足法规的要求,它也为某些 Azure 服务提供了管理自有密钥(客户管理的密钥)的选项。

责任:共享

资产管理

有关详细信息,请参阅 Azure 安全基准:资产管理

AM-1:确保安全团队可以了解与资产相关的风险

指导:确保在 Azure 租户和订阅中向安全团队授予“安全读取者”权限,以便安全团队可以使用 Microsoft Defender for Cloud 监视安全风险。

监视安全风险可能是中心安全团队或本地团队的责任,具体取决于团队责任划分方式。 一律在组织内集中聚合安全见解和风险。

可以将安全读取者权限广泛应用于整个租户的根管理组,也可以将权限范围限制为特定管理组或订阅。

注意:如果要了解工作负载和服务,可能需要更多权限。

责任:客户

AM-2:确保安全团队有权访问资产清单和元数据

指导:确保安全团队有权访问 Azure 上持续更新的资产清单,如 IoT 中心。 安全团队通常需要此清单,以评估其组织遇到新兴风险的可能性,并据此不断提高安全性。 创建一个 Azure AD 组,其中包含组织的授权安全团队,并为该组分配对所有 IoT 中心资源的读取权限。 可以在订阅中使用单个高级别角色分配来简化此过程。

将标记应用到 Azure 资源、资源组和订阅,以便有条理地将它们组织成分类。 每个标记均由名称和值对组成。 例如,可以对生产中的所有资源应用名称“Environment”和值“Production”。

IoT 中心支持基于 Azure 资源管理器的资源部署和 Azure Resource Graph 查询。

IoT 中心不允许在其资源上运行应用程序或安装软件。 描述产品/服务中允许或支持此功能的任何其他功能(如果适用)。

责任:客户

AM-3:仅使用已批准的 Azure 服务

指导:请使用 Azure Policy 来审核和限制用户可以在你的环境中预配哪些服务。 使用 Azure Resource Graph 查询和发现订阅中的资源。 你也可以使用 Azure Monitor 来创建规则,以便在检测到未经批准的服务时触发警报。

责任:客户

日志记录和威胁检测

有关详细信息,请参阅 Azure 安全基准:日志记录和威胁检测

LT-1:为 Azure 资源启用威胁检测

指导:使用 Microsoft Defender for Cloud 内置威胁检测功能,并为 IoT 中心资源启用 Microsoft Defender。 Microsoft Defender for IoT Hub 提供另一层安全智能。 它会检测企图访问或利用 IoT 中心资源的潜在有害的异常活动。

将 IoT 中心中的所有日志转发到可用于设置自定义威胁检测的 SIEM。 确保正在监视不同类型的 Azure 资产,以发现潜在的威胁和异常情况。 专注于获取高质量警报以减少误报,便于分析人员进行分类整理。 警报可能源自日志数据、代理或其他数据。

责任:客户

LT-2:启用 Azure 标识和访问管理的威胁检测

指导:Azure AD 提供以下用户日志。 可以在 Azure AD 报告中查看这些日志。 对于复杂的监视和分析用例,可以将其与 Azure Monitor、Microsoft Sentinel 或其他 SIEM 和监视工具集成。

  • 登录 - 在登录报告中,可了解托管应用程序的使用情况和用户登录活动。

  • 审核日志 - 对于通过 Azure AD 的各种功能所做的所有更改,通过日志提供可跟踪性。 审核日志包含对 Azure AD 中的任何资源所做的更改。 这些更改包括添加或删除用户、应用、组、角色和策略。

  • 风险登录 - 指可能有非合法用户帐户所有者尝试登录。

  • 已标记为存在风险的用户 - 风险用户是指可能已泄露的用户帐户。

Microsoft Defender for Cloud 还可对身份验证尝试失败次数过多等特定可疑活动触发警报。 订阅中已弃用的帐户也可能触发警报。

Microsoft Defender for Cloud 还可在检测到可疑活动(如身份验证尝试失败次数过多或使用已弃用的帐户)时发出警报。

除了基本的安全运行监视以外,Microsoft Defender for Cloud 的威胁防护模块还可以从以下资源中收集更多深层安全警报:

  • 单独的 Azure 计算资源,如 VM、容器和应用服务

  • 数据资源,如 Azure SQL 数据库和 Azure 存储

  • Azure 服务层

通过此功能可了解各个资源中的帐户异常情况。

责任:客户

LT-3:为 Azure 网络活动启用日志记录

指导:请启用以下日志:

  • 网络安全组 (NSG) 资源日志
  • NSG 流日志
  • Azure 防火墙日志
  • Web 应用程序防火墙 (WAF) 日志

收集日志以便进行安全分析。 使用这些日志以支持事件调查、威胁搜寻和安全警报生成。 可将流日志发送到 Azure Monitor Log Analytics 工作区,然后使用流量分析提供见解。

IoT 中心不生成或处理 DNS 查询日志。

责任:客户

LT-4:为 Azure 资源启用日志记录

指导:系统自动提供活动日志。 这些日志包含对 VPN 网关资源执行的所有 PUT、POST 和 DELETE 操作,但不包含 GET 操作。 可以在排除故障时使用活动日志来查找错误,或监视用户如何修改资源。

为 VPN 网关启用 Azure 资源日志。 可以使用 Microsoft Defender for Cloud 和 Azure Policy 启用资源日志和日志数据收集。 这些日志可能对调查安全事件和执行取证演练至关重要。

责任:客户

Microsoft Defender for Cloud 监视:Azure 安全基准是 Microsoft Defender for Cloud 的默认策略计划,也是构筑各项 Microsoft Defender for Cloud 建议的基础。 Microsoft Defender for Cloud 会自动启用与此控制相关的 Azure Policy 定义。 与此控制相关的警报可能需要相关服务的 Microsoft Defender 计划。

Azure Policy 内置定义 - Microsoft.Devices

名称
(Azure 门户)
说明 效果 版本
(GitHub)
应启用 IoT 中心内的资源日志 对启用资源日志进行审核。 这样便可以在发生安全事件或网络受到威胁时重新创建活动线索以用于调查目的 AuditIfNotExists、Disabled 3.0.1

LT-6:配置日志存储保留期

指导:对于存储 IoT 中心日志的存储帐户或 Log Analytics 工作区,请设置符合组织的合规性法规的日志保持期。

责任:客户

LT-7:使用批准的时间同步源

指导:不适用。 IoT 中心不支持配置你自己的时间同步源。

IoT 中心服务依赖于 Microsoft 时间同步源,不会向客户公开以允许其进行配置。

责任:Microsoft

安全状况和漏洞管理

有关详细信息,请参阅 Azure 安全基准:安全状况和漏洞管理

PV-1:为所有 Azure 服务建立安全配置

指导:使用 Azure 蓝图在单个蓝图定义中自动部署和配置服务和应用程序环境。 这些环境适用于:

  • Azure 资源管理器模板
  • Azure RBAC 控制和策略

Microsoft Defender for IoT 是一种统一的安全解决方案,用于识别 IoT/OT 设备、漏洞和威胁。 无论你是需要保护现有的 IoT/OT 设备还是为新的 IoT 创新构建安全性,它都使你能够保护整个 IoT/OT 环境。

责任:客户

PV-2:为所有 Azure 服务维护安全配置

指导:使用 Microsoft Defender for Cloud 监视配置基线。 使用 Azure Policy [deny] 和 [deploy if not exist] 在 Azure 计算资源(包括 VM、容器等)中强制实施安全配置。

责任:客户

PV-3:为计算资源建立安全配置

指导:使用 Microsoft Defender for Cloud 和 Azure Policy 在所有计算资源(包括 VM、容器和其他资源)上建立安全配置。

责任:客户

PV-6:执行软件漏洞评估

指导:不适用。 Microsoft 对支持 IoT 中心的基础系统执行漏洞管理。

责任:Microsoft

PV-7:快速自动修正软件漏洞

指导:不适用。 对于合作伙伴软件,请使用合作伙伴补丁管理解决方案或 System Center Updates Publisher for Configuration Manager。

IoT 中心不使用或不需要任何第三方软件。

责任:Microsoft

PV-8:执行定期攻击模拟

指导:根据需要,对 Azure 资源执行渗透测试或红队活动。 请确保修复所有关键的安全发现。

按照 Microsoft Cloud 渗透测试参与规则操作,以确保渗透测试不违反 Microsoft 策略。 采用并执行 Microsoft 的红队演练策略。 对 Microsoft 托管的云基础结构、服务和应用程序进行实时站点渗透测试。

责任:共享

备份和恢复

有关详细信息,请参阅 Azure 安全基准:备份和恢复

BR-3:验证所有备份,包括客户管理的密钥

指导:定期确保你可以还原已备份的客户管理密钥。

责任:客户

BR-4:减少密钥丢失风险

指导:确保采用适当的措施来防止密钥丢失和恢复丢失的密钥。 在 Azure Key Vault 中启用软删除和清除保护,以防止意外删除或恶意删除密钥。

责任:共享

后续步骤