适用于 Azure Database for PostgreSQL 单一服务器的 Azure 安全基线
此安全基线将 Azure 安全基准版本 1.0 中的指导应用于 Azure Database for PostgreSQL 单一服务器。 Azure 安全基准提供有关如何在 Azure 上保护云解决方案的建议。 内容按“安全控制”分组,这些控制根据适用于 Azure Database for PostgreSQL - 单一服务器的 Azure 安全基准和相关指南定义。
可以使用 Microsoft Defender for Cloud 监视此安全基线及其建议。 Azure Policy定义将列在 Microsoft Defender for Cloud 仪表板的“法规合规性”部分中。
当某个部分具有相关的Azure Policy定义时,它们会列在此基线中,以帮助衡量 Azure 安全基准控件和建议的符合性。 某些建议可能需要付费的 Microsoft Defender 计划才能启用某些安全方案。
注意
排除了不适用于 Azure Database for PostgreSQL 单一服务器或 Microsoft 为其责任方的控件。 若要了解 Azure Database for PostgreSQL 单一服务器如何完全映射到 Azure 安全基准,请参阅完整的 Azure Database for PostgreSQL 单一服务器安全基线映射文件。
网络安全
1.1:保护虚拟网络中的 Azure 资源
指南:使用专用终结点为 Azure Database for PostgreSQL 配置专用链接。 使用专用链接可以通过专用终结点连接到 Azure 中的各种 PaaS 服务。 Azure 专用链接实质上是将 Azure 服务引入专用虚拟网络 (VNet) 中。 虚拟网络与 PostgreSQL 实例之间的流量将遍历 Microsoft 主干网络。
或者,你可以使用虚拟网络服务终结点保护和限制对 Azure Database for PostgreSQL 实现的网络访问。 虚拟网络规则是一种防火墙安全功能,用于控制是否允许 Azure Database for PostgreSQL 服务器接受从虚拟网络中的特定子网发送的通信。
还可以使用防火墙规则保护 Azure Database for PostgreSQL 服务器。 在指定哪些计算机具有权限之前,服务器防火墙将禁止所有对数据库服务器的访问。 要配置防火墙,请创建防火墙规则,以指定可接受的 IP 地址的范围。 可以在服务器级别创建防火墙规则。
责任:客户
Microsoft Defender for Cloud 监视:Azure 安全基准是 Microsoft Defender for Cloud 的默认策略计划,也是构筑各项 Microsoft Defender for Cloud 建议的基础。 Microsoft Defender for Cloud 会自动启用与此控制相关的 Azure Policy 定义。 与此控制相关的警报可能需要相关服务的 Microsoft Defender 计划。
Azure Policy 内置定义 - Microsoft.DBforPostgreSQL:
名称 (Azure 门户) |
说明 | 效果 | 版本 (GitHub) |
---|---|---|---|
应为 PostgreSQL 服务器启用专用终结点 | 专用终结点连接通过启用到 Azure Database for PostgreSQL 的专用连接来加强安全通信。 配置专用终结点连接,以启用对仅来自已知网络的流量的访问,并防止访问所有其他 IP 地址,包括 Azure 内的地址。 | AuditIfNotExists、Disabled | 1.0.2 |
1.2:监视并记录虚拟网络、子网和网络接口的配置与流量
指南:Azure Database for PostgreSQL 实例在专用终结点中受到保护时,可以在同一虚拟网络中部署虚拟机。 可以使用网络安全组 (NSG) 来降低数据外泄的风险。 启用 NSG 流日志,并将日志发送到存储帐户以进行流量审核。 还可以将 NSG 流日志发送到 Log Analytics 工作区,并使用流量分析来深入了解 Azure 云中的流量流。 流量分析的优势包括能够可视化网络活动、识别热点、识别安全威胁、了解流量流模式,以及查明网络不当配置。
责任:客户
1.4:拒绝与已知恶意的 IP 地址进行通信
指南:使用 Azure Database for PostgreSQL 的高级威胁防护。 高级威胁防护可检测异常活动,指出在访问或利用数据库时的异常行为和可能有害的尝试。
在与 Azure Database for PostgreSQL 实例关联的虚拟网络上启用 DDoS 保护标准,以防范 DDoS 攻击。 使用 Microsoft Defender for Cloud 的集成式威胁情报功能拒绝与已知恶意或未使用的 Internet IP 地址通信。
责任:客户
1.5:记录网络数据包
指南:Azure Database for PostgreSQL 实例在专用终结点中受到保护时,可以在同一虚拟网络中部署虚拟机。 随后可以配置网络安全组 (NSG) 来降低数据外泄的风险。 启用 NSG 流日志,并将日志发送到存储帐户以进行流量审核。 还可以将 NSG 流日志发送到 Log Analytics 工作区,并使用流量分析来深入了解 Azure 云中的流量流。 流量分析的优势包括能够可视化网络活动、识别热点、识别安全威胁、了解流量流模式,以及查明网络不当配置。
责任:客户
1.6:部署基于网络的入侵检测/入侵防护系统 (IDS/IPS)
指南:使用 Azure Database for PostgreSQL 的高级威胁防护。 高级威胁防护可检测异常活动,指出在访问或利用数据库时的异常行为和可能有害的尝试。
责任:客户
1.8:最大程度降低网络安全规则的复杂性和管理开销
指南:对于需要访问 Azure Database for PostgreSQL 实例的资源,请使用虚拟网络服务标记来定义网络安全组或 Azure 防火墙上的网络访问控制。 创建安全规则时,可以使用服务标记代替特定的 IP 地址。 通过在规则的相应源或目标字段中指定服务标记名称(例如 SQL.WestUs),可允许或拒绝相应服务的流量。 Microsoft 会管理服务标记包含的地址前缀,并在地址更改时自动更新服务标记。
注意:Azure Database for PostgreSQL 使用“Microsoft.Sql”服务标记。
责任:客户
1.9:维护网络设备的标准安全配置
指南:通过 Azure Policy 为与 Azure Database for PostgreSQL 实例关联的网络设置和网络资源定义和实现标准安全配置。 使用“Microsoft.DBforPostgreSQL”和“Microsoft.Network”命名空间中的 Azure Policy 别名创建自定义策略,以审核或强制实施 Azure Database for PostgreSQL 实例的网络配置。 还可以使用与网络或 Azure Database for PostgreSQL 实例相关的内置策略定义,例如:
应启用 DDoS 防护标准版
应为 PostgreSQL 数据库服务器启用“强制 TLS 连接”
有关详细信息,请参阅以下参考链接。
责任:客户
1.10:记录流量配置规则
指南:对与 Azure Database for PostgreSQL 实例的网络安全和流量流相关的资源使用标记,以提供元数据和逻辑组织。
使用与标记相关的任何内置 Azure Policy 定义(如“需要标记及其值”),以确保使用标记创建所有资源并向你告知现有的未标记资源。
可以使用 Azure PowerShell 或 Azure CLI 根据资源的标记查找资源或对其执行操作。
责任:客户
1.11:使用自动化工具监视网络资源配置并检测更改
指南:使用 Azure 活动日志监视网络资源配置,并检测与 Azure Database for PostgreSQL 实例相关的网络资源的更改。 在 Azure Monitor 中创建警报,使其在关键网络资源发生更改时触发。
责任:客户
日志记录和监视
有关详细信息,请参阅 Azure 安全基线: 日志记录和监视。
2.2:配置中心安全日志管理
指南:启用诊断设置和服务器日志,并引入日志来聚合 Azure Database for PostgreSQL 实例生成的安全数据。 在 Azure Monitor 中,使用 Log Analytics 工作区来查询和执行分析,并使用 Azure 存储帐户进行长期/存档存储。 或者,可以启用 Microsoft Sentinel 或第三方 SIEM,并在其中加入数据。
责任:客户
2.3:为 Azure 资源启用审核日志记录
指南:在 Azure Database for PostgreSQL 实例上启用诊断设置,以便访问审核、安全和资源日志。 请确保专门启用了 PostgreSQL 审核日志。 自动可用的活动日志包括事件源、日期、用户、时间戳、源地址、目标地址和其他有用元素。 还可以启用 Azure 活动日志诊断设置,并将日志发送到相同的 Log Analytics 工作区或存储帐户。
责任:客户
2.5:配置安全日志存储保留期
指南:在 Azure Monitor 中,对于用于保存 Azure Database for PostgreSQL 日志的 Log Analytics 工作区,根据组织的合规性法规设置保留期。 使用 Azure 存储帐户进行长期/存档存储。
责任:客户
2.6:监视和查看日志
指南:分析和监视 Azure Database for PostgreSQL 实例的日志中是否存在异常行为。 使用 Azure Monitor 的 Log Analytics 检查日志并对日志数据执行查询。 或者,可以启用 Microsoft Sentinel 或第三方 SIEM,并在其中加入数据。
责任:客户
2.7:针对异常活动启用警报
指南:启用 Azure Database for PostgreSQL 的高级威胁防护。 高级威胁防护可检测异常活动,指出在访问或利用数据库时的异常行为和可能有害的尝试。
此外,可以为 PostgreSQL 启用服务器日志和诊断设置,并将日志发送到 Log Analytics 工作区。 将 Log Analytics 工作区加入 Microsoft Sentinel,因为它提供了安全业务流程自动化响应 (SOAR) 解决方案。 这样便可以创建 playbook(自动化解决方案)并将其用于修正安全问题。
责任:客户
标识和访问控制
有关详细信息,请参阅 Azure 安全基线: 标识和访问控制。
3.1:维护管理帐户的清单
指南:维护对 Azure Database for PostgreSQL 实例的控制平面(例如 Azure 门户)拥有管理访问权限的用户帐户清单。 此外,还需维护对 Azure Database for PostgreSQL 实例的数据平面(在数据库本身之内)拥有访问权限的管理帐户清单。 (创建 PostgreSQL 服务器时,请为管理员用户提供凭据。此管理员可用于创建其他 PostgreSQL 用户.)
Azure Database for PostgreSQL 不支持内置基于角色的访问控制,但可以基于特定的资源提供程序操作来创建自定义角色。
责任:客户
3.2:在适用的情况下更改默认密码
指导:Azure Active Directory (Azure AD) 和 Azure Database for PostgreSQL 没有默认密码的概念。
创建 Azure Database for PostgreSQL 资源本身时,Azure 会强制创建具有强密码的管理用户。 但是,创建了 PostgreSQL 实例后,便可以使用所创建的第一个服务器管理员帐户创建其他用户并向他们授予管理访问权限。 创建这些帐户时,请确保为每个帐户配置不同的强密码。
责任:客户
3.3:使用专用管理帐户
指南:根据可访问 Azure Database for PostgreSQL 实例的专用管理帐户的用法,创建标准操作过程。 使用 Microsoft Defender for Cloud 的标识和访问管理功能监视管理帐户的数量。
责任:客户
3.4:使用 Azure Active Directory 单一登录 (SSO)
指南:支持通过以下两种方法登录 Azure Database for PostgreSQL:使用直接在数据库中配置的用户名/密码,以及使用 Azure Active Directory (Azure AD) 标识并利用 Azure AD 令牌进行连接。 使用 Azure AD 令牌时,支持不同的方法,如 Azure AD 用户、Azure AD 组或连接到数据库的 Azure AD 应用程序。
另外,对 PostgreSQL 的控制平面访问可通过 REST API 进行,并且支持 SSO。 要进行身份验证,请将请求的授权标头设置为从 Azure AD 获取的 JSON Web 令牌。
责任:客户
3.5:对所有基于 Azure Active Directory 的访问使用多重身份验证
指南:请启用 Azure Active Directory (Azure AD) 多重身份验证,并遵循 Microsoft Defender for Cloud 标识和访问管理建议。 使用 Azure AD 令牌登录数据库时,这可让你要求对数据库登录进行多重身份验证。
责任:客户
3.6:使用由 Azure 管理的安全工作站执行管理任务
指导:使用配置了多重身份验证的特权访问工作站 (PAW) 来登录并配置 Azure 资源。
责任:客户
3.7:记录来自管理帐户的可疑活动并对其发出警报
指南:启用 Azure Database for PostgreSQL 的高级威胁防护,以生成针对可疑活动的警报。
此外,当环境中出现可疑或不安全的活动时,可以使用 Azure Active Directory (Azure AD) Privileged Identity Management (PIM) 生成日志和警报。
使用 Azure AD 风险检测查看有关风险用户行为的警报和报告。
责任:客户
3.8:仅从批准的位置管理 Azure 资源
指南:使用条件访问命名位置仅允许从 IP 地址范围或国家/地区的特定逻辑分组进行门户和 Azure 资源管理器访问。
责任:客户
3.9:使用 Azure Active Directory
指导:使用 Azure Active Directory (Azure AD) 作为中心身份验证和授权系统。 Azure AD 通过对静态数据和传输中数据使用强加密来保护数据。 Azure AD 还会进行加盐操作、哈希操作并安全地存储用户凭据。
要登录 Azure Database for PostgreSQL,建议使用 Azure AD 和 Azure AD 令牌进行连接。 使用 Azure AD 令牌时,支持不同的方法,如 Azure AD 用户、Azure AD 组或连接到数据库的 Azure AD 应用程序。
Azure AD 凭据还可以用于在管理平面级别(例如,Azure 门户)进行管理,以控制 PostgreSQL 管理员帐户。
责任:客户
3.10:定期审查和协调用户访问
指导:检查 Azure Active Directory (Azure AD) 日志,以帮助发现可能包含具有 Azure Database for PostgreSQL 管理角色的陈旧帐户。 此外,使用 Azure 标识访问评审可高效管理组成员身份、对可用于访问 Azure Database for PostgreSQL 的企业应用程序的访问权限以及角色分配。 应定期(例如每 90 天一次)评审用户访问权限,以确保正确用户持续拥有访问权限。
责任:客户
3.11:监视尝试访问已停用凭据的行为
指导:为 Azure Database for PostgreSQL 和 Azure Active Directory (Azure AD) 启用诊断设置,将所有日志都发送到 Log Analytics 工作区。 在 Log Analytics 中配置所需警报(例如失败的身份验证尝试)。
责任:客户
3.12:针对帐户登录行为偏差发出警报
指南:启用 Azure Database for PostgreSQL 的高级威胁防护,以生成针对可疑活动的警报。
使用 Azure Active Directory (Azure AD) 标识保护和风险检测功能配置对检测到的可疑操作的自动响应。 可以通过 Microsoft Sentinel 启用自动响应,以实现组织的安全响应。
还可以将日志引入 Microsoft Sentinel 中进行进一步调查。
责任:客户
3.13:在支持方案期间为 Microsoft 提供对相关客户数据的访问权限
指南:当前不适用;客户密码箱尚不支持 Azure Database for PostgreSQL。
责任:客户
数据保护
4.1:维护敏感信息的清单
指南:使用标记可帮助跟踪存储或处理敏感信息的 Azure Database for PostgreSQL 实例或相关资源。
责任:客户
4.2:隔离存储或处理敏感信息的系统
指南:为开发、测试和生产实现单独的订阅和/或管理组。 结合使用专用链接、服务终结点和/或防火墙规则,以隔离和限制对 Azure Database for PostgreSQL 实例的网络访问。
责任:客户
4.3:监视和阻止未经授权的敏感信息传输
指南:使用 Azure 虚拟机访问 Azure Database for PostgreSQL 实例时,请使用专用链接、PostgreSQL 网络配置、网络安全组和服务标记来降低数据外泄的可能性。
Microsoft 会管理 Azure Database for PostgreSQL 的底层基础结构,并实施了严格控制来防止客户数据丢失或泄露。
责任:共享
4.4:加密传输中的所有敏感信息
指南:Azure Database for PostgreSQL 支持使用传输层安全性 (TLS)(以前称为安全套接字层 (SSL))将 PostgreSQL 服务器连接到客户端应用程序。 通过在数据库服务器与客户端应用程序之间强制实施 TLS 连接,可以加密服务器与应用程序之间的数据流,有助于防止“中间人”攻击。 在 Azure 门户中,确保默认情况下为所有 Azure Database for PostgreSQL 实例都启用了“强制执行 SSL 连接”。
目前,Azure Database for PostgreSQL 支持的 TLS 版本为 TLS 1.0、TLS 1.1、TLS 1.2。
责任:共享
Microsoft Defender for Cloud 监视:Azure 安全基准是 Microsoft Defender for Cloud 的默认策略计划,也是构筑各项 Microsoft Defender for Cloud 建议的基础。 Microsoft Defender for Cloud 会自动启用与此控制相关的 Azure Policy 定义。 与此控制相关的警报可能需要相关服务的 Microsoft Defender 计划。
Azure Policy 内置定义 - Microsoft.DBforPostgreSQL:
名称 (Azure 门户) |
说明 | 效果 | 版本 (GitHub) |
---|---|---|---|
应为 PostgreSQL 数据库服务器启用“强制 SSL 连接” | Azure Database for MySQL 支持使用安全套接字层 (SSL) 将 Azure Database for MySQL 服务器连接到客户端应用程序。 通过在数据库服务器与客户端应用程序之间强制实施 SSL 连接,可以加密服务器与应用程序之间的数据流,有助于防止“中间人”攻击。 此配置强制始终启用 SSL 以访问数据库服务器。 | Audit、Disabled | 1.0.1 |
4.5:使用有效的发现工具识别敏感数据
指南:数据标识、分类和丢失防护功能尚不可用于 Azure Database for PostgreSQL。 在合规性目的需要时,实现第三方解决方案。
对于 Microsoft 管理的底层平台,Microsoft 会将所有客户内容视为敏感数据,并会全方位地防范客户数据丢失和遭到透露。 为了确保 Azure 中的客户数据保持安全,Microsoft 已实施并维护一套可靠的数据保护控制机制和功能。
责任:共享
4.6:使用 Azure RBAC 控制对资源的访问
指导:使用 Azure 基于角色的访问控制 (Azure RBAC) 来控制对 Azure Database for PostgreSQL 控制平面(如 Azure 门户)的访问。 对于数据平面访问(在数据库本身内),使用 SQL 查询创建用户并配置用户权限。 Azure RBAC 不影响数据库中的用户权限。
责任:客户
4.9:记录对关键 Azure 资源的更改并对此类更改发出警报
指南:结合使用 Azure Monitor 与 Azure 活动,以创建在 Azure Database for PostgreSQL 的生产实例和其他关键或相关资源发生更改时发出的警报。
责任:客户
漏洞管理
5.1:运行自动漏洞扫描工具
指南:请遵循 Microsoft Defender for Cloud 关于保护 Azure Database for PostgreSQL 和相关资源的建议。
Microsoft 对支持 Azure Database for PostgreSQL 的基础系统执行漏洞管理。
责任:共享
清单和资产管理
有关详细信息,请参阅 Azure 安全基线: 清单和资产管理。
6.1:使用自动化资产发现解决方案
指导:使用 Azure Resource Graph 查询和发现订阅中的所有资源(包括 Azure Database for PostgreSQL 实例)。 确保你在租户中拥有适当的(读取)权限,并且可以枚举所有 Azure 订阅,以及订阅中的资源。
责任:客户
6.2:维护资产元数据
指南:将标记应用于 Azure Database for PostgreSQL 实例和其他相关资源,从而将元数据按逻辑组织到分类中。
责任:客户
6.3:删除未经授权的 Azure 资源
指南:使用标记、管理组和单独的订阅(如果适用)来组织和跟踪 Azure Database for PostgreSQL 实例和相关资源。 定期核对清单,确保及时地从订阅中删除未经授权的资源。
责任:客户
6.4:定义并维护已批准的 Azure 资源的清单
指南:不适用;此建议适用于计算资源和整个 Azure。
责任:客户
6.5:监视未批准的 Azure 资源
指南:在 Azure Policy 中使用以下内置策略定义,对可以在客户订阅中创建的资源类型施加限制:
不允许的资源类型
允许的资源类型
此外,请使用 Azure Resource Graph 来查询/发现订阅中的资源。
责任:客户
6.9:仅使用已批准的 Azure 服务
指南:在 Azure Policy 中使用以下内置策略定义,对可以在客户订阅中创建的资源类型施加限制:
- 不允许的资源类型
- 允许的资源类型
有关详细信息,请参阅以下参考链接。
责任:客户
6.11:限制用户与 Azure 资源管理器进行交互的能力
指南:使用 Azure 条件访问,通过为“Microsoft Azure 管理”应用配置“阻止访问”,限制用户与 Azure 资源管理器进行交互的能力。 这可以防止在高安全环境中创建和更改资源,如包含敏感信息的 Azure Database for PostgreSQL 实例。
责任:客户
安全配置
7.1:为所有 Azure 资源建立安全配置
指南:通过 Azure Policy 为 Azure Database for PostgreSQL 实例定义和实现标准安全配置。 使用“Microsoft.DBforPostgreSQL”命名空间中的 Azure Policy 别名创建自定义策略,以审核或强制实施 Azure Database for PostgreSQL 实例的网络配置。 还可以使用与 Azure Database for PostgreSQL 实例相关的内置策略定义,例如:
- 应为 PostgreSQL 数据库服务器启用“强制 TLS 连接”
- 应为 PostgreSQL 数据库服务器启用“记录连接”
有关详细信息,请参阅以下参考链接。
责任:客户
7.3:维护安全的 Azure 资源配置
指南:使用 Azure Policy“[拒绝]”和“[不存在则部署]”对不同的 Azure 资源强制实施安全设置。
责任:客户
7.5:安全存储 Azure 资源的配置
指南:如果对 Azure Database for PostgreSQL 实例和相关资源使用自定义 Azure Policy 定义,请使用 Azure Repos 安全地存储和管理代码。
责任:客户
7.7:部署 Azure 资源的配置管理工具
指南:使用“Microsoft.DBforPostgreSQL”命名空间中的 Azure Policy 别名创建自定义策略,以审核和强制执行系统配置,并针对其发出警报。 另外,开发一个用于管理策略例外的流程和管道。
责任:客户
7.9:为 Azure 资源实施自动配置监视
指南:使用“Microsoft.DBforPostgreSQL”命名空间中的 Azure Policy 别名创建自定义策略,以审核和强制执行系统配置,并针对其发出警报。 使用 Azure Policy [审核]、[拒绝] 和 [不存在时部署] 为 Azure Database for PostgreSQL 实例和相关资源自动强制实施配置。
责任:客户
7.11:安全管理 Azure 机密
指南:对于在 Azure 应用服务上运行的用于访问 Azure Database for PostgreSQL 实例的 Azure 虚拟机或 Web 应用程序,请结合使用托管服务标识与 Azure Key Vault,以简化和保护 Azure Database for PostgreSQL 机密管理。 确保启用 Key Vault 软删除。
责任:客户
7.12:安全自动管理标识
指导:Azure Database for PostgreSQL 服务器支持通过 Azure Active Directory (Azure AD) 身份验证访问数据库。 创建 Azure Database for PostgreSQL 服务器时,需要为管理员用户提供凭据。 此管理员可用于创建其他数据库用户。
对于在 Azure 应用服务上运行的用于访问 Azure Database for PostgreSQL 服务器的 Azure 虚拟机或 Web 应用程序,请结合使用托管服务标识与 Azure Key Vault ,以存储和检索 Azure Database for PostgreSQL 服务器的凭据。 确保启用 Key Vault 软删除。
使用托管标识在 Azure AD 中为 Azure 服务提供自动托管标识。 使用托管标识可以向支持 Azure AD 身份验证的任何服务(包括 Key Vault)证明身份,无需在代码中放入任何凭据。
责任:客户
7.13:消除意外的凭据透露
指南:实施凭据扫描程序来识别代码中的凭据。 凭据扫描程序还会建议将发现的凭据转移到更安全的位置,例如 Azure Key Vault。
责任:客户
恶意软件防护
有关详细信息,请参阅 Azure 安全基线: 恶意软件防护。
8.2:预扫描要上传到非计算 Azure 资源的文件
指南:Microsoft 反恶意软件会在支持 Azure 服务(例如,Azure Database for PostgreSQL)的基础主机上启用,但不会对客户内容运行。
预扫描要上传到非计算 Azure 资源的任何内容,例如应用服务、Data Lake Storage、Blob 存储、Azure Database for PostgreSQL 等。Microsoft 无法访问这些实例中的数据。
责任:共享
数据恢复
9.1:确保定期执行自动备份
指南:Azure Database for PostgreSQL 备份数据文件和事务日志。 根据支持的最大存储大小,我们会进行完整备份和差异备份(最大 4 TB 的存储服务器)或快照备份(最大 16 TB 的存储服务器)。 可以通过这些备份将服务器还原到所配置的备份保留期中的任意时间点。 默认的备份保留期为七天。 可以选择将其配置为长达 35 天。 所有备份都使用 AES 256 位加密进行加密。
责任:共享
Microsoft Defender for Cloud 监视:Azure 安全基准是 Microsoft Defender for Cloud 的默认策略计划,也是构筑各项 Microsoft Defender for Cloud 建议的基础。 Microsoft Defender for Cloud 会自动启用与此控制相关的 Azure Policy 定义。 与此控制相关的警报可能需要相关服务的 Microsoft Defender 计划。
Azure Policy 内置定义 - Microsoft.DBforPostgreSQL:
名称 (Azure 门户) |
说明 | 效果 | 版本 (GitHub) |
---|---|---|---|
应为 Azure Database for PostgreSQL 启用异地冗余备份 | 通过 Azure Database for PostgreSQL,你可以为数据库服务器选择冗余选项。 它可以设置为异地冗余备份存储,其中数据不仅存储在托管服务器的区域内,还可以复制到配对区域,以便在区域发生故障时提供恢复选项。 只能在服务器创建期间为备份配置异地冗余存储。 | Audit、Disabled | 1.0.1 |
9.2:执行完整系统备份,并备份客户管理的所有密钥
指南:Azure Database for PostgreSQL 可自动创建服务器备份并将其存储在本地冗余或异地冗余存储中,具体取决于用户的选择。 备份可以用来将服务器还原到某个时间点。 备份和还原是任何业务连续性策略的基本组成部分,因为它们可以保护数据免遭意外损坏或删除。
如果使用 Azure Key Vault 存储 Azure Database for PostgreSQL 实例的凭据,请确保定期自动备份密钥。
责任:共享
Microsoft Defender for Cloud 监视:Azure 安全基准是 Microsoft Defender for Cloud 的默认策略计划,也是构筑各项 Microsoft Defender for Cloud 建议的基础。 Microsoft Defender for Cloud 会自动启用与此控制相关的 Azure Policy 定义。 与此控制相关的警报可能需要相关服务的 Microsoft Defender 计划。
Azure Policy 内置定义 - Microsoft.DBforPostgreSQL:
名称 (Azure 门户) |
说明 | 效果 | 版本 (GitHub) |
---|---|---|---|
应为 Azure Database for PostgreSQL 启用异地冗余备份 | 通过 Azure Database for PostgreSQL,你可以为数据库服务器选择冗余选项。 它可以设置为异地冗余备份存储,其中数据不仅存储在托管服务器的区域内,还可以复制到配对区域,以便在区域发生故障时提供恢复选项。 只能在服务器创建期间为备份配置异地冗余存储。 | Audit、Disabled | 1.0.1 |
9.3:验证所有备份,包括客户管理的密钥
指南:在 Azure Database for PostgreSQL 中进行还原时,会根据原始服务器的备份创建新的服务器。 可以使用两种类型的还原:时间点还原和异地还原。 时间点还原可以与任一备份冗余选项配合使用,所创建的新服务器与原始服务器位于同一区域。 异地还原只能在已将服务器配置为进行异地冗余存储的情况下使用,用于将服务器还原到另一区域。
估计的恢复时间取决于若干因素,包括数据库大小、事务日志大小、网络带宽,以及在同一区域同时进行恢复的数据库总数。 恢复时间通常少于 12 小时。
定期测试 Azure Database for PostgreSQL 实例的还原。
责任:客户
9.4:确保保护备份和客户管理的密钥
指南:Azure Database for PostgreSQL 可进行完整备份、差异备份和事务日志备份。 可以通过这些备份将服务器还原到所配置的备份保留期中的任意时间点。 默认的备份保留期为七天。 可以选择将其配置为长达 35 天。 所有备份都使用 AES 256 位加密进行加密。
责任:客户
事件响应
10.1:创建事件响应指导
指南:为组织制定事件响应指南。 确保在书面的事件响应计划中定义人员职责,以及事件处理/管理从检测到事件后审查的各个阶段。
责任:客户
10.2:创建事件评分和优先级设定过程
指导:Microsoft Defender for Cloud 可以为每个警报分配严重性,以帮助你优先处理应先调查的警报。 严重性取决于 Microsoft Defender for Cloud 在发出警报时所依据的检测结果或指标的置信度,以及导致发出警报的活动背后的恶意企图的置信度。
另外,还清楚标记订阅(例如生产、非生产)并创建命名系统,以便对 Azure 资源进行明确标识和分类。
责任:客户
10.3:测试安全响应过程
指导:定期执行演练来测试系统的事件响应功能。 识别弱点和差距,并根据需要修改计划。
- 请参阅 NIST 的刊物:Guide to Test, Training, and Exercise Programs for IT Plans and Capabilities(IT 规划和功能的测试、培训与演练计划指南)
责任:客户
10.4:提供安全事件联系人详细信息,并针对安全事件配置警报通知
指南:如果 Microsoft 安全响应中心 (MSRC) 发现非法或未经授权的某方访问了客户的数据,Microsoft 将使用安全事件联系人信息与你取得联系。 事后审查事件,确保问题得到解决。
责任:客户
10.5:将安全警报整合到事件响应系统中
指导:使用连续导出功能导出 Microsoft Defender for Cloud 警报和建议。 使用连续导出可以手动导出或者持续导出警报和建议。 可以使用 Microsoft Defender for Cloud 数据连接器将警报流式传输给 Microsoft Sentinel。
责任:客户
10.6:自动响应安全警报
指导:使用 Microsoft Defender for Cloud 的工作流自动化功能,通过“逻辑应用”自动触发对安全警报和建议的响应。
责任:客户
渗透测试和红队练习
有关详细信息,请参阅 Azure 安全基线: 渗透测试和红队演练。
11.1:定期对 Azure 资源执行渗透测试,确保修正所有发现的关键安全问题
指南:遵循 Microsoft Rules of Engagement 以确保渗透测试不违反 Microsoft 政策: https://www.microsoft.com/msrc/pentest-rules-of-engagement?rtc=1
责任:共享
后续步骤
- 参阅 Azure 安全基准 V2 概述
- 详细了解 Azure 安全基线