mcpField
D
defender-for-apis

defender-for-apis

github.com/vinayaklatthe安全17895 次安装19 周前更新
代码仓库

关于 defender-for-apis

用于通过 Microsoft Defender for APIs 保护 Azure API Management 中已发布 API 的工作流技能。它帮助安全团队按风险处理安全态势发现和运行时威胁;修复需通过 APIM 策略完成。

主要功能

  1. 01按暴露情况和风险排列 API
  2. 02通过 Defender for Cloud 接入 API
  3. 03检查安全态势发现和威胁警报
  4. 04使用 APIM 策略修复问题
  5. 05将检测结果发送至安全运营

适用场景

  1. 01确定暴露 API 的修复优先级
  2. 02检查敏感数据暴露问题
  3. 03检测 API 滥用并向 SOC 告警
  4. 04分级处理新接入的 API 清单

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/vinayaklatthe/microsoft-security-skills --skill defender-for-apis

安装后在 Claude Code 中输入/defender-for-apis确认已加载。

详细介绍

Microsoft Defender for APIs

Defender for APIs 是 Microsoft Defender for Cloud 的一项计划,可帮助你了解在 Azure API Management 中发布的 API 的安全态势,按风险确定优先级,并检测活跃威胁和滥用行为。它用于检测和态势管理,不是 WAF 或 API 网关。

适用场景

在保护已通过 Azure API Management 发布的 API,且需要基于风险确定优先级并检测运行时威胁时,使用此技能。

以下情况请勿使用此技能:

  • 从头设计 API 安全(OWASP API Top 10 请使用 api-security-design)
  • 由 Application Gateway / Front Door 作为前端、但未使用 APIM 的 API(目前不在适用范围内)
  • WAF 调优或速率限制设计(应使用 APIM 策略,而非 Defender)

确定优先保护哪些 API

Defender for APIs 默认会载入 APIM 中的所有 API。关键在于确定优先级。 使用此表为清单中的 API 排定优先级:

风险信号优先级为何应优先处理
面向外部且未经身份验证P0 - 本周已构成攻击面;互联网上的一个恶意请求就可能造成问题
面向外部且处理敏感数据(PII、支付、健康信息)P0 - 本周存在敏感数据泄露(OWASP API3)和 BOLA 风险
面向外部且需要身份验证P1 - 本月存在身份验证绕过 / 令牌滥用风险
内部使用且处理敏感数据P2 - 本季度存在内部人员风险和横向移动场景
超过 90 天未活动或未使用停用可直接缩小攻击面
内部使用且不处理敏感数据P3 - 仅监控即时风险较低

**经验法则:**如果 Defender for APIs 在第一天就显示超过 50 个发现项,不要试图全部修复。先筛选面向外部 + 敏感数据的 API——通常有 5-15 个 API,涵盖了 80% 的实际风险。

方法

  1. 在订阅范围启用计划 — Defender for APIs 是 Defender for Cloud 中按 API 计价的计划(按每百万次 API 调用计费)。在包含 APIM 实例的订阅上启用。前 30 天可免费试用。 验证:Defender for Cloud → 环境设置 → Defender 计划显示“APIs: On”。
  2. 将 API 载入计划 — 在 Defender for Cloud → 工作负载保护 → Defender for APIs → 载入 中选择 APIM 实例。载入无需重新部署 API。 验证:约 1 小时内填充 API 清单;每个 API 都会显示风险评分和发现项。
  3. 根据上方的风险表进行分类 — 将清单筛选为外部 + 未经身份验证和外部 + 敏感数据的发现项。将这些视为 P0。
  4. 在 APIM 层进行修复 — Defender 不会修复问题;应使用 APIM 策略。
    • 未经身份验证 → 添加 <validate-jwt> 或订阅密钥策略
    • 敏感数据泄露 → 检查 set-body / 响应屏蔽策略
    • 过度枚举 → 添加 <rate-limit-by-key> 策略
    • 非活动 API → 弃用 API 或撤销产品可见性 验证:发布 APIM 策略后 24 小时内,重新扫描后发现项会消失。
  5. 将检测结果接入 SOC — Defender 警报会通过 Microsoft Defender XDR 连接器流入 Defender for Cloud、Defender XDR 和 Sentinel。针对未经身份验证的访问激增和凭据填充模式创建自动化规则。 验证:测试恶意请求(例如,来自单个 IP 的集中枚举请求)会在 15 分钟内于 Defender XDR 门户中触发警报。
  6. 每月迭代 — 会有新 API 出现,旧 API 会变为非活动状态。每月重新执行风险分类,确保风险优先级保持最新。

注意事项

  • 仅限 APIM 范围。 Defender for APIs 只能检测由 Azure API Management 接入的 API。部署在 Application Gateway、Front Door 上或直接通过 App Service 暴露的 API 对它不可见——请将它们路由至 APIM,或使用其他控件。
  • 检测不等于防护。 Defender 用于发现问题;APIM 策略用于修复问题。请将 Defender 视为优先级排序引擎,而不是安全边界。
  • 定价随调用量变化。 高流量 API(每月数亿次调用)可能产生高额的 Defender for APIs 费用。扩展规模前,请使用 Azure 定价计算器。
  • 敏感数据检测采用抽样方式。 Defender 会检查一定比例的 API 响应;不要将其视为完整的数据丢失防护控制——对于已知的敏感字段,请配合使用 APIM 响应屏蔽策略。
  • 加入不会改变你的 API。 无需更改代码,也不会影响性能——Defender 会读取 APIM 遥测数据。可在生产环境中安全启用。

常见反模式

  • “修复每项发现。” 第一天就会涌现大量发现;团队会因排查低风险内部 API 而疲惫不堪。请使用优先级表。
  • “把 Defender for APIs 当作 WAF。” 它不是。WAF 部署在 Front Door、Application Gateway 或 APIM Premium 上。Defender 用于检测和安全态势管理。
  • “跳过 APIM,直接调用 Defender for APIs。” 无法做到——APIM 是前提条件。
  • “让非活动 API 继续发布。” Defender 会将其标记出来;忽略该标记会让已停用端点继续暴露在攻击面上。
  • “加入后就置之不理。” 如果不进行每月排查,新 API 会在未受监控的情况下出现,发现项也会逐渐偏离实际情况。

示例提示词

  • 将 API Management 中的 API 加入 Microsoft Defender for APIs。
  • 我应该先用 Defender for APIs 保护哪些 API?
  • 如何检测 API 滥用和 API 中的敏感数据暴露?
  • 审查 API 安全态势并确定发现项的优先级。
  • 在 Sentinel 中设置 API 攻击检测和警报。
  • 估算每月 5 亿次调用的 Defender for APIs 成本。

Microsoft Learn

评论

支持 Markdown