适用于 Azure 机器人服务的 Azure 安全基线

此安全基线将 Azure 安全基准版本 2.0 中的指导应用于 Microsoft Azure 机器人服务。 Azure 安全基准提供有关如何在 Azure 上保护云解决方案的建议。 内容按“安全控件”分组,此类控件根据适用于 Azure 机器人服务的 Azure 安全基准和相关指南进行定义。

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

注意

已排除不适用于 Azure 机器人服务的控件以及建议逐字使用全局指导的控件。 要了解 Azure 机器人服务如何完全映射到 Azure 安全基准,请参阅完整的 Azure 机器人服务安全基线映射文件

网络安全

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

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

指导:部署 Azure 机器人服务资源时,必须创建或使用现有虚拟网络。 确保所有 Azure 虚拟网络都遵循与业务风险相匹配的企业分段原则。 任何可能会给组织带来更高风险的系统都应隔离在其自己的虚拟网络中,并通过网络安全组 (NSG) 和/或 Azure 防火墙进行充分保护。

如何使用安全规则创建网络安全组:/azure/virtual-network/tutorial-filter-network-traffic​​

如何部署和配置 Azure 防火墙:/azure/firewall/tutorial-firewall-deploy-portal

责任:客户

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

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

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

责任:客户

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

指导:帮助 Azure 机器人服务资源防范来自外部网络的攻击,包括分布式拒绝服务 (DDoS) 攻击、特定于应用程序的攻击,以及未经请求和可能存在恶意的 Internet 流量。 使用 Azure 防火墙保护应用程序和服务免受来自 Internet 和其他外部位置的潜在恶意流量的侵害。 通过在 Azure 虚拟网络上启用 DDoS 标准保护,保护资产免受 DDoS 攻击。 使用 Microsoft Defender for Cloud 检测与网络相关资源有关的错误配置风险。

使用 Azure 应用程序网关、Azure Front Door 和 Azure 内容分发网络 (CDN) 中的 Web 应用程序防火墙 (WAF) 功能来保护 Azure 机器人服务上运行的应用程序,使之免受应用程序层攻击。

责任:客户

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

指导:使用 Azure 虚拟网络服务标记,在为 Azure 机器人服务资源配置的网络安全组或 Azure 防火墙上定义网络访问控制。 创建安全规则时,可以使用服务标记代替特定的 IP 地址。 通过在规则的相应“源”字段或“目标”字段中指定服务标记名(例如,AzureBotService),可以允许或拒绝相应服务的流量。 Microsoft 会管理服务标记包含的地址前缀,并会在地址发生更改时自动更新服务标记。

责任:客户

标识管理

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

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

指导:Azure 机器人服务使用 Azure Active Directory (Azure AD) 作为默认标识和访问管理服务。 使 Azure AD 标准化,以便控制组织在以下资源中的标识和访问管理:Microsoft Cloud 资源,如 Azure 门户、Azure 存储、Azure 虚拟机(Linux 和 Windows)、Azure Key Vault、PaaS 和 SaaS 应用程序。

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

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

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

责任:客户

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

指导:Azure Active Directory (Azure AD) 提供对 Azure 资源、云应用程序和本地应用程序的标识和访问管理。 标识和访问管理适用于企业标识(例如员工)以及外部标识(例如合作伙伴、供应商和提供商)。

使用 Azure AD 单一登录 (SSO) 管理你的组织在本地和云中的数据和资源,并对其进行安全的访问。 将你的所有用户、应用程序和设备连接到 Azure AD,以便实现无缝的安全访问,并实现更好的可见性和控制。

责任:客户

IM-7:消除意外的凭据透露

指导:Azure 机器人服务允许客户部署/运行代码、配置或持久化数据(可能包含标识/机密)。建议通过凭据扫描程序来识别代码、配置或持久化数据中的凭据。 凭据扫描程序还会建议将发现的凭据转移到更安全的位置,例如 Azure Key Vault。

对于 GitHub,你可以使用原生的机密扫描功能来识别代码中的凭据或其他形式的机密。

责任:客户

特权访问

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

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

指导:Azure 机器人服务使用 Azure Active Directory (Azure AD) 帐户来定期管理其资源、审阅用户帐户和访问权限分配,以确保帐户及其访问权限级别有效。 可使用 Azure AD 访问评审来审查组成员身份、对企业应用程序的访问权限和角色分配。 Azure AD 报告提供日志来帮助发现过时的帐户。 你还可使用 Azure AD Privileged Identity Management 来创建便于审查的访问评审报表工作流。

此外,Azure Privileged Identity Management 还可配置为在创建过多的管理员帐户时发出警报,并识别过时或配置不正确的管理员帐户。 注意:某些 Azure 服务支持不通过 Azure AD 管理的本地用户和角色。 你必须单独管理这些用户。

责任:客户

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

