CalcGuide · 技术博客主页 / 一页纸学习计划
🟠

可观测、威胁建模与漏洞响应:WAF、IDS、日志告警、IR 流程与红蓝对抗

分类:安全与可靠性 · 路径:docs/topics/web-security-detection-and-response/README.md

#waf#ids#ir#threat-modeling#stride

覆盖 A04/A09/A10:WAF/IDS、日志告警、IR Playbook、CVE 跟踪、STRIDE 威胁建模、攻击面分析与漏洞奖励计划

父主题

Web 安全:从 OWASP Top 10 到漏洞响应

子主题(0)

可观测、威胁建模与漏洞响应:WAF、IDS、日志告警、IR 流程与红蓝对抗

0. 元信息

1. 学习路线

A09 Logging & Monitoring:日志规范、结构化、告警通路
  → WAF:ModSecurity / Cloudflare / AWS WAF
  → IDS / IPS:Suricata、Snort
  → SIEM:Elastic / Splunk / Loki
  → IR Playbook:OWASP IRT 模板
  → CVE 跟踪:NVD / GHSA / OSV / CISA KEV
  → 威胁建模:STRIDE、攻击面分析、PASTA、VAST
  → 红蓝对抗与漏洞奖励计划(Bug Bounty)
  → 复盘文化:漏洞复盘、IR 复盘

2. 阶段周数分配

建议周期 8 周,每周 6 天、每天 1.5~2 小时(每周约 9~12 小时),第 7 天用于复盘和补测:第 1 周基础模型与威胁边界;第 2~3 周核心机制;第 4~5 周防御实现;第 6 周检测、测试与审计;第 7 周综合演练;第 8 周项目收尾、复盘与最终验收。

3. 九阶段表

阶段核心知识实践产出可观察学会标准
1. 日志规范结构化日志、字段白名单、PII 脱敏、trace id日志规范 + 脱敏中间件grep 不到 token / 密码 / 完整 PII
2. 告警通路告警分级、PagerDuty / Slack、电话告警矩阵高危事件 5 分钟内有人响应
3. WAFModSecurity OWASP CRS、Cloudflare、AWS WAFWAF 规则集OWASP CRS 等级启用;误报率 <5%
4. IDSSuricata / Snort / Zeek网络入侵规则高危事件告警
5. SIEMElastic / Splunk / Loki仪表盘 + 规则告警 + 关联分析
6. IR PlaybookOWASP IRT 模板、6 阶段流程一份针对 SSRF / RCE / 数据泄露的剧本30 分钟内定位漏洞 + 影响范围
7. CVE 跟踪NVD / GHSA / OSV / CISA KEV 自动匹配自动建 Issue24h 内响应高危 CVE
8. 威胁建模STRIDE、PASTA、攻击面图新功能威胁模型每个新功能上线前完成建模
9. 红蓝 & 漏洞奖励Bug Bounty、HackerOne、scope漏洞奖励计划设计scope、奖励级别、响应 SLA 明确

关键陷阱:日志脱敏后会失去关键字段;WAF 不是防护终点;IR 没有 playbook 等于没 IR;威胁建模不能一次做完就再不动。

4. 第一周:基础与威胁建模(每天 1.5~2 小时)

