×
応用編

また、DjangoはALLOWED_HOSTSによってHostヘッダーを検証します。Secure属性付きのセッションCookieとCSRF Cookieの利用も公式ドキュメントで推奨されています。


WebSocketを使用する場合

Django ChannelsなどでWebSocketを使用している場合は、通常のHTTP通信とは別に試験します。

Application Load BalancerはWebSocketをネイティブにサポートし、HTTP接続を永続的なWebSocket接続へアップグレードできます。

ただし、経路上にSASEやZTNAを追加した場合、次を確認する必要があります。

  • WebSocketのUpgradeヘッダーが維持されるか

  • 長時間接続が切断されないか

  • SASE側のアイドルタイムアウト

  • ALBのアイドルタイムアウト

  • 認証期限切れ後の既存接続

  • 切断時の再接続

  • Redis障害時の動作

  • クライアントIPの記録方法

  • WAFルールによる誤遮断

通常画面が表示できるだけでは、WebSocketの移行試験は完了していません。


AWS・Django環境で起きやすい失敗

SASEを迂回できる公開経路が残る

正規経路
管理者 → SASE → Verified Access → Django

迂回経路
攻撃者 → Public ALB → Django管理画面