33장. CDN 캐시 오염 실습
사용자 A의 /bookings JSON에 잘못 public,s-maxage=60을 붙이고 CDN cache key에 cookie·authorization이 없는 결함을 재현한다. A 요청 후 B가 같은 edge에서 A 응답을 받는지 synthetic 계정으로 확인한다. 실제 고객 data로 실험하지 않는다.
즉시 완화는 해당 route bypass/no-store, 정확한 key·URL purge, origin의 header 수정이다. purge everything은 origin 부하를 만들어 필요한 범위만 지운다. 유출 가능 cache log·access를 보안 사건으로 보존한다.
영구 수정은 캐시 정책을 controller의 관습이 아니라 contract test로 고정한다. 인증/Set-Cookie 응답은 private/no-store, public object는 tenant/user field 없음을 검증한다. deployment preview에서 두 synthetic identity로 교차 요청한다.