Azure IoT Hub提供一个中心消息中心,用于 IoT 应用程序与所管理的设备之间的双向通信。 部署此服务时,请务必遵循安全最佳做法来保护数据、配置和基础结构。
本文提供有关如何最好地保护Azure IoT Hub部署的指导。
网络安全
保护对IoT Hub的网络访问对于防止未经授权的访问和保护设备与云之间的数据流至关重要。
启用专用终结点:使用 Azure Private Link 通过虚拟网络路由流量来消除公共 Internet 公开,使设备无需通过公共 Internet 暴露即可连接到 IoT 中心。 请参阅IoT Hub对具有 Azure Private Link 的虚拟网络的支持。
禁用公共网络访问:如果可以改用专用终结点,请禁用公共终结点,从而阻止从公共 Internet 直接访问。 请参阅 管理 IoT 中心的公用网络访问。
配置 IP 筛选:仅允许特定 IP 地址或范围来限制与IoT Hub的连接,从而限制潜在攻击的暴露。 请参阅 IoT Hub IP 筛选。
强制实施 TLS 1.2 和强密码套件:强制使用 TLS 1.2 和建议的密码套件进行所有设备和服务连接,从而增强连接安全性。 请参阅 传输层安全性 (TLS) 在 IoT Hub 中的支持。
身份和访问管理
适当的标识和访问管理对于控制谁可以管理IoT Hub以及设备如何对其进行身份验证至关重要。
使用Microsoft Entra ID身份验证:实现Microsoft Entra ID(以前为 Azure AD)进行身份验证和授权服务 API 请求,实现比共享访问策略更精细的访问控制。 请参阅通过 Azure Active Directory 控制对 IoT Hub 的访问。
实现 Azure RBAC 以实现精细权限:为访问 IoT Hub 管理 API 的用户和应用程序分配最小权限的基于角色的访问控制,从而减少未经授权操作的风险。 请参阅通过使用 Azure RBAC 角色分配来管理对 IoT Hub 的访问。
使用 X.509 证书进行设备身份验证:实现基于 X.509 证书的身份验证,而不是生产环境的 SAS 令牌,以提高安全性并启用更好的凭据管理。 请参阅 使用 X.509 证书验证身份标识。
避免跨设备共享对称密钥:向每个设备分配唯一凭据,以防止在泄露单个密钥时发生广泛泄露,从而限制潜在的凭据泄露的影响。 请参阅 设备制造商的安全做法。
不需要时禁用共享访问策略:使用 Microsoft Entra ID 进行身份验证时,禁用共享访问策略和令牌以减少攻击面。 请参阅 强制实施 Microsoft Entra 身份验证。
数据保护
保护传输中的数据和静态数据对于维护 IoT 解决方案的机密性和完整性至关重要。
将硬件安全模块用于设备机密:在硬件安全模块(HSM)中存储设备证书和私钥,以防止提取和篡改,增强身份验证凭据的安全性。 请参阅 硬件安全模块。
实现设备级数据加密:在传输到IoT Hub之前加密设备上的敏感数据,以添加 TLS 以外的额外保护层,尤其是对于高度敏感信息。 除了在传输到 IoT 中心之前加密设备上的敏感数据外,还加密存储在 Azure IoT 有状态组件(例如设备孪生)中的任何数据。 这适用于设备到云和云到设备的通信。 请参阅通过标准加密算法实现静态数据保护。
使用最新的 SDK 版本:确保使用最新的IoT Hub设备 SDK 来实现各种安全功能,包括加密和身份验证。 请参阅 Azure IoT SDK。
使根 CA 证书保持更新:定期更新设备上的受信任的根证书以维护安全的 TLS 连接,避免由于证书过期或吊销而导致连接失败。 请参阅 IoT Hub TLS 支持。
日志记录和监控
全面的日志记录和监视对于检测和响应 IoT 解决方案中的潜在安全问题至关重要。
启用连接和设备遥测的资源日志:配置诊断设置将 IoT 中心资源日志发送到 Azure Monitor 日志,以便跟踪连接尝试、错误和操作,以进行安全调查。 请参阅 IoT 中心的监视和诊断问题。
为连接问题设置警报:基于指标和日志创建警报,以检测异常模式,例如重复身份验证失败或可能指示安全问题的意外断开连接。 请参阅 监控、诊断和排查Azure IoT Hub设备连接。
监控设备 SDK 版本:跟踪连接设备所使用的 SDK 版本,以确保它们使用包含最新安全补丁程序的安全和最新版本。 请参阅 Monitoring Azure IoT Hub。
合规性和治理
建立适当的治理并确保符合安全标准是维护安全 IoT 解决方案的关键方面。
对 IoT Hub 应用 Azure Policy:实施 Azure Policy 来在您的 IoT 中心中强制和审核安全配置,确保保持一致的安全标准。 请参阅Azure IoT Hub 的 Azure Policy 内置定义。
定期审核访问权限:定期查看和验证授予用户、应用程序和设备的访问权限,以确保他们遵守最低权限原则。
启用审核的诊断设置:配置诊断设置以捕获和存档IoT Hub的审核日志,从而支持安全调查和合规性要求。 请参阅IoT Hub 中的资源日志应启用。
实现网络微分段:通过实施网络微分段来逻辑将 IoT 设备与其他组织资源分开,从而限制安全事件的潜在爆炸半径。
设备安全性
保护连接到IoT Hub的设备对于 IoT 解决方案的整体安全性至关重要。
使用可续订的设备凭据:实施定期更新设备凭据的过程,例如滚动 X.509 证书,以限制已泄露身份验证的影响。 请参阅 如何轮换 X.509 设备证书。
在设备上部署更新代理:确保设备具有用于接收和应用安全更新的更新代理,使固件和软件在整个设备生命周期内保持安全。
实现安全设备预配:使用 Azure IoT Hub 设备预配服务(DPS)通过适当的身份验证机制大规模安全、零接触地预配设备。 请参阅 IoT 中心设备预配服务。
使用受信任的平台模块:使用基于硬件的安全功能(如受信任的平台模块(TPM)部署设备,为加密密钥提供安全存储,并防止物理篡改。 请参阅 TPM 证明。
撤销被入侵设备的访问权限:实施程序,快速撤销表现出入侵迹象的设备的访问,以防止它们连接到您的 IoT Hub 并可能影响其他设备。 请参阅 如何撤销设备访问权限。