Day任务产出自检
1从 §1 首个知识点画信任边界,列出 5 个资产和 5 个攻击面notes/day1.md,含资产/攻击面表test -s notes/day1.md && grep -c "攻击面" notes/day1.md 输出 ≥1
2阅读 §3 阶段 1,针对 3 个概念各写定义、前置条件和失败后果notes/day2.md,至少 3 个小节grep -c "失败" notes/day2.md 输出 ≥3
3用本地最小示例复现一个不安全行为,再写修复前后差异notes/day3.mdnotes/day3-output.txt`test -s notes/day3-output.txt && grep -E “before
4依据 §3 阶段 2 写一张请求/数据流时序图notes/day4.md,含 Mermaid 图grep -q "mermaid" notes/day4.md
5为 3 个边界条件设计测试,并执行命令记录结果notes/day5.md,含输入/期望/实际grep -c "期望" notes/day5.md 输出 ≥3
6将一条防御规则实现为可运行脚本或配置,并记录命令notes/day6.shnotes/day6.jsonnotes/day6.mdtest -s notes/day6.md && grep -q "运行" notes/day6.md
7回顾 Day 1~6,写 300 字复盘并列出 10 个自测问答notes/week1-retrospective.mdwc -w notes/week1-retrospective.md ≥300 且 grep -c "问:" ≥10

5. 阶段通用验收

6. 最终验收

学完后应能完成威胁建模、选择合适的安全机制、实现最小防御链路、编写负面测试、读取日志或扫描证据,并向团队解释安全权衡和残余风险。

量化标准:

7. 综合项目

首选项目:安全 Web 服务实验室(本主题对应的 “)。实现一个最小 HTTP/API 服务,故意保留一条可控弱点,再用安全实现和自动化测试修复它。

备选项目:安全审计 CLI。读取请求、配置或依赖清单,输出风险、证据、严重性和修复建议。

必做要求:

项目根目录必须包含 README.mdnotes/design.mdnotes/test.mdnotes/retrospective.md。README 需写需求说明、数据结构/工具选择理由、核心流程、模块化实现、边界测试、编译/运行说明、目录结构和复盘记录;notes/design.md 写威胁模型与流程图,notes/test.md 写每组输入/期望/实际输出,notes/retrospective.md 写用时、难点、收获和下一步。

本主题贡献

8. 推荐开源资料

阶段角色资料名链接用法
1入门OWASP Web Security Testing Guidehttps://owasp.org/www-project-web-security-testing-guide/按主题阅读测试方法并转成自己的检查项
2官方文档MDN Web Securityhttps://developer.mozilla.org/en-US/docs/Web/Security查阅浏览器安全机制、Cookie、CORS、CSP
3规范/标准OWASP Cheat Sheet Serieshttps://cheatsheetseries.owasp.org/实现前逐条对照防御清单
4工具/源码OWASP ZAPhttps://www.zaproxy.org/对本地项目做代理扫描,保存报告
5练习平台PortSwigger Web Security Academyhttps://portswigger.net/web-security完成对应实验并记录请求、漏洞和修复
6参考标准NIST Cybersecurity Frameworkhttps://www.nist.gov/cyberframework将检测、响应和恢复动作映射到流程

许可证提示:使用 OWASP、ZAP 或其他开源资料与源码前,先打开仓库或页面的 LICENSE/版权说明;默认只引用链接和思路,复制代码时保留版权与许可证文本。

默认使用顺序:先读 §1 与 OWASP 入门资料建立模型 → 用 MDN/规范查 API 和约束 → 在本地项目实现 → 用 ZAP 或对应扫描工具验证 → 到 PortSwigger 做练习 → 将证据和复盘写入 notes/

9. 学习资料汇聚(v0.3 自包含)

9.1 背景与动机

OWASP Top 10 2021 把”A09 Security Logging and Monitoring Failures”、“A10 Server-Side Request Forgery”与”A04 Insecure Design”放在前列。A09 与 A04 关心”能不能发现问题”,A10 是新晋类别,针对 SSRF 这类服务代发请求的攻击。

历史上踩过的坑:

这些事件把”日志告警、威胁建模、漏洞响应”从可选项变成必需品。

9.2 概念地图

flowchart LR
  Detect[检测与响应] --> Log[日志]
  Detect --> WAF
  Detect --> IDS
  Detect --> SIEM
  Detect --> IR[IR Playbook]
  Detect --> CVE[CVE 跟踪]
  Detect --> TM[威胁建模]
  Detect --> RedTeam[红蓝对抗]
  Log --> SLog[结构化日志]
  Log --> Mask[脱敏]
  Log --> Trace[trace id]
  Log --> Alert[告警]
  WAF --> ModSecurity[ModSecurity OWASP CRS]
  WAF --> Cloudflare[Cloudflare]
  WAF --> AWS[AWS WAF]
  IDS --> Suricata
  IDS --> Snort
  IDS --> Zeek
  SIEM --> Elastic[Elastic / OpenSearch]
  SIEM --> Splunk
  SIEM --> Loki
  IR --> OWASP[OWASP IRT 模板]
  IR --> NIST[NIST SP 800-61]
  IR --> Playbook[Playbook]
  CVE --> NVD
  CVE --> GHSA
  CVE --> OSV
  CVE --> KEV[CISA KEV]
  TM --> STRIDE
  TM --> PASTA
  TM --> AttackSurface[攻击面分析]
  TM --> Diagram[DFD 数据流图]
  RedTeam --> Pentest[渗透测试]
  RedTeam --> BugBounty[漏洞奖励]
  RedTeam --> Scope[scope 与规则]
  RedTeam --> HallOfFame[致谢墙]

关系说明:日志是地基;WAF 与 IDS 是外部防线;SIEM 汇聚分析;IR 与 CVE 跟踪是闭环;威胁建模在设计阶段;红蓝对抗持续验证。

9.3 基础知识讲解

9.3.1 经典论文 / 标准

资料角色评分链接
OWASP Top 10 2021 — A09 Logging & Monitoring风险分类5https://owasp.org/Top10/A09_2021-Security_Logging_and_Monitoring_Failures/
OWASP Top 10 2021 — A10 SSRF风险分类5https://owasp.org/Top10/A10_2021-Server-Side_Request_Forgery_%28SSRF%29/
OWASP Top 10 2021 — A04 Insecure Design风险分类5https://owasp.org/Top10/A04_2021-Insecure_Design/
OWASP Logging Cheat Sheet日志规范5https://cheatsheetseries.owasp.org/cheatsheets/Logging_Cheat_Sheet.html
OWASP Application Security Verification Standard (ASVS)验收清单5https://owasp.org/www-project-application-security-verification-standard/
OWASP Incident Response Top 10IR 风险4https://owasp.org/
OWASP Threat Modeling Cheat Sheet威胁建模4https://cheatsheetseries.owasp.org/cheatsheets/Threat_Modeling_Cheat_Sheet.html
NIST SP 800-61 Rev 2IR 流程5https://csrc.nist.gov/publications/detail/sp/800-61/rev-2/final
MITRE ATT&CK攻击知识库5https://attack.mitre.org/
NIST SP 800-115技术安全测试4https://csrc.nist.gov/publications/detail/sp/800-115/final

主推:NIST SP 800-61 + OWASP A09/A10 + MITRE ATT&CK。备查:OWASP IRT、Threat Modeling Cheat Sheet、NIST SP 800-115。

9.3.2 经典书籍

资料角色评分链接
The Practice of Network Security Monitoring (Richard Bejtlich)NSM 与 IR 实战4https://nostarch.com/network-security-monitoring
Crafting the InfoSec Playbook (Amster et al.)安全 playbook 设计4https://www.oreilly.com/library/view/crafting-the-infosec/9781491960198/
Threat Modeling: Designing for Security (Shostack)威胁建模系统方法5https://shostack.org/books/threat-modeling-book
Web Application Security (Hoffman)实战4https://www.oreilly.com/library/view/web-application-security/9781492053101/

主推:Shostack《Threat Modeling》。备查:Bejtlich《NSM》、Amster《Crafting the InfoSec Playbook》。

9.3.3 优秀博客 / 文档

资料角色评分链接
SANS Internet Storm Center威胁情报4https://isc.sans.edu/
Cloudflare Security Blog大规模防御案例5https://blog.cloudflare.com/tag/security/
Google Project Zero0day 研究5https://googleprojectzero.blogspot.com/
AWS Security Blog云安全4https://aws.amazon.com/blogs/security/
HackerOne Hacktivity公开漏洞4https://hackerone.com/hacktivity
Bugcrowd Blog漏洞奖励4https://www.bugcrowd.com/blog/
OWASP ModSecurity CRSWAF 规则4https://owasp.org/www-project-modsecurity-core-rule-set/
MITRE ATT&CK攻击知识库5https://attack.mitre.org/
Elastic SecuritySIEM/IDS 实践4https://www.elastic.co/security
Tailscale Blog(关于 WireGuard 与网络)内部零信任3https://tailscale.com/blog/

主推:MITRE ATT&CK + Cloudflare Blog + Google Project Zero。备查:SANS ISC、AWS Security、HackerOne Hacktivity、ModSecurity CRS。

9.3.4 核心人物

人物贡献关键出处
Adam Shostack威胁建模著作shostack.org
Richard BejtlichNSM 与 IR 实战taosecurity.blogspot.com
Bruce Schneier安全思想schneier.com
Dan KaminskyDNS 安全研究dan.kaminsky.me 历史
Marcus HutchinsMalwareTech、漏洞研究malwaretech.com
Katie Moussouris漏洞奖励计划katiespace.com
Window Snyder安全领导力snyder.services

主推:Adam Shostack、Richard Bejtlich。备查:Katie Moussouris、Window Snyder。

9.3.5 开发方法

方法适用关键点
Defense in depth整体WAF + IDS + 日志 + IR + 威胁建模,缺一不可
Single source of truth日志集中日志;trace id 串起来
Playbook-driven IR响应每个漏洞类型一份剧本;演练
STRIDE per feature威胁建模每个新功能做一次 STRIDE;记入设计文档
Severity triageCVE用 CVSS + KEV + 影响范围排序
Blue-Red collaboration持续验证红蓝对抗;漏洞奖励;内部演练

9.4 经典问题与经典案例

#问题为什么重要最简答案或证据
1Capital One(2019)SSRF + IAM 越权,1 亿 PII 泄露关闭 EC2 IMDSv1;SSRF 出站白名单;最小权限 IAM
2Log4Shell(2021)扫描器缺失,漏洞利用了一周WAF 临时规则 + 升级 + EDR 检测 JNDI
3Target(2013)FireEye 告警被忽略告警分级;24h 响应 SLA;演练
4Equifax(2017)Apache Struts 漏洞未及时修复资产清单 + 补丁窗口 SOP;自动扫描
5MOVEit(2023)SQL 注入大规模数据窃取WAF + DB 用户最小权限;监控异常查询
6Heartbleed(2014)OpenSSL 心跳扩展泄露私钥升级;批量轮换证书 + 密钥
7Sony(2014)内部告警未及时响应集中日志;告警分级;演练
8CISA KEV 中没有的 CVE不在 KEV 不等于不重要KEV 仅是被利用;CVSS + 影响范围排序
9OWASP CRS 误报多业务被打挂规则分级;先用 PL1(监听)→ PL2/PL3(阻断)
10威胁建模一次做完设计变更后未更新每个新功能或重大变更再做一次

9.5 学习难点

概念难点

难点为什么会卡突破路径
WAF 与防火墙区别名字相似WAF 懂 HTTP/HTTPS;防火墙是网络层
告警分级怎么定太多告警CVSS + KEV + 业务影响;分级 P0/P1/P2/P3
STRIDE 与 PASTA都是威胁建模STRIDE:每类威胁逐元素;PASTA:风险驱动

思维难点

难点为什么会卡突破路径
“我们已经被攻击了”缺乏证据先看 SIEM + EDR + 日志;确认再响应
“威胁建模太抽象”落地难用数据流图 + STRIDE;每个组件逐类威胁
“漏洞奖励会让外部人攻击我们”风险担忧设计 scope、规则、SLA;先私有不公开

工程难点

难点为什么会卡突破路径
SIEM 性能 / 成本数据量大采样;保留高保真 + 摘要;冷热分层
WAF 误报打挂业务业务方投诉先监听模式;规则分级;白名单例外要审批
IR 流程没人跑纸上流程定期演练(桌面 + 红蓝);记录改进

9.6 技术标准与接口

9.6.1 Entity

名称版本组织状态许可证
OWASP Top 102021OWASP现行CC BY-SA 4.0
OWASP ASVS4.0.3OWASP现行CC BY-SA 4.0
OWASP ModSecurity CRS4.xOWASP现行Apache-2.0
MITRE ATT&CK持续MITRE活跃CC BY-AT
CISA KEV持续CISA活跃公开
NIST SP 800-61 Rev 22012NIST旧版参考公开
NIST SP 800-1152008NIST现行公开
CVSS4.0FIRST现行CC BY-AT
STIX / TAXII2.1OASIS现行CC BY-AT
VEX持续CISA / NTIA活跃公开

9.6.2 Scope

9.6.3 Structure

必会字段、接口、API:

9.6.4 Ecosystem

9.6.5 Depth Tiers

层级能力
L0知道 WAF、IDS、SIEM、IR、STRIDE 是什么
L1看懂一份 OWASP CRS 规则、一份 IR playbook、一张 STRIDE 表
L2能配置 WAF、部署 SIEM、订阅 CVE feed、做新功能 STRIDE
L3能解释告警分级、IR 6 阶段、CVSS + KEV 排序、SSRF 修复模式
L4能设计企业级 SOC、S-SDLC、漏洞奖励计划、红蓝对抗机制

本计划目标:L3

9.6.6 Source

10. 常见误区

11. 所有知识点分类(统一规则)

  1. 编程语言
  2. 数据结构与算法
  3. 计算机基础
  4. 工程技术
  5. Web 与后端
  6. 前端与客户端
  7. 数据与人工智能
  8. 项目与职业能力
  9. 安全与可靠性

本计划归属:安全与可靠性 主 + 项目与职业能力 辅。


直接依赖(0)

查看知识图谱