你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
计算安全建议
本文列出了在 Microsoft Defender for Cloud 中看到的所有多云计算安全建议。
环境中显示的建议基于要保护的资源和自定义配置。
若要了解可以针对这些建议采取的操作,请参阅 Defender for Cloud 修正建议。
提示
如果建议的描述中显示“无相关策略”,通常是因为该建议依赖于另一个建议。
例如,建议“应修正 Endpoint Protection 运行状况失败”依赖于建议“应安装 Endpoint Protection 解决方案”,后者检查 Endpoint Protection 解决方案是否已安装。 基础建议确实具有一个策略。 将策略限制为仅用于基本建议可简化策略管理。
Azure 计算建议
应在计算机上安装系统更新(由更新中心提供技术支持)
说明:计算机缺少系统、安全和关键更新。 软件更新通常包括安全漏洞的关键补丁。 恶意软件攻击中经常会利用这些漏洞,因此保持软件更新至关重要。 若要安装所有重要补丁并保护你的计算机,请遵循修正步骤。
严重性:低
计算机应配置为定期检查,以确认缺少的系统更新
说明:为了确保每隔 24 小时自动触发缺少系统更新的定期评估,AssessmentMode 属性应设置为“AutomaticByPlatform”。 详细了解 AssessmentMode 属性,适用于 Windows:https://aka.ms/computevm-windowspatchassessmentmode,适用于 Linux:https://aka.ms/computevm-linuxpatchassessmentmode。
严重性:低
应在计算机中启用自适应应用程序控制以定义安全应用程序
说明:启用应用程序控制,以定义计算机中正在运行的已知安全应用程序列表,并在其他应用程序运行时发出警报。 这有助于强化计算机免受恶意软件的侵害。 为了简化配置和维护规则的过程,Defender for Cloud 使用机器学习来分析在每台计算机上运行的应用程序,并建议已知安全应用程序的列表。 (相关策略:应在计算机中启用用于定义安全应用程序的自适应应用程序控制)。
严重性:高
应更新自适应应用程序控制策略中的允许列表规则
说明:监视为 Defender for Cloud 自适应应用程序控制进行审核而配置的计算机组上的行为更改。 Defender for Cloud 使用机器学习来分析计算机上的运行过程,并建议已知安全应用程序的列表。 这些应用程序作为推荐的应用显示,在自适应应用程序控制策略中允许使用。 (相关策略:应更新自适应应用程序控制策略中的允许列表规则)。
严重性:高
对 Linux 虚拟机进行身份验证需要 SSH 密钥
虽然 SSH 本身提供加密连接,但是将密码用于 SSH 仍会使 VM 易受到暴力攻击。 通过 SSH 对 Azure Linux 虚拟机进行身份验证时,最安全的方法是使用公钥-私钥对,也称为 SSH 密钥。 有关详细信息,请参阅详细步骤:创建和管理用于 Azure 中 Linux VM 的身份验证的 SSH 密钥。 (相关策略:审核未使用 SSH 密钥进行身份验证的 Linux 计算机)。
严重性:中等
自动化帐户变量应加密
说明:存储敏感数据时,请务必启用自动化帐户变量资产加密。 (相关策略:应对自动化帐户变量进行加密)。
严重性:高
应为虚拟机启用 Azure 备份
说明:使用 Azure 备份来保护 Azure 虚拟机上的数据。 Azure 备份是一种 Azure 原生且经济高效的数据保护解决方案。 它可创建恢复点,这些恢复点存储在异地冗余的恢复保管库中。 从恢复点还原时,可以还原整个 VM,也可以仅还原特定的文件。 (相关策略:应为虚拟机启用 Azure 备份)。
严重性:低
(预览版)Azure Stack HCI 服务器应满足安全核心要求
说明:确保所有 Azure Stack HCI 服务器都满足安全核心要求。 (相关策略:应在计算机上安装来宾配置扩展 - Microsoft Azure)。
严重性:低
(预览版)Azure Stack HCI 服务器应一致地强制实施应用程序控制策略
说明:至少在所有 Azure Stack HCI 服务器上以强制模式应用 Microsoft WDAC 基本策略。 应用的 Windows Defender 应用程序控制 (WDAC) 策略必须在同一群集中的服务器之间保持一致。 (相关策略:应在计算机上安装来宾配置扩展 - Microsoft Azure)。
严重性:高
(预览版)Azure Stack HCI 系统应具有加密卷
说明:使用 BitLocker 加密 Azure Stack HCI 系统上的 OS 和数据卷。 (相关策略:应在计算机上安装来宾配置扩展 - Microsoft Azure)。
严重性:高
应安全配置容器主机
说明:修复安装了 Docker 的计算机上安全配置设置中的漏洞,使它们免受攻击。 (相关策略:应修正容器安全配置中的漏洞)。
严重性:高
应启用 Azure 流分析的诊断日志
说明:启用日志并将其保留长达一年的时间。 这样便可以在发生安全事件或网络遭泄露时,重新创建活动线索用于调查目的。 (相关策略:应启用 Azure 流分析中的诊断日志)。
严重性:低
应启用 Batch 帐户的诊断日志
说明:启用日志并将其保留长达一年的时间。 这样便可以在发生安全事件或网络遭泄露时,重新创建活动线索用于调查目的。 (相关策略:应启用 Batch 帐户中的诊断日志)。
严重性:低
应启用事件中心内的诊断日志
说明:启用日志并将其保留长达一年的时间。 这样便可以在发生安全事件或网络遭泄露时,重新创建活动线索用于调查目的。 (相关策略:应启用事件中心内的诊断日志)。
严重性:低
应启用逻辑应用的诊断日志
说明:若要确保在发生安全事件或遭到入侵时,可以重新创建活动线索以进行调查,请启用日志记录。 如果诊断日志不会发送到 Log Analytics 工作区、Azure 存储帐户或 Azure 事件中心,请确保已将诊断设置配置为将平台指标和平台日志发送到相关目标。 若要了解详细信息,请参阅“创建诊断设置以将平台日志和指标发送到不同目标”。 (相关策略:应启用逻辑应用中的诊断日志)。
严重性:低
应启用服务总线的诊断日志
说明:启用日志并将其保留长达一年的时间。 这样便可以在发生安全事件或网络遭泄露时,重新创建活动线索用于调查目的。 (相关策略:应启用服务总线中的诊断日志)。
严重性:低
应当启用虚拟机规模集中的诊断日志
说明:启用日志并将其保留长达一年的时间。 这样便可以在发生安全事件或网络遭泄露时,重新创建活动线索用于调查目的。 (相关策略:应启用虚拟机规模集中的诊断日志)。
严重性:高
应在虚拟机上解决 EDR 配置问题
说明:若要保护虚拟机免受最新威胁和漏洞的影响,请解决已安装的终结点检测和响应(EDR)解决方案的所有已识别的配置问题。 目前,此建议仅适用于启用了 Microsoft Defender for Endpoint 的资源。
如果你有 Defender for Servers 计划 2 或 Defender CSPM 计划,则可以使用此无代理终结点建议。 详细了解 无代理终结点保护建议。
- 这些新的无代理终结点建议支持 Azure 和多云计算机。 不支持本地服务器。
- 这些新的无代理终结点建议取代了应在计算机上安装现有建议 Endpoint Protection(预览版),并且应在计算机上解决 Endpoint Protection 运行状况问题(预览版)。
- 这些较旧的建议使用 MMA/AMA 代理,并将被替换,因为代理在 Defender for Servers 中逐步淘汰。
严重性:低
应在虚拟机上安装 EDR 解决方案
说明:在虚拟机上安装终结点检测和响应(EDR)解决方案对于防范高级威胁非常重要。 EDR 有助于防止、检测、调查和响应这些威胁。 Microsoft Defender for Servers 可用于部署 Microsoft Defender for Endpoint。
- 如果资源被归类为“不正常”,则表示缺少受支持的 EDR 解决方案。
- 如果安装 EDR 解决方案但无法通过此建议发现,则可以免除此解决方案
- 如果没有 EDR 解决方案,虚拟机面临高级威胁的风险。
如果你有 Defender for Servers 计划 2 或 Defender CSPM 计划,则可以使用此无代理终结点建议。 详细了解 无代理终结点保护建议。
- 这些新的无代理终结点建议支持 Azure 和多云计算机。 不支持本地服务器。
- 这些新的无代理终结点建议取代了应在计算机上安装现有建议 Endpoint Protection(预览版),并且应在计算机上解决 Endpoint Protection 运行状况问题(预览版)。
- 这些较旧的建议使用 MMA/AMA 代理,并将被替换,因为代理在 Defender for Servers 中逐步淘汰。
严重性:高
应在虚拟机规模集上解决 Endpoint Protection 运行状况问题
说明:在虚拟机规模集上,修复终结点保护健康状况故障,使其免受威胁和漏洞的侵害。 (相关策略:应在虚拟机规模集上安装终结点保护解决方案)。
严重性:低
应在虚拟机规模集上安装 Endpoint Protection
说明:在虚拟机规模集上安装终结点保护解决方案,以保护它们免受威胁和漏洞的影响。 (相关策略:应在虚拟机规模集上安装终结点保护解决方案)。
严重性:高
应在计算机上启用文件完整性监视
说明:Defender for Cloud 已识别出缺少文件完整性监视解决方案的虚拟机。 若要监视服务器上对关键文件、注册表项等的更改,请启用文件完整性监视。 启用文件完整性监视解决方案后,创建数据收集规则以定义要监视的文件。 若要定义规则,或查看具有现有规则的计算机上更改的文件,请转到文件完整性监视管理页。 (无相关策略)
严重性:高
应在受支持的 Linux 虚拟机规模集上安装来宾证明扩展名
说明:在受支持的 Linux 虚拟机规模集上安装来宾证明扩展,使 Microsoft Defender for Cloud 能够主动证明并监视启动完整性。 安装后,将通过远程证明来证明启动完整性。 此评估仅适用于已启用受信任启动的 Linux 虚拟机规模集。
- 受信任启动要求创建新的虚拟机。
- 如果现有的虚拟机在最初创建时未配置受信任启动,则无法在其上启用受信任启动。
详细了解 Azure 虚拟机的受信任启动。 (无相关策略)
严重性:低
应在受支持的 Linux 虚拟机上安装来宾证明扩展名
说明:在受支持的 Linux 虚拟机上安装来宾证明扩展,使 Microsoft Defender for Cloud 能够主动证明并监视启动完整性。 安装后,将通过远程证明来证明启动完整性。 此评估仅适用于已启用受信任启动的 Linux 虚拟机。
- 受信任启动要求创建新的虚拟机。
- 如果现有的虚拟机在最初创建时未配置受信任启动,则无法在其上启用受信任启动。
详细了解 Azure 虚拟机的受信任启动。 (无相关策略)
严重性:低
应在受支持的 Windows 虚拟机规模集上安装来宾证明扩展名
说明:在受支持的 Linux 虚拟机规模集上安装来宾证明扩展,使 Microsoft Defender for Cloud 能够主动证明并监视启动完整性。 安装后,将通过远程证明来证明启动完整性。 此评估仅适用于已启用受信任启动的虚拟机规模集。
- 受信任启动要求创建新的虚拟机。
- 如果现有的虚拟机在最初创建时未配置受信任启动,则无法在其上启用受信任启动。
详细了解 Azure 虚拟机的受信任启动。 (无相关策略)
严重性:低
应在受支持的 Windows 虚拟机上安装来宾证明扩展名
说明:在受支持的 Linux 虚拟机上安装来宾证明扩展,使 Microsoft Defender for Cloud 能够主动证明并监视启动完整性。 安装后,将通过远程证明来证明启动完整性。 此评估仅适用于已启用受信任启动的虚拟机。
- 受信任启动要求创建新的虚拟机。
- 如果现有的虚拟机在最初创建时未配置受信任启动,则无法在其上启用受信任启动。
详细了解 Azure 虚拟机的受信任启动。 (无相关策略)
严重性:低
应在计算机上安装来宾配置扩展
说明:若要确保安全配置计算机的来宾内设置,请安装来宾配置扩展。 该扩展监视的来宾内设置包括操作系统的配置、应用程序配置或状态以及环境设置。 安装后,来宾内策略将可用,如应启用 Windows 攻击防护。 (相关策略:虚拟机应有来宾配置扩展)。
严重性:中等
(预览版)主机和 VM 网络应在 Azure Stack HCI 系统上受保护
说明:保护 Azure Stack HCI 主机网络和虚拟机网络连接上的数据。 (相关策略:应在计算机上安装来宾配置扩展 - Microsoft Azure)。
严重性:低
在虚拟机上安装 Endpoint Protection 解决方案
说明:在虚拟机上安装终结点保护解决方案,以保护其免受威胁和漏洞的侵害。 (相关策略:监视 Azure 安全中心中缺少的终结点保护)。
严重性:高
Linux 虚拟机应启用 Azure 磁盘加密或 EncryptionAtHost
说明:默认情况下,虚拟机的 OS 和数据磁盘使用平台管理的密钥进行静态加密;临时磁盘和数据缓存不加密,数据在计算和存储资源之间流动时不加密。 请使用 Azure 磁盘加密或 EncryptionAtHost 对所有这些数据进行加密。 访问托管磁盘加密选项概述,以比较加密产品/服务。 此策略需要将两个先决条件部署到策略分配范围。 有关详细信息,请访问 “了解 Azure 计算机配置”。 (相关策略:[预览]:Linux 虚拟机应启用 Azure 磁盘加密或 EncryptionAtHost)。
替换旧建议“虚拟机应加密计算和存储资源之间的临时磁盘、缓存和数据流”。 通过此建议,可以审核 VM 加密符合性。
严重性:高
Linux 虚拟机应强制实施内核模块签名验证
说明:为了帮助减少在内核模式下执行恶意或未经授权的代码,请在支持的 Linux 虚拟机上强制实施内核模块签名验证。 内核模块签名验证可确保只允许运行受信任的内核模块。 这项评估仅适用于安装了 Azure Monitor 代理的 Linux 虚拟机。 (无相关策略)
严重性:低
Linux 虚拟机应仅使用已签名且受信任的启动组件
说明:启用安全启动后,所有 OS 启动组件(启动加载程序、内核、内核驱动程序)都必须由受信任的发布者签名。 Defender for Cloud 已识别一个或多个 Linux 虚拟机上不受信任的 OS 启动组件。 若要保护计算机免受潜在恶意组件的攻击,请将它们添加到你的允许列表,或删除已识别的组件。 (无相关策略)
严重性:低
Linux 虚拟机应使用安全启动
说明:若要防止安装基于恶意软件的 rootkit 和启动工具包,请在受支持的 Linux 虚拟机上启用安全启动。 安全引导可确保仅允许运行已签名的操作系统和驱动程序。 这项评估仅适用于安装了 Azure Monitor 代理的 Linux 虚拟机。 (无相关策略)
严重性:低
应在基于 Linux 已启用 Azure Arc 的计算机上安装日志分析代理
说明:Defender for Cloud 使用 Log Analytics 代理(也称为 OMS)从 Azure Arc 计算机收集安全事件。 若要在所有 Azure Arc 计算机上部署代理,请遵循修正步骤。 (无相关策略)
严重性:高
随着在 Defender for Servers 中逐步淘汰 AMA 和 MMA 的使用,依赖这些代理的建议将被删除,如下所示。 Defender for Servers 功能将使用 Microsoft Defender for Endpoint 代理或无代理扫描,不再依赖于 MMA 或 AMA。
预计弃用时间:2024 年 7 月
应在虚拟机规模集上安装 Log Analytics 代理
说明:Defender for Cloud 从 Azure 虚拟机 (VM) 收集数据,以监视安全漏洞和威胁。 数据是使用 Log Analytics 代理收集的,该代理以前称为 Microsoft Monitoring Agent (MMA),它从计算机中读取各种安全相关的配置和事件日志,然后将数据复制到工作区以用于分析。 如果 VM 由 Azure 托管服务(如 Azure Kubernetes 服务或 Azure Service Fabric)使用,那么也需要执行该过程。 无法为 Azure 虚拟机规模集配置代理的自动预配。 若要在虚拟机规模集(包括 Azure Kubernetes 服务和 Azure Service Fabric 等 Azure 托管服务使用的规模集)上部署代理,请按照修正步骤中的过程操作。 (相关策略:应在虚拟机规模集上安装日志分析代理,用于 Azure 安全中心监视)。
随着在 Defender for Servers 中逐步淘汰 AMA 和 MMA 的使用,依赖这些代理的建议将被删除,如下所示。 Defender for Servers 功能将使用 Microsoft Defender for Endpoint 代理或无代理扫描,不再依赖于 MMA 或 AMA。
预计弃用时间:2024 年 7 月
严重性:高
应在虚拟机上安装 Log Analytics 代理
说明:Defender for Cloud 从 Azure 虚拟机 (VM) 收集数据,以监视安全漏洞和威胁。 数据是使用 Log Analytics 代理收集的,该代理以前称为 Microsoft Monitoring Agent (MMA),它从计算机中读取各种安全相关的配置和事件日志,然后将数据复制到 Log Analytics 工作区以用于分析。 如果 VM 由 Azure 托管服务(如 Azure Kubernetes 服务或 Azure Service Fabric)使用,则也需要此代理。 建议配置自动预配来自动部署代理。 如果你选择不使用自动预配,请使用修正步骤中的说明将代理手动部署到 VM。 (相关策略:应在虚拟机上安装日志分析代理,用于 Azure 安全中心监视)。
随着在 Defender for Servers 中逐步淘汰 AMA 和 MMA 的使用,依赖这些代理的建议将被删除,如下所示。 Defender for Servers 功能将使用 Microsoft Defender for Endpoint 代理或无代理扫描,不再依赖于 MMA 或 AMA。
预计弃用时间:2024 年 7 月
严重性:高
应在基于 Windows 已启用 Azure Arc 的计算机上安装日志分析代理
说明:Defender for Cloud 使用 Log Analytics 代理(也称为 MMA)从 Azure Arc 计算机收集安全事件。 若要在所有 Azure Arc 计算机上部署代理,请遵循修正步骤。 (无相关策略)
严重性:高
随着在 Defender for Servers 中逐步淘汰 AMA 和 MMA 的使用,依赖这些代理的建议将被删除,如下所示。 Defender for Servers 功能将使用 Microsoft Defender for Endpoint 代理或无代理扫描,不再依赖于 MMA 或 AMA。
预计弃用时间:2024 年 7 月
应安全配置计算机
说明:修复计算机上安全配置的漏洞,以保护其免受攻击。 (相关策略:应修正计算机上安全配置中的漏洞)。
此建议可帮助你改善服务器安全状况。 Defender for Cloud 通过提供由 Microsoft Defender 漏洞管理提供支持的安全基线来增强 Center for Internet Security (CIS) 基准。 了解详细信息。
严重性:低
应重启计算机以应用安全配置更新
说明:若要应用安全配置更新并防范漏洞,请重新启动计算机。 这项评估仅适用于安装了 Azure Monitor 代理的 Linux 虚拟机。 (无相关策略)
严重性:低
计算机应具有漏洞评估解决方案
说明:Defender for Cloud 定期检查连接的计算机,以确保它们正在运行漏洞评估工具。 使用此建议部署漏洞评估解决方案。 (相关策略:应在虚拟机上启用漏洞评估解决方案)。
严重性:中等
计算机应已解决漏洞结果
说明:解决虚拟机上漏洞评估解决方案的发现。 (相关策略:应在虚拟机上启用漏洞评估解决方案)。
严重性:低
应通过即时网络访问控制来保护虚拟机的管理端口
说明:Defender for Cloud 已确定一些对网络安全组中的管理端口过于宽松的入站规则。 启用实时访问控制,以保护 VM 免受基于 Internet 的暴力攻击。 有关详细信息,请参阅了解实时 (JIT) VM 访问。 (相关策略:应通过即时网络访问控制来保护虚拟机的管理端口)。
严重性:高
应启用 Microsoft Defender for Servers
说明:适用于服务器的 Microsoft Defender 可为服务器工作负载提供实时威胁防护,并生成强化建议以及有关可疑活动的警报。 可以使用此信息快速修复安全问题,并提高服务器的安全性。
修正此建议将导致对服务器的保护产生费用。 如果此订阅中没有任何服务器,则不会产生任何费用。 如果将来在此订阅中创建任何服务器,它将自动受到保护,届时将开始计费。 有关详细信息,请参阅适用于服务器的 Microsoft Defender 简介。 (相关策略:应启用用于服务器的 Azure Defender)。
严重性:高
应在工作区上启用 Microsoft Defender for Servers
说明:适用于服务器的 Microsoft Defender 带来了适用于 Windows 和 Linux 计算机的威胁检测和高级防护功能。 如果订阅上启用了此 Defender 计划,但工作区上未启用,则需要为适用于服务器的 Microsoft Defender 的全部功能付费,但会错过某些权益。 在工作区上启用了适用于服务器的 Microsoft Defender 时,向该工作区报告的所有计算机都将为适用于服务器的 Microsoft Defender 付费,即使它们位于未启用 Defender 计划的订阅中。 除非还在订阅上启用了适用于服务器的 Microsoft Defender,否则这些计算机将无法利用实时 VM 访问、自适应应用程序控制和 Azure 资源的网络检测。 有关详细信息,请参阅适用于服务器的 Microsoft Defender 简介。 (无相关策略)
严重性:中等
应在受支持的 Windows 虚拟机上启用安全启动
说明:在受支持的 Windows 虚拟机上启用安全启动,以减少对启动链的恶意和未经授权的更改。 启用后,只允许运行受信任的启动加载程序、内核和内核驱动程序。 此评估仅适用于已启用受信任启动的 Windows 虚拟机。
- 受信任启动要求创建新的虚拟机。
- 如果现有的虚拟机在最初创建时未配置受信任启动,则无法在其上启用受信任启动。
详细了解 Azure 虚拟机的受信任启动。 (无相关策略)
严重性:低
Service Fabric 群集应将 ClusterProtectionLevel 属性设置为 EncryptAndSign
说明:Service Fabric 使用主要群集证书为节点之间的通信提供三个保护级别(无、签名和 EncryptAndSign)。 请设置保护级别,确保节点到节点的所有消息经过加密和数字签名。 (相关策略:Service Fabric 群集应将 ClusterProtectionLevel 属性设置为 EncryptAndSign)。
严重性:高
Service Fabric 群集应仅使用 Azure Active Directory 进行客户端身份验证
说明:只使用 Service Fabric 中的 Azure Active Directory 进行客户端身份验证(相关策略:Service Fabric 群集应只使用 Azure Active Directory 进行客户端身份验证)。
严重性:高
应在虚拟机规模集上安装系统更新
说明:安装缺少的系统安全更新和关键更新,保护 Windows 和 Linux 虚拟机规模集。 (相关策略:应在虚拟机规模集上安装系统更新)。
由于 Azure Monitor 代理 (AMA) 和 Log Analytics 代理(也称为 Microsoft Monitoring Agent (MMA))将在 Defender for Servers 中逐步淘汰,因此,依赖于这些代理的建议将删除,如下所示。 Defender for Servers 功能将使用 Microsoft Defender for Endpoint 代理或无代理扫描,不再依赖于 MMA 或 AMA。
预计弃用时间:2024 年 7 月。 这些建议被 新建议所取代。
严重性:高
应在计算机上安装系统更新
说明:安装缺少的系统安全性和关键更新来保护 Windows 和 Linux 虚拟机和计算机(相关策略:应在计算机上安装系统更新)。
由于 Azure Monitor 代理 (AMA) 和 Log Analytics 代理(也称为 Microsoft Monitoring Agent (MMA))将在 Defender for Servers 中逐步淘汰,因此,依赖于这些代理的建议将删除,如下所示。 Defender for Servers 功能将使用 Microsoft Defender for Endpoint 代理或无代理扫描,不再依赖于 MMA 或 AMA。
预计弃用时间:2024 年 7 月。 这些建议被 新建议所取代。
严重性:高
应在计算机上安装系统更新(由更新中心提供技术支持)
说明:计算机缺少系统、安全和关键更新。 软件更新通常包括安全漏洞的关键补丁。 恶意软件攻击中经常会利用这些漏洞,因此保持软件更新至关重要。 若要安装所有重要补丁并保护你的计算机,请遵循修正步骤。 (无相关策略)
严重性:高
虚拟机和虚拟机规模集应启用主机中加密
说明:使用主机加密可对虚拟机和虚拟机规模集数据进行端到端加密。 主机中加密可对临时磁盘和 OS/数据磁盘缓存实现静态加密。 启用主机中加密后,将使用平台管理的密钥对临时 OS 磁盘进行加密。 OS/数据磁盘缓存使用客户管理的密钥或平台管理的密钥进行静态加密,具体取决于在磁盘中选择的加密类型。 有关详细信息,使用 Azure 门户通过主机加密来启用端到端加密。 (相关策略:虚拟机和虚拟机规模集应启用主机加密)。
严重性:中等
应将虚拟机迁移到新的 Azure 资源管理器资源
说明:虚拟机(经典)已弃用,这些 VM 应迁移到 Azure 资源管理器。 由于 Azure 资源管理器现具有完整的 IaaS 功能和其他改进,因此我们在 2020 年 2 月 28 日弃用了通过 Azure Service Manager (ASM) 管理 IaaS 虚拟机 (VM) 的功能。 此功能将于 2023 年 3 月 1 日完全停用。
若要查看所有受影响的经典 VM,请确保在“目录 + 订阅”选项卡下选择所有 Azure 订阅。
有关此工具和迁移的可用资源和信息:虚拟机(经典)弃用概述,迁移的分步过程和可用的 Microsoft 资源。有关迁移到 Azure 资源管理器迁移工具的详细信息。使用 PowerShell 迁移到 Azure 资源管理器迁移工具。(相关策略:应将虚拟机迁移到新的 Azure 资源管理器资源)。
严重性:高
虚拟机来宾证明状态应为正常
说明:通过向证明服务器发送受信任的日志 (TCGLog) 来执行来宾证明。 服务器使用这些日志来确定引导组件是否可信。 这项评估旨在检测引导链的泄漏,这可能是 bootkit
或 rootkit
感染所导致的。
这项评估仅适用于安装了来宾证明扩展且支持受信任启动的虚拟机。
(无相关策略)
严重性:中等
应使用系统分配的托管标识来部署虚拟机的来宾配置扩展
说明:来宾配置扩展需要系统分配的托管标识。 如果安装了来宾配置扩展,但没有系统分配的托管标识,则此策略作用域内的 Azure 虚拟机是不合规的。 详细了解(相关策略:应使用系统分配的托管标识将来宾配置扩展部署到 Azure 虚拟机)。
严重性:中等
应安全配置虚拟机规模集
说明:在虚拟机规模集上,修正漏洞以保护其免受攻击。 (相关策略:应修正虚拟机规模集上安全配置中的漏洞)。
严重性:高
虚拟机应该加密计算和存储资源之间的临时磁盘、缓存和数据流
说明:默认情况下,虚拟机的 OS 和数据磁盘使用平台管理的密钥进行静态加密;临时磁盘和数据缓存不加密,数据在计算和存储资源之间流动时不加密。 有关 Azure 中不同磁盘加密技术的比较,请参阅托管磁盘加密选项概述。 使用 Azure 磁盘加密来加密所有这些数据。 如果存在以下情况,请忽略此建议:
你正在使用主机加密功能,或者托管磁盘上的服务器端加密满足你的安全要求。 若要了解详细信息,请参阅 Azure 磁盘存储的服务器端加密。
(相关策略:应在虚拟机上应用磁盘加密)
严重性:高
应在受支持的虚拟机上启用 vTPM
说明:在受支持的虚拟机上启用虚拟 TPM 设备,以帮助实现测量的启动和其他需要 TPM 的 OS 安全功能。 启用后,vTPM 可用于证明引导完整性。 此评估仅适用于已启用受信任启动的虚拟机。
- 受信任启动要求创建新的虚拟机。
- 如果现有的虚拟机在最初创建时未配置受信任启动,则无法在其上启用受信任启动。
详细了解 Azure 虚拟机的受信任启动。 (无相关策略)
严重性:低
应修正 Linux 虚拟机上的安全配置漏洞(由来宾配置提供支持)
说明:修正 Linux 计算机上的安全配置漏洞,以保护它们免受攻击。 (相关策略:Linux 虚拟机应符合 Azure 安全基线的要求)。
严重性:低
应修正 Windows 虚拟机上的安全配置漏洞(由来宾配置提供支持)
说明:修正 Windows 计算机上的安全配置漏洞,以保护它们免受攻击。 (无相关策略)
严重性:低
应在计算机上启用 Microsoft Defender 攻击防护
说明:Windows Defender 攻击防护使用 Azure Policy 来宾配置代理。 攻击防护服务具有 4 个组件,旨在锁定设备来阻隔各种攻击途径,并阻止恶意软件攻击中常用的行为,同时让企业能够平衡其安全风险和生产力要求(仅限 Windows)。 (相关策略:审核未启用 Windows Defender 攻击防护的 Windows 计算机)。
严重性:中等
Windows 虚拟机应启用 Azure 磁盘加密或 EncryptionAtHost
说明:默认情况下,虚拟机的 OS 和数据磁盘使用平台管理的密钥进行静态加密;临时磁盘和数据缓存不加密,数据在计算和存储资源之间流动时不加密。 请使用 Azure 磁盘加密或 EncryptionAtHost 对所有这些数据进行加密。 访问托管磁盘加密选项概述,以比较加密产品/服务。 此策略需要将两个先决条件部署到策略分配范围。 有关详细信息,请访问 “了解 Azure 计算机配置”。 (相关策略:[预览]:Linux 虚拟机应启用 Azure 磁盘加密或 EncryptionAtHost)。
替换旧建议“虚拟机应加密计算和存储资源之间的临时磁盘、缓存和数据流”。 通过此建议,可以审核 VM 加密符合性。
严重性:高
应将 Windows Web 服务器配置为使用安全通信协议
说明:为了保护通过 Internet 进行通信的信息的隐私,Web 服务器应使用最新版本的行业标准加密协议,即传输层安全性 (TLS)。 TLS 使用安全证书对计算机之间的连接进行加密来保护网络上的通信。 (相关策略:审核未使用安全通信协议的 Windows Web 服务器)。
严重性:高
AWS 计算建议
安装修补程序后,由 Systems Manager 管理的 Amazon EC2 实例应具有 COMPLIANT 的修补程序合规性状态
说明:此控制检查 Amazon EC2 Systems Manager 修补程序符合性是否合规或实例上安装修补程序后NON_COMPLIANT符合性状态。 它仅检查 AWS Systems Manager 修补程序管理器管理的实例。 它不会检查修补程序是否在 PCI DSS 要求“6.2”规定的 30 天限制内应用。 它还不会验证应用的修补程序是否被归类为安全修补程序。 你应使用适当的基线设置创建修补组,并确保范围内的系统由 Systems Manager 中的这些修补程序组管理。 有关修补程序组的详细信息,请参阅 AWS Systems Manager 用户指南。
严重性:中等
Amazon EFS 应配置为使用 AWS KMS 静态加密文件数据
说明:此控件检查 Amazon Elastic File System 是否已配置为使用 AWS KMS 加密文件数据。 在以下情况下,检查失败:“Encrypted”在 DescribeFileSystems 响应中设置为“false”。 DescribeFileSystems 响应中的“KmsKeyId”密钥与 efs-encrypted-check 的 KmsKeyId 参数不匹配。 请注意,此控件不使用 efs-encrypted-check 的“KmsKeyId”参数。 它仅检查“已加密”的值。 有关 Amazon EFS 中敏感数据的额外安全层,应创建加密文件系统。 Amazon EFS 支持静态加密文件系统。 你可以在创建 Amazon EFS 文件系统时启用静态数据加密。 若要了解有关 Amazon EFS 加密的详细信息,请参阅 Amazon Elastic File System 用户指南中 Amazon EFS 中的数据加密。
严重性:中等
Amazon EFS 卷应在备份计划中
说明:此控件检查 Amazon Elastic File System (Amazon EFS) 文件系统是否已添加到 AWS 备份中的备份计划。 如果备份计划中不包含 Amazon EFS 文件系统,则控制将失败。 在备份计划中包含 EFS 文件系统有助于保护数据不被删除以及数据丢失。
严重性:中等
应启用应用程序负载均衡器删除保护
说明:此控件检查应用程序负载均衡器是否已启用删除保护。 如果未配置删除保护,则控件将失败。 启用删除保护以防止删除应用程序负载均衡器。
严重性:中等
与负载均衡器关联的自动缩放组应使用运行状况检查
说明:与负载均衡器关联的自动缩放组正在使用弹性负载均衡运行状况检查。 PCI DSS 不需要负载均衡或高可用性配置。 AWS 最佳做法建议此操作。
严重性:低
AWS 帐户应已启用 Azure Arc 自动预配
说明:若要充分了解来自 Microsoft Defender for server 的安全内容,EC2 实例应连接到 Azure Arc。若要确保所有符合条件的 EC2 实例自动接收 Azure Arc,请在 AWS 帐户级别启用从 Defender for Cloud 自动预配。 详细了解 Azure Arc 和适用于服务器的 Microsoft Defender。
严重性:高
CloudFront 分发应配置了源故障转移
说明:此控件检查 Amazon CloudFront 分发是否配置有两个或更多源的源组。 CloudFront 源故障转移可以提高可用性。 如果主源不可用或返回特定的 HTTP 响应状态代码,则源故障转移会自动将流量重定向到辅助源。
严重性:中等
CodeBuild GitHub 或 Bitbucket 源存储库 URL 应使用 OAuth
说明:此控件检查 GitHub 或 Bitbucket 源存储库 URL 是否包含个人访问令牌或用户名和密码。 身份验证凭据绝不应以明文形式存储或传输,也不会显示在存储库 URL 中。 应使用 OAuth 授予访问 GitHub 或 Bitbucket 存储库的授权,而不是使用个人访问令牌或用户名和密码。 使用个人访问令牌或用户名和密码可能会在意外数据泄露和未经授权的访问中泄露凭据。
严重性:高
CodeBuild 项目环境变量不应包含凭据
说明:此控件检查项目是否包含环境变量 AWS_ACCESS_KEY_ID
和 AWS_SECRET_ACCESS_KEY
。
身份验证凭据 AWS_ACCESS_KEY_ID
和 AWS_SECRET_ACCESS_KEY
不应以明文形式存储,因为这可能会导致意外数据泄露和未经授权的访问。
严重性:高
应静态加密 DynamoDB 加速器 (DAX) 群集
说明:此控件检查 DAX 群集是否静态加密。 静态加密数据可降低未通过 AWS 身份验证的用户访问磁盘上存储的数据的风险。 加密添加另一组访问控制,以限制未经授权的用户访问数据的能力。 例如,需要在读取数据之前使用 API 权限对数据进行解密。
严重性:中等
DynamoDB 表应根据需要自动缩放容量
说明:此控件检查 Amazon DynamoDB 表是否可以根据需要缩放其读取和写入容量。 如果表使用按需容量模式或配置了自动缩放的预配模式,则此控件将通过。 根据需要缩放容量可避免限制异常,有助于保持应用程序的可用性。
严重性:中等
EC2 实例应连接到 Azure Arc
说明:将 EC2 实例连接到 Azure Arc,以便完全了解 Microsoft Defender for Servers 安全内容。 了解有关 Azure Arc 的详细信息,以及关于混合云环境中的适用于服务器的 Microsoft Defender。
严重性:高
EC2 实例应由 AWS Systems Manager 管理
说明:在实例上安装修补程序后,Amazon EC2 Systems Manager 修补程序符合性的状态为“COMPLIANCE”或“NON_COMPLIANT”。 仅检查 AWS Systems Manager 修补程序管理器管理的实例。 不会检查在 PCI DSS 要求“6”规定的 30 天限制内应用的修补程序。
严重性:中等
应在 EC2 上解决 EDR 配置问题
说明:若要保护虚拟机免受最新威胁和漏洞的影响,请解决已安装的终结点检测和响应(EDR)解决方案的所有已识别的配置问题。 目前,此建议仅适用于启用了 Microsoft Defender for Endpoint 的资源。
如果你有 Defender for Servers 计划 2 或 Defender CSPM 计划,则可以使用此无代理终结点建议。 详细了解 无代理终结点保护建议。
- 这些新的无代理终结点建议支持 Azure 和多云计算机。 不支持本地服务器。
- 这些新的无代理终结点建议取代了应在计算机上安装现有建议 Endpoint Protection(预览版),并且应在计算机上解决 Endpoint Protection 运行状况问题(预览版)。
- 这些较旧的建议使用 MMA/AMA 代理,并将被替换,因为代理在 Defender for Servers 中逐步淘汰。
严重性:高
应在 EC2 上安装 EDR 解决方案
说明:若要保护 EC2,请安装终结点检测和响应(EDR)解决方案。 EDR 有助于阻止、检测、调查和响应高级威胁。 请使用 Microsoft Defender for Servers 部署 Microsoft Defender for Endpoint。 如果资源被归类为“不正常”,则它未安装受支持的 EDR 解决方案。 如果安装了无法通过此建议发现的 EDR 解决方案,则可以免除该解决方案。
如果你有 Defender for Servers 计划 2 或 Defender CSPM 计划,则可以使用此无代理终结点建议。 详细了解 无代理终结点保护建议。
- 这些新的无代理终结点建议支持 Azure 和多云计算机。 不支持本地服务器。
- 这些新的无代理终结点建议取代了应在计算机上安装现有建议 Endpoint Protection(预览版),并且应在计算机上解决 Endpoint Protection 运行状况问题(预览版)。
- 这些较旧的建议使用 MMA/AMA 代理,并将被替换,因为代理在 Defender for Servers 中逐步淘汰。
严重性:高
由 Systems Manager 管理的实例的关联合规性状态应为 COMPLIANT
说明:此控件检查在实例上运行关联后 AWS Systems Manager 关联符合性的状态是否符合或NON_COMPLIANT。 如果关联合规性状态为 COMPLIANT,则此控件通过。 状态管理器关联是分配给托管实例的配置。 该配置定义要在实例上维护的状态。 例如,关联可以指定必须在实例上安装和运行防病毒软件,或者必须关闭某些端口。 创建一个或多个状态管理器关联后,你可在控制台中或响应 AWS CLI 命令或相应的系统管理器 API 操作中立即获取合规性状态信息。 对于关联,“配置”符合性显示符合性或不符合的状态,以及分配给关联(例如“严重”或“中等”)的严重性级别。 若要详细了解 State Manager 关联符合性,请参阅 AWS Systems Manager 用户指南中的“关于状态管理器关联符合性 ”。 你必须为 Systems Manager 关联配置范围内 EC2 实例。 还必须为修补程序供应商的安全分级配置修补程序基线,并设置自动批准日期以满足 PCI DSS 3.2.1 要求 6.2。 有关如何创建关联的详细信息指南,请参阅 AWS Systems Manager 用户指南中的“创建关联”。 有关在 Systems Manager 中使用修补的详细信息,请参阅 AWS Systems Manager 用户指南中的 AWS Systems Manager 修补程序管理器 。
严重性:低
Lambda 函数应配置有死信队列
说明:此控件检查 Lambda 函数是否配置了死信队列。 如果没有为 Lambda 函数配置死信队列,则此控件将失败。 作为故障目标的替代方法,可以使用死信队列来配置函数,以便保存放弃的事件以供进一步处理。 死信队列的作用与故障目标相同。 当某个事件的所有处理尝试失败或未进行处理而过期,将使用死信队列。 使用死信队列可以回顾错误或对 Lambda 函数的失败请求,以便调试或识别异常行为。 从安全角度来看,务必了解函数失败的原因,并确保函数不会因此导致数据损坏或破坏数据安全。 例如,如果函数无法与基础资源通信,则这可能是网络中其他位置的拒绝服务 (DoS) 攻击的现象。
严重性:中等
Lambda 函数应使用受支持的运行时
说明:此控件检查运行时的 Lambda 函数设置是否与为每个语言支持的运行时设置的预期值匹配。 此控件检查以下运行时:nodejs14.x、nodejs12.x、nodejs10.x、python3.8、python3.7、python3.6、ruby2.7、ruby2.5、java11、java8.al2、go1.x、dotnetcore3.1、dotnetcore2.1 Lambda 运行时 围绕受维护和安全更新约束的操作系统、编程语言和软件库的组合而构建。 当不再支持运行时组件的安全更新程序时,Lambda 会弃用运行时。 即使无法创建使用已弃用的运行时的函数,该函数仍可用于处理调用事件。 确保 Lambda 函数是最新的,并且不使用过时的运行时环境。 若要详细了解此控件检查用于受支持语言的受支持运行时,请参阅 AWS Lambda 开发人员指南中的 AWS Lambda 运行时。
严重性:中等
应通过即时网络访问控制来保护 EC2 实例的管理端口
说明:Microsoft Defender for Cloud 确定了网络中管理端口的某些过于宽松的入站规则。 启用即时访问控制,以保护实例免受基于 Internet 的暴力攻击。 了解详细信息。
严重性:高
应删除未使用的 EC2 安全组
说明:安全组应附加到 Amazon EC2 实例或 ENI。 正常查找可能表明存在未使用的 Amazon EC2 安全组。
严重性:低
GCP 计算建议
Compute Engine VM 应使用容器优化 OS
说明:此建议评估键值对“imageType”:“COS”的节点池的配置属性。
严重性:低
应在 GCP 虚拟机上解决 EDR 配置问题
说明:若要保护虚拟机免受最新威胁和漏洞的影响,请解决已安装的终结点检测和响应(EDR)解决方案的所有已识别的配置问题。 目前,此建议仅适用于启用了 Microsoft Defender for Endpoint 的资源。
如果你有 Defender for Servers 计划 2 或 Defender CSPM 计划,则可以使用此无代理终结点建议。 详细了解 无代理终结点保护建议。
- 这些新的无代理终结点建议支持 Azure 和多云计算机。 不支持本地服务器。
- 这些新的无代理终结点建议取代了应在计算机上安装现有建议 Endpoint Protection(预览版),并且应在计算机上解决 Endpoint Protection 运行状况问题(预览版)。
- 这些较旧的建议使用 MMA/AMA 代理,并将被替换,因为代理在 Defender for Servers 中逐步淘汰。
严重性:高
应在 GCP 虚拟机上安装 EDR 解决方案
说明:若要保护虚拟机,请安装终结点检测和响应(EDR)解决方案。 EDR 有助于阻止、检测、调查和响应高级威胁。 请使用 Microsoft Defender for Servers 部署 Microsoft Defender for Endpoint。 如果资源被归类为“不正常”,则它未安装受支持的 EDR 解决方案。 如果安装了无法通过此建议发现的 EDR 解决方案,则可以免除该解决方案。
如果你有 Defender for Servers 计划 2 或 Defender CSPM 计划,则可以使用此无代理终结点建议。 详细了解 无代理终结点保护建议。
- 这些新的无代理终结点建议支持 Azure 和多云计算机。 不支持本地服务器。
- 这些新的无代理终结点建议取代了应在计算机上安装现有建议 Endpoint Protection(预览版),并且应在计算机上解决 Endpoint Protection 运行状况问题(预览版)。
- 这些较旧的建议使用 MMA/AMA 代理,并将被替换,因为代理在 Defender for Servers 中逐步淘汰。
严重性:高
确保为 VM 实例启用“阻止项目范围内的 SSH 密钥”
说明:建议使用特定于实例的 SSH 密钥,而不是使用通用/共享项目范围的 SSH 密钥来访问实例。 项目范围的 SSH 密钥存储在计算/项目元数据中。 项目范围的 SSH 密钥可用于登录到项目中的所有实例。 使用项目范围的 SSH 密钥可简化 SSH 密钥管理,但如果遭到入侵,将带来可能影响项目内所有实例的安全风险。 建议使用特定于实例的 SSH 密钥,如果 SSH 密钥遭到入侵,则可以限制攻击面。
严重性:中等
确保计算实例在已启用受防护的 VM 的情况下启动
说明:为了防范高级威胁并确保 VM 上的启动加载程序和固件已签名和未采样,建议在启用受防护的 VM 的情况下启动计算实例。
受防护的 VM 是由一组安全控制强化的 Google Cloud Platform 上的 VM,可帮助防御 rootkits
和 bootkits
防御。
受防护的 VM 为 Compute Engine VM 实例提供可验证的完整性,因此可确信实例未受到启动或内核级恶意软件或 Rootkit 的入侵。
受防护的 VM 的可验证完整性是通过使用安全启动、已启用虚拟受信任平台模块 (vTPM) 的受度量启动和完整性监视来实现的。
受防护的 VM 实例运行使用 Google 证书颁发机构签名和验证的固件,确保实例的固件未修改并建立安全启动的信任根。
完整性监视可帮助了解 VM 实例的状态并做出决策,而受防护的 VM vTPM 通过执行创建已知良好启动基线(称为完整性策略基线)所需的度量来启用受度量启动。
完整性策略基线用于与后续 VM 启动的度量进行比较,以确定是否有任何更改。
安全启动验证所有启动组件的数字签名并在签名验证失败时停止启动过程,帮助确保系统仅运行正版软件。
严重性:高
确保没有为 VM 实例启用“启用连接到串行端口”
说明:与串行端互通常称为串行控制台,这类似于使用终端窗口,在该输入和输出完全处于文本模式,并且没有图形界面或鼠标支持。 如果在实例上启用交互式串行控制台,客户端可以尝试从任何 IP 地址连接到该实例。 因此,应禁用交互式串行控制台支持。 一个虚拟机实例有四个虚拟串行端口。 与串行端互类似于使用终端窗口,在该输入和输出完全处于文本模式,并且没有图形界面或鼠标支持。 实例的操作系统、BIOS 和其他系统级实体经常将输出写入串行端口,并且可以接受命令或提示回答等输入。 通常,这些系统级实体使用第一个串行端口(端口 1),串行端口 1 通常称为串行控制台。 交互式串行控制台不支持基于 IP 的访问限制,例如 IP 允许列表。 如果在实例上启用交互式串行控制台,客户端可以尝试从任何 IP 地址连接到该实例。 这使得任何人都能够在知道正确的 SSH 密钥、用户名、项目 ID、区域和实例名称的情况下连接到该实例。 因此,应禁用交互式串行控制台支持。
严重性:中等
确保将 Cloud SQL PostgreSQL 实例的“log_duration”数据库标志设置为“on”
说明:启用log_hostname设置会导致记录每个已完成语句的持续时间。 这不会记录查询的文本,因此行为与log_min_duration_statement标志不同。 会话启动后,无法更改此参数。 监视执行查询所花费的时间对于识别任何占用资源的查询和评估服务器性能至关重要。 可以采取进一步措施,例如负载均衡和使用优化查询,以确保服务器的性能和稳定性。 此建议适用于 PostgreSQL 数据库实例。
严重性:低
确保将 Cloud SQL PostgreSQL 实例的“log_executor_stats”数据库标志设置为“off”
说明:PostgreSQL 执行程序负责执行 PostgreSQL 规划器移交的计划。 执行程序以递归方式处理计划以提取所需的行集。 “log_executor_stats”标志控制在每个查询的 PostgreSQL 日志中包含 PostgreSQL 执行程序性能统计信息。 “log_executor_stats”标志启用用于记录 PostgreSQL 执行程序性能统计信息的粗略分析方法,尽管这可用于故障排除,但它可能会显著增加日志数,并产生性能开销。 此建议适用于 PostgreSQL 数据库实例。
严重性:低
确保将 Cloud SQL PostgreSQL 实例的“log_min_error_statement”数据库标志设置为“Error”或更严格的值
说明:“log_min_error_statement”标志定义被视为错误语句的最低消息严重性级别。 错误语句的消息随 SQL 语句一起记录。 有效值包括“DEBUG5”、“DEBUG4”、“DEBUG3”、“DEBUG2”、“DEBUG1”、“INFO”、“NOTICE”、“WARNING”、“ERROR”、“LOG”、“FATAL”和“PANIC”。每个严重性级别包括上述后续级别。 请确保设置为 ERROR 或更严格的值。 审核有助于解决操作问题,还可以进行取证分析。 如果未将“log_min_error_statement”设置为正确的值,则消息可能不会被适当分类为错误消息。 将常规日志消息视为错误消息很难找到实际错误,并且仅考虑更严格的严重性级别,因为错误消息可能会跳过实际错误来记录其 SQL 语句。 应将“log_min_error_statement”标志应设置为“ERROR”或更严格的值。 此建议适用于 PostgreSQL 数据库实例。
严重性:低
确保将 Cloud SQL PostgreSQL 实例的“log_parser_stats”数据库标志设置为“off”
说明:PostgreSQL 规划器/优化器负责分析和验证服务器收到的每个查询的语法。 如果语法正确,将生成“分析树”,否则将生成错误。 “log_parser_stats”标志控制在每个查询的 PostgreSQL 日志中包含分析程序性能统计信息。 “log_parser_stats”标志可实现用于日志记录分析器性能统计信息的粗略分析方法,尽管这可用于故障排除,但它可能会显著增加日志数量,并产生性能开销。 此建议适用于 PostgreSQL 数据库实例。
严重性:低
确保将 Cloud SQL PostgreSQL 实例的“log_planner_stats”数据库标志设置为“off”
说明:可以通过多种方式执行相同的 SQL 查询,但仍产生不同的结果。 PostgreSQL 规划器/优化器负责为每个查询创建最佳执行计划。 “log_planner_stats”标志控制在每个查询的 PostgreSQL 日志中包含 PostgreSQL 规划器性能统计信息。 “log_planner_stats”标志启用用于记录 PostgreSQL 规划器性能统计信息的粗略分析方法,尽管这可用于故障排除,但它可能会显著增加日志数量并产生性能开销。 此建议适用于 PostgreSQL 数据库实例。
严重性:低
确保将 Cloud SQL PostgreSQL 实例的“log_statement_stats”数据库标志设置为“off”
说明:“log_statement_stats”标志控制在每个查询的 PostgreSQL 日志中包含 SQL 查询的端到端性能统计信息。 无法使用其他模块统计信息(log_parser_stats、log_planner_stats、log_executor_stats)来启用此功能。 “log_statement_stats”标志可启用一种粗略的分析方法,用于记录 SQL 查询的端到端性能统计信息。 这对于故障排除很有用,但可能会显著增加日志数,并产生性能开销。 此建议适用于 PostgreSQL 数据库实例。
严重性:低
确保计算实例没有公共 IP 地址
说明:不应将计算实例配置为具有外部 IP 地址。
为了减少攻击面,计算实例不应具有公共 IP 地址。 相反,应在负载均衡器后面配置实例,以最大程度地减少实例对 Internet 的暴露。
应排除 GKE 创建的实例,因为其中一些实例具有外部 IP 地址,并且无法通过编辑实例设置来更改。
这些 VM 的名称 gke-
以开头并标记 goog-gke-node
。
严重性:高
确保未将实例配置为使用默认服务帐户
说明:建议将实例配置为不使用默认计算引擎服务帐户,因为它对项目具有编辑器角色。
默认的 Compute Engine 服务帐户对项目具有“编辑者”角色,该角色允许对大多数 Google Cloud 服务进行读写访问。
若要防止 VM 遭到入侵,并防止攻击者访问所有项目,建议不要使用默认的计算引擎服务帐户。
相反,应创建一个新的服务帐户,并仅分配实例所需的权限。
默认计算引擎服务帐户命名 [PROJECT_NUMBER]- compute@developer.gserviceaccount.com
。
应排除由 GKE 创建的 VM。 这些 VM 的名称 gke-
以开头并标记 goog-gke-node
。
严重性:高
确保未将实例配置为使用能够完全访问所有云 API 的默认服务帐户
说明:为了支持最低特权原则并防止潜在的特权升级,建议将实例分配到默认服务帐户“计算引擎默认服务帐户”,范围为“允许对所有云 API 完全访问权限”。除了可以选择性地创建、管理和使用用户托管的自定义服务帐户之外,Google 计算引擎还提供默认服务帐户“计算引擎默认服务帐户”,供实例访问必要的云服务。
“Compute Engine 默认服务帐户”分配有“项目编辑者”角色,因此,该服务帐户几乎具有所有云服务的所有功能,但计费除外。 但是,当分配给实例的“计算引擎默认服务帐户”时,它可以在三个范围内运行。
- 允许默认访问:仅允许运行实例所需的最低访问权限(最低特权)。
- 允许对所有云 API 进行完全访问:允许完全访问所有云 API/服务(访问过多)。
- 为每个 API 设置访问权限:允许实例管理员仅选择执行实例所需的特定业务功能的 API。
使用“计算引擎默认服务帐户”配置实例时,根据分配给用户(s)访问实例的 IAM 角色,根据分配给用户(s)访问实例的 IAM 角色,它可能允许用户执行用户不应执行的云操作/API 调用,从而导致权限升级成功。
应排除由 GKE 创建的 VM。 这些 VM 的名称 gke-
以开头并标记 goog-gke-node
。
严重性:中等
确保未在实例上启用 IP 转发
说明:除非数据包的源 IP 地址与实例的 IP 地址匹配,否则计算引擎实例无法转发数据包。 同样,GCP 不会传递目标 IP 地址与接收数据包的实例的 IP 地址不同的数据包。 但是,如果要使用实例来帮助路由数据包,则这两种功能都是必需的。 应禁用数据包转发,以防止数据丢失或信息泄露。 除非数据包的源 IP 地址与实例的 IP 地址匹配,否则计算引擎实例无法转发数据包。 同样,GCP 不会传递目标 IP 地址与接收数据包的实例的 IP 地址不同的数据包。 但是,如果要使用实例来帮助路由数据包,则这两种功能都是必需的。 若要启用此源和目标 IP 检查,请禁用 canIpForward 字段,该字段允许实例使用非匹配目标或源 IP 发送和接收数据包。
严重性:中等
确保将 Cloud SQL PostgreSQL 实例的“log_checkpoints”数据库标志设置为“on”
说明:确保将 Cloud SQL PostgreSQL 实例的 log_checkpoints 数据库标志设置为 on。 启用 log_checkpoints 会导致在服务器日志中记录检查点和重启点。 日志消息中包含一些统计信息,包括写入的缓冲区数和写入它们所用的时间。 此参数只能在 postgresql.conf 文件中或服务器命令行上设置。 此建议适用于 PostgreSQL 数据库实例。
严重性:低
确保将 Cloud SQL PostgreSQL 实例的“log_lock_waits”数据库标志设置为“on”
说明:为 PostgreSQL 实例启用“log_lock_waits”标志将为任何会话等待创建一个日志,该等待时间超过分配的“deadlock_timeout”获取锁的时间。 死锁超时定义了在检查任何条件之前等待锁的时间。 死锁超时的频繁运行可能表明存在潜在问题。 通过启用log_lock_waits标志来记录此类等待,可以用于识别由于锁定延迟而导致的性能不佳,或者如果专门制作的 SQL 正尝试通过持有锁来耗尽资源的时间过多。 此建议适用于 PostgreSQL 数据库实例。
严重性:低
确保将 Cloud SQL PostgreSQL 实例的“log_min_duration_statement”数据库标志设置为“-1”
说明:“log_min_duration_statement”标志定义记录语句总持续时间的语句的最小执行时间(以毫秒为单位)。 确保禁用“log_min_duration_statement”,即设置值 -1。 日志记录 SQL 语句可能包括不应记录在日志中的敏感信息。 此建议适用于 PostgreSQL 数据库实例。
严重性:低
确保正确设置 Cloud SQL PostgreSQL 实例的“log_min_messages”数据库标志
说明:“log_min_error_statement”标志定义被视为错误语句的最低消息严重性级别。 错误语句的消息随 SQL 语句一起记录。 有效值包括“DEBUG5”、“DEBUG4”、“DEBUG3”、“DEBUG2”、“DEBUG1”、“INFO”、“NOTICE”、“WARNING”、“ERROR”、“LOG”、“FATAL”和“PANIC”。每个严重性级别包括上述后续级别。 若要有效关闭日志记录失败语句,请将此参数设置为 PANIC。 ERROR 被视为最佳做法设置。 仅应根据组织的日志记录策略进行更改。 审核有助于解决操作问题,还可以进行取证分析。 如果未将“log_min_error_statement”设置为正确的值,则消息可能不会被适当分类为错误消息。 将常规日志消息视为错误消息会导致难以找到实际错误,同时仅考虑更严格的严重性级别,因为错误消息可能会跳过实际错误来记录其 SQL 语句。 应根据组织的日志记录策略设置“log_min_error_statement”标志。 此建议适用于 PostgreSQL 数据库实例。
严重性:低
确保 Cloud SQL PostgreSQL 实例的“log_temp_files”数据库标志设置为“0”
说明:PostgreSQL 可以在这些操作超过“work_mem”时为操作创建临时文件,例如排序、哈希和临时查询结果。“log_temp_files”标志控制日志记录名称和删除时的文件大小。 将“log_temp_files”配置为 0 会导致记录所有临时文件信息,而正值仅记录大小大于或等于指定千字节数的文件。 如果值为“-1”,则禁用临时文件信息日志记录。 如果未记录所有临时文件,则可能更难确定可能由于应用程序编码不佳或故意资源不足尝试而导致的潜在性能问题。
严重性:低
确保使用客户提供的加密密钥对关键 VM 的 VM 磁盘进行加密
说明:客户提供的加密密钥(CSEK)是 Google 云存储和 Google 计算引擎中的一项功能。 如果你提供自己的加密密钥,Google 会使用你的密钥来保护 Google 生成的用于加密和解密你的数据的密钥。 默认情况下,Google Compute Engine 会对所有静态数据进行加密。 Compute Engine 会处理和管理此加密,你无需执行任何其他操作。 但是,如果你想自己控制和管理此加密,可以提供自己的加密密钥。 默认情况下,Google Compute Engine 会对所有静态数据进行加密。 Compute Engine 会处理和管理此加密,你无需执行任何其他操作。 但是,如果你想自己控制和管理此加密,可以提供自己的加密密钥。 如果你提供自己的加密密钥,Compute Engine 会使用你的密钥来保护 Google 生成的用于加密和解密数据的密钥。 只有能够提供正确密钥的用户才能使用受客户提供的加密密钥保护的资源。 Google 不会将密钥存储在其服务器上,并且无法访问受保护的数据,除非你提供密钥。 这也意味着,如果忘记或丢失密钥,则 Google 无法恢复密钥或恢复使用丢失密钥加密的任何数据。 至少业务关键型 VM 应使用 CSEK 加密 VM 磁盘。
严重性:中等
GCP 项目应已启用 Azure Arc 自动预配
说明:若要全面了解来自 Microsoft Defender for servers 的安全内容,应将 GCP VM 实例连接到 Azure Arc。若要确保所有符合条件的 VM 实例自动接收 Azure Arc,请在 GCP 项目级别启用从 Defender for Cloud 自动预配。 详细了解 Azure Arc 和适用于服务器的 Microsoft Defender。
严重性:高
GCP VM 实例应连接到 Azure Arc
说明:将 GCP 虚拟机连接到 Azure Arc,以便完全了解 Microsoft Defender for Servers 安全内容。 了解有关 Azure Arc 的详细信息,以及关于混合云环境中的适用于服务器的 Microsoft Defender。
严重性:高
GCP VM 实例应安装 OS 配置代理
说明:若要使用 Azure Arc 自动预配接收完整的 Defender for Servers 功能,GCP VM 应启用 OS 配置代理。
严重性:高
应启用 GKE 群集的自动修复功能
说明:此建议评估键值对“key”:“autoRepair”,“value”:true 的节点池的管理属性。
严重性:中等
应启用 GKE 群集的自动升级功能
说明:此建议评估键值对“key”:“autoUpgrade”,“value”:true 的节点池的管理属性。
严重性:高
应启用对 GKE 群集的监视
说明:此建议评估群集的 monitoringService 属性是否包含云监视应用于写入指标的位置。
严重性:中等