指导:安全的独立工作站对于确保敏感角色(如管理员、开发人员和关键服务操作员)的安全至关重要。 使用高度安全的用户工作站和/或 Azure Bastion 执行管理任务。 使用 Azure Active Directory (Azure AD)、Microsoft Defender 高级威胁防护 (ATP) 和/或 Microsoft Intune 来部署安全的托管用户工作站,以便执行管理任务。 可通过集中管理安全的工作站来强制实施安全配置,包括强身份验证、软件和硬件基线、受限的逻辑和网络访问。

责任:客户

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

指导:Azure 机器人服务通过与 Azure 基于角色的访问控制 (RBAC) 集成来管理其资源。 使用 Azure RBAC,可通过角色分配来管理 Azure 资源访问。 可以将这些角色分配给用户、组服务主体和托管标识。 某些资源具有预定义的内置角色,可以通过工具(例如 Azure CLI、Azure PowerShell 或 Azure 门户)来清点或查询这些角色。 通过 Azure RBAC 分配给资源的特权应始终限制为角色所需的特权。 这是对 Azure Active Directory (Azure AD) Privileged Identity Management (PIM) 的实时 (JIT) 方法的补充,应定期进行审查。

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

什么是 Azure 基于角色的访问控制 (Azure RBAC) /azure/role-based-access-control/overview

责任:客户

数据保护

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

DP-2:保护敏感数据

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

为了确保一致的访问控制,所有类型的访问控制都应符合企业分段策略。 企业分段策略还应根据敏感的或业务关键型的数据和系统的位置来确定。

对于 Microsoft 管理的基础平台,Microsoft 会将所有客户内容视为敏感数据,全方位防范客户数据丢失和泄露。 为了确保 Azure 中的客户数据始终安全,Microsoft 实施了一些默认的数据保护控制机制和功能。

责任:共享

DP-3:监视未经授权的敏感数据传输

指南:监视是否有向企业可见和控制范围以外的位置进行未经授权的数据传输。 这通常涉及监视那些可能意味着未经授权的数据外泄的异常活动(大型或异常传输)。 Azure 存储高级威胁防护 (ATP) 和Azure SQL ATP 可以针对可能指示未经授权传输敏感信息的信息异常传输发出警报。Azure 信息保护 (AIP) 为已分类和标记的信息提供监视功能。如果需要符合数据丢失防护 (DLP) ,则可以使用基于主机的 DLP 解决方案强制实施检测和/或预防性控制,以防止数据外泄。

责任:客户

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

指导:通过 HTTP 公开的所有 Azure 机器人服务终结点都强制执行 TLS 1.2。 使用强制执行的安全协议时,尝试调用 Azure 机器人服务终结点的使用者应遵循以下准则:

  • 客户端操作系统 (OS) 需要支持 TLS 1.2。- 用于调用 HTTP 的语言(和平台)需要在请求中指定执行 TLS 1.2。 根据语言和平台,指定隐式或显式执行 TLS。为补充访问控制,应该对传输中的数据使用加密技术防止“带外”攻击(例如流量捕获),以确保攻击者无法轻松读取或修改数据。 虽然这对于专用网络上的流量来说是可选的,但对于外部和公共网络上的流量来说,这是至关重要的。 对于 HTTP 流量,请确保连接到 Azure 资源的任何客户端能够协商 TLS v1.2 或更高版本。 对于远程管理,请使用 SSH(适用于 Linux)或 RDP/TLS(适用于 Windows),而不是使用未加密的协议。 应当禁用已过时的 SSL、TLS 和 SSH 版本和协议,以及弱密码。

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

责任:共享

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

指导:为了对访问控制进行补充,应使用加密保护静态数据,以免遭受“带外”攻击(例如访问底层存储)。 这有助于确保攻击者无法轻松读取或修改数据。

默认情况下,Azure 提供静态数据加密。 对于高度敏感的数据,你可以选择在所有可用的 Azure 资源上进行额外的静态加密。 默认情况下,Azure 管理你的加密密钥,但是 Azure 为某些 Azure 服务提供了管理你自己的密钥(客户管理的密钥)的选项。

如果需要在计算资源上确保合规性,则实施第三方工具(如基于主机的自动数据丢失防护解决方案),以便对数据强制实施访问控制,即使数据从系统复制也是如此。

责任:客户

资产管理

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

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

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

根据安全团队责任划分方式的不同,监视安全风险可能是中心安全团队或本地团队的责任。 也就是说,安全见解和风险必须始终在组织内集中聚合。

安全读取者权限可以广泛应用于整个租户(根管理组),也可以限制到管理组或特定订阅。

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

责任:客户

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

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

Azure 机器人服务不支持使用 Azure 资源部署和发现基于 Azure 资源管理器的资源。

责任:客户

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

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

责任:客户

日志记录和威胁检测

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

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

指导:Azure 机器人服务不会提供本机功能来监视与其资源相关的安全威胁。

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

