Web 安全概览
CIA 三要素;web-security 节点。
30 分钟
Web 安全概览
后端 API 暴露在公网时,攻击面不在「会不会写 Spring Controller」,而在 传输、认证、授权、输入校验、日志与运维 整条链。本 track 建立 Web 安全基线,面向 Java / Spring Boot 后端工程师——先懂威胁模型,再学 TLS、CORS、认证方式与 OWASP 常见坑。
学习目标
- 用 CIA 三要素描述一次 HTTP 请求的安全目标
- 区分「机密性 / 完整性 / 可用性」在后端各层的落点
- 在 全栈路线图 中定位 web-security 节点,并规划与 http-protocol-essentials、spring-boot-essentials 的衔接
CIA 三要素
| 要素 | 含义 | 后端常见落点 |
|---|---|---|
| Confidentiality 机密性 | 未授权者读不到 | HTTPS、加密字段、最小权限 DB 账号 |
| Integrity 完整性 | 数据不被篡改 | TLS、签名、幂等键、审计日志 |
| Availability 可用性 | 服务可被合法用户使用 | 限流、WAF、补丁、容量规划 |
三者常 冲突:强加密增加 CPU;严格限流可能影响正常峰值。工程上是在 可接受风险 内做权衡,而不是「全开」或「全关」。
威胁从哪来
外部攻击者 → 公网 API / 管理端口
恶意用户 → 越权访问他人订单、刷接口
内部误操作 → 误删数据、把 .env 提交到 Git
供应链 → 依赖漏洞(Log4Shell 类事件)
后端工程师日常最该盯的三类:注入与越权(见 sec-owasp)、传输与 Cookie 配置错误(见 sec-ssl、sec-auth-cookie)、密钥与密码处理不当(见 sec-hash)。
纵深防御(Defense in Depth)
不要指望「上了 Spring Security 就安全」。典型分层:
- 网络:防火墙、仅暴露 443、管理口 VPN
- 传输:HTTPS / TLS
- 应用:输入校验、参数化 SQL、统一异常(不泄露堆栈)
- 身份:认证方式选型 + 授权
- 数据:加密存储、备份、最小权限 DB 用户
- 运维:补丁、日志、告警、密钥轮换
任一层被突破,下一层仍应 减缓损失。