セッション管理 - セッション管理
ユーザーの認証状態を維持する仕組み。セッション固定攻撃やセッションハイジャックへの対策が重要。
概念図
実例
安全なセッション Cookie の例
bash
Set-Cookie: sid=xxx; HttpOnly; Secure; SameSite=Strict; Max-Age=3600セッション Cookie のセキュリティ属性
- HttpOnly: JavaScript からのアクセスを禁止(XSS 対策)
- Secure: HTTPS 通信のみで送信
- SameSite: クロスサイトリクエスト時の Cookie 送信を制限(CSRF 対策)
- Max-Age / Expires: セッションの有効期限を設定
- Domain / Path: Cookie の送信範囲を最小限にする
主な攻撃と対策
- セッション固定攻撃: ログイン成功時に必ずセッション ID を再生成する
- セッションハイジャック: HTTPS を強制し、HttpOnly Cookie を使用する
- セッションの無効化: ログアウト時にサーバー側でセッションを破棄する