责任:客户

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

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

  • 登录 - 登录报告提供有关托管应用程序的使用情况和用户登录活动的信息。
  • 审核日志 - 通过日志为 Azure AD 中的各种功能所做的所有更改提供可跟踪性。 审核日志的示例包括对 Azure AD 中的任何资源(例如添加或删除用户、应用、组、角色和策略)所做的更改。
  • 风险登录 - 风险登录是指可能由非用户帐户合法拥有者进行的登录尝试。
  • 已标记为存在风险的用户 - 风险用户是指可能已泄露的用户帐户。

Microsoft Defender for Cloud 还可针对某些可疑活动发出警报,例如,失败的身份验证尝试次数过多和使用了订阅中的已弃用帐户。 除了基本的安全运行监视以外,Microsoft Defender for Cloud 的威胁防护模块还可从各个 Azure 计算资源(例如虚拟机、容器、应用服务)、数据资源(例如 SQL 数据库和存储)和 Azure 服务层收集更深入的安全警报。 通过此功能可查看单个资源中的帐户异常情况。

责任:客户

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

指导:启用并收集网络安全组 (NSG) 资源日志、NSG 流日志、Azure 防火墙日志和 Web 应用程序防火墙 (WAF) 日志进行安全分析,从而支持事件调查、威胁搜寻和安全警报生成。 可将流日志发送到 Azure Monitor Log Analytics 工作区,然后使用流量分析提供见解。

Azure 机器人服务不会生成或处理需要启用的 DNS 查询日志。

责任:客户

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

指导:自动可用的活动日志包含针对 Azure 机器人服务资源的所有写入操作(PUT、POST、DELETE),但读取操作 (GET) 除外。 活动日志可用于在进行故障排除时查找错误,或监视组织中的用户如何对资源进行修改。

Azure 机器人服务当前不生成 Azure 资源日志。

责任:客户

LT-5:集中管理和分析安全日志

指导:集中记录存储和分析来实现关联。 对于每个日志源,请确保已分配数据所有者、访问指南、存储位置、用于处理和访问数据的工具以及数据保留要求。 确保正在将 Azure 活动日志集成到中央日志记录。 通过 Azure Monitor 引入日志,以聚合终结点设备、网络资源和其他安全系统生成的安全数据。 在 Azure Monitor 中,使用 Log Analytics 工作区来查询和执行分析,并使用 Azure 存储帐户进行长期存档存储。

另外,请启用 Microsoft Sentinel 或第三方 SIEM,并在其中加入数据。

许多组织选择将 Microsoft Sentinel 用于“热”数据(频繁使用的数据),将 Azure 存储用于“冷”数据(不太频繁使用的数据)。

责任:客户

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

指导:确保用于存储 Azure 机器人服务日志的所有存储帐户或 Log Analytics 工作区都根据组织的合规性规定设置了日志保留期。

在 Azure Monitor 中,可根据组织的合规性规则设置 Log Analytics 工作区保持期。 将 Azure 存储、Data Lake 或 Log Analytics 工作区帐户用于长期存储和存档存储。

责任:客户

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

指导:Microsoft 会维护大多数 Azure PaaS 和 SaaS 服务的时间源。 对于虚拟机,除非有特定要求,否则请使用 Microsoft 默认 NTP 服务器进行时间同步。 如果需要建立自己的网络时间协议 (NTP) 服务器,请务必保护 UDP 服务端口 123 的安全。 Azure 中资源生成的所有日志都提供了时间戳,且默认指定时区。

责任:Microsoft

安全状况和漏洞管理

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

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

指导:根据需要,对 Azure 资源进行渗透测试或红队活动,并确保修正所有关键安全发现。 请遵循 Microsoft 云渗透测试互动规则,确保你的渗透测试不违反 Microsoft 政策。 使用 Microsoft 红队演练策略和执行,以及针对 Microsoft 托管云基础结构、服务和应用程序执行现场渗透测试。

责任:共享

备份和恢复

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

BR-1:确保定期执行自动备份

指南:确保在发生意外事件后,备份系统和数据以保持业务连续性。 这应该由恢复点目标 (RPO) 和恢复时间目标 (RTO) 的任何目标定义。 启用 Azure 备份,配置备份源(例如 Azure VM、SQL Server、HANA 数据库或文件共享)以及所需的频率和保持期。

为了提高保护级别,可启用异地冗余存储选项,将备份数据复制到次要区域,并使用跨区域还原进行恢复。

责任:客户

BR-2:加密备份数据

指导:确保备份不受攻击。 这应包括对备份进行加密,以防止丧失机密性。

对于使用 Azure 备份的本地备份,请使用所提供的密码提供静态加密。 对于常规 Azure 服务备份,系统会使用 Azure 平台管理的密钥自动加密备份数据。 你可选择使用客户管理的密钥对备份进行加密。 在这种情况下,请确保 Key Vault 中客户管理的密钥也在备份范围内。

在 Azure 备份、Azure 密钥保管库或其他资源中使用基于角色的访问控制来保护备份和客户管理的密钥。 此外,可启用高级安全功能,要求在更改或删除备份之前进行多重身份验证。

责任:客户

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

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

责任:客户

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

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

责任:客户

后续步骤