实施 Microsoft Defender for SQL 来保护数据库

实施 Microsoft Defender for SQL 来保护数据库

2025年2月14日

本技术和教育文章旨在指导安全分析师、IT 管理员和系统工程师实施和配置 Microsoft Defender for SQL。 Defender for SQL 为 Azure SQL 数据库、虚拟机上的 SQL Server 以及本地 SQL Server 或多云环境(通过 Azure Arc)提供高级安全层,实时检测漏洞和威胁 [1]。

简介

数据库始终是 SQL 注入、未经授权的访问和数据泄露等攻击的目标。 Microsoft Defender for SQL 是 Microsoft Defender for Cloud 的一部分,通过两个关键功能帮助降低这些风险:SQL 漏洞评估高级威胁防护 (ATP)。漏洞评估可识别并帮助修复配置缺陷,而 ATP 则可检测可能表明攻击正在进行的异常活动 [2]。

本实用指南将涵盖启用、配置、测试和管理 Defender for SQL,使您能够有效保护数据库。

为什么 Microsoft Defender for SQL 至关重要?

  • 持续漏洞评估:主动扫描您的数据库是否存在错误配置和其他漏洞。
  • 高级威胁检测:持续监控活动以识别异常行为,例如 SQL 注入和暴力攻击。
  • 全面覆盖:使用 Azure Arc 保护 Azure、VM 以及混合/多云环境中的 SQL 数据库。
  • 详细的安全警报:提供每个警报的背景、调查步骤和补救建议。

先决条件

  1. 有效的 Azure 订阅
  2. 管理访问权限:在订阅中具有“所有者”、“协作者”或“安全管理员”角色。
  3. 现有 SQL 数据库

分步:实施 Microsoft Defender for SQL

1. 启用 SQL Defender

最佳实践是在订阅级别启用计划以自动保护所有功能。

  1. 在 Azure 门户中,导航到 Microsoft Defender for Cloud
  2. 转至 环境设置 并选择您的订阅。
  3. 在 Defender 计划页面上,找到 Databases 并将状态切换为 Enabled
  4. 单击“保存”。这将为所有受支持的数据库类型提供保护。

2. 配置和运行漏洞评估

  1. 导航到 Azure SQL 服务器
  2. 在菜单中的“安全”下,选择 Microsoft Defender for Cloud
  3. 将显示安全建议。漏洞评估就是其中之一。单击““必须解决 SQL 服务器中发现的漏洞”建议以查看结果。
  4. 要配置重复周期,请单击“SQL Server 安全性”页面顶部的“服务器设置”,并为扫描结果和计划配置存储帐户。

3. 验证高级威胁防护 (ATP)

ATP 随计划自动激活。为了验证其操作,我们可以模拟攻击。 仅在授权的非生产环境中执行此测试。

测试场景:SQL注入模拟

  1. 使用“sqlcmd”等工具连接到测试数据库并运行类似于 SQL 注入的查询。 bash # 替换<>之间的值 sqlcmd -S tcp:<服务器名称>.database.windows.net,1433 -d <数据库名称> -U <用户名> -P "<密码>" -Q "从用户中选择 * WHERE UserId = '1' OR '1'='1';"
  2. 预期操作:几分钟内,Defender for SQL 应将此活动检测为潜在的 SQL 注入,并生成安全警报。

调查 Microsoft Defender for Cloud 中的警报

  1. 在 Azure 门户中,导航到 Microsoft Defender for Cloud > 安全警报
  2. 按严重性、资源类型或 MITRE ATT&CK® 策略过滤警报。
  3. 单击测试生成的警报(例如:“潜在 SQL 注入”)。
  4. 警报详细信息页面将提供:
    • 威胁描述
    • 受影响的实体(服务idor SQL、数据库等)。
    • 建议的修复步骤
    • 触发警报的确切查询

最佳实践和安全提示

  • 在订阅时启用:始终在订阅级别启用 Defender for SQL,以确保完全自动覆盖。
  • 与 Microsoft Sentinel 集成:将安全中心警报转发至 Microsoft Sentinel,以进行更深入的调查、与其他日志关联以及威胁搜寻功能。
  • 主动修复:不要忽略漏洞评估结果。创建一个流程来定期审查和纠正发现的问题。
  • 配置通知:在安全中心设置中,配置高严重性警报的电子邮件通知,以确保快速响应。
  • 使用 Azure Arc:对于本地或其他云中的 SQL Server,使用 Azure Arc 将 Defender for SQL 保护扩展到它们。

结论

Microsoft Defender for SQL 是保护任何组织最重要资产之一的重要工具:数据。通过提供双管齐下的方法——主动发现和修复漏洞以及实时检测主动威胁——它提供了强大的智能防御。正确实施和持续监控 Defender for SQL 生成的警报可显着增强您的安全状况和抵御数据库攻击的能力。

参考文献

[1] 微软。 (2023)。 Microsoft Defender for SQL 概述。 [2] 微软。 (2023)。 针对 SQL 数据库和 Azure Synapse Analytics 的安全警报