会话与令牌 — 从浏览器到服务网格
로그인 한 번 뒤에 오가는 쿠키·세션·CSRF 토큰·JWT·리프레시 토큰을 하나씩 직접 만들고, 흔한 공격을 내 서버에 재현한 뒤 방어를 넣어 막습니다. 세션 고정, 위조 요청, alg 혼동과 kid 교체, 리프레시 토큰 재사용을 실제 요청으로 확인하고, 폐기 전략과 서비스 간 위임(client credentials, RFC 8693 토큰 교환)을 거쳐 Envoy 가 JWT 를 검증하고 하류로 전파하는 메시 구간에서 끝납니다.
고급 · 레슨 27 · 实验 9
커리큘럼
会话 Cookie 的属性与前缀
- 浏览器会悄悄丢弃不合规则的 Cookie reading
- 签发 __Host- 会话 Cookie 并正确删除 lab
- 测验:会话 Cookie 的属性与前缀 quiz
服务器会话与会话固定
- 登录了,会话 ID 却没变 reading
- Redis 会话与会话固定防御 lab
- 测验:服务器会话与会话固定 quiz
CSRF 与 SameSite 的局限
- 仅凭 Cookie 无法知道请求来自哪里 reading
- 用伪造请求检验 CSRF 防御 lab
- 测验:CSRF 与 SameSite 的局限 quiz
用 BFF 把令牌留在浏览器之外
- 不把令牌放在浏览器里的方法:BFF reading
- 用 BFF 把令牌留在浏览器之外 lab
- 测验:BFF 模式 quiz
JWT 签名验证与 alg 混淆防御
- 别让令牌告诉你怎么验证它 reading
- JWT 签名验证与 alg 混淆、kid 注入防御 lab
- 测验:JWT 签名验证与 alg 混淆 quiz
刷新令牌轮换与重用检测
- 服务器如何察觉被盗的刷新令牌 reading
- 刷新令牌轮换与重用检测 lab
- 测验:刷新令牌轮换与重用检测 quiz
令牌吊销策略
- 已经登出,令牌却还能用 reading
- 令牌吊销 — introspection、revocation、阻止列表 lab
- 测验:令牌吊销策略 quiz
服务间委托与令牌交换
- 为什么不能原样转交收到的令牌 reading
- client credentials 与令牌交换(亲手搭建 STS) lab
- 测验:服务间委托与令牌交换 quiz
网格边界上的 JWT 与 mTLS
- 有了 mTLS 为什么还要验证 JWT reading
- Envoy jwt_authn 与两种身份 lab
- 测验:网格边界上的 JWT 与 mTLS quiz
参考文档
- 官方文档 · datatracker.ietf.org · draft ietf httpbis rfc6265bis
- OWASP Session Management Cheat Sheet
- OWASP CSRF Prevention Cheat Sheet
- RFC 8725 — JWT Best Current Practices
- RFC 9700 — OAuth 2.0 Security Best Current Practice
- 官方文档 · datatracker.ietf.org · rfc7009
- 官方文档 · datatracker.ietf.org · rfc7662
- RFC 8693 — OAuth 2.0 Token Exchange
- 官方文档 · www.envoyproxy.io · jwt_authn_filter