Skip to content

Latest commit

 

History

History
70 lines (43 loc) · 3.3 KB

File metadata and controls

70 lines (43 loc) · 3.3 KB

セキュリティ対策について

1. クッキーの検証

  • クッキーの存在を確認し、ない場合は 401 Unauthorized を返す。
  • access_tokenrefresh_token の有無をチェック。

2. トークンのチェックとリフレッシュ

  • supabase.auth.setSession でセッションを確認。
  • 無効な場合は refreshSession で新しいトークンを取得。
  • リフレッシュに失敗した場合は 401 Unauthorized を返す。

3. セキュアなクッキー設定

  • HttpOnly: JavaScript からのアクセスを禁止し、XSS 対策。
  • Secure: HTTPS 接続のみ許可し、盗聴防止。
  • SameSite=Lax: CSRF 対策。

4. 適切なエラーハンドリング

  • 401 Unauthorized500 Internal Server Error を適切に返す。
  • 詳細なエラー情報を含め、意図しない情報漏洩を防ぐ。

5. リフレッシュトークンの安全な取り扱い

  • 無効なリフレッシュを防止し、新しいトークンを安全に発行。

まとめ

本実装では、以下のセキュリティ対策が適用されている。

対策 内容
クッキーの検証 クッキーがない場合は 401 を返す
トークンのチェック access_tokenrefresh_token の有無を確認
トークンのリフレッシュ 無効なセッションの場合は refresh_token を使用
セキュアなクッキー設定 HttpOnly, Secure, SameSite=Lax を設定
エラーハンドリング 明確なエラーレスポンスを返し、不正アクセスを防ぐ
リフレッシュトークンの適切な取り扱い 無効なリフレッシュを防止し、新しいトークンを発行

この実装により、XSS, CSRF, セッション固定攻撃、不正リクエストを防ぐ 仕組みが整っている。

メール認証によるセキュリティ対策

1. なりすまし防止

  • メールアドレスの確認により、虚偽のアカウント作成やなりすましログインを防ぐ。
  • 本人確認が完了するまでアカウントを有効化しない。

2. アカウントの乗っ取り防止

  • パスワードリセット時にメール認証を行い、不正アクセスを防止。
  • 多要素認証(MFA)と組み合わせることで、さらに安全性を向上。

3. ボット・スパムアカウントの作成防止

  • メール認証を必須化し、大量のボットアカウントやスパムアカウントの作成を抑制。

4. 不正ログインの検出と通知

  • 新しいデバイスや異常なログインを検出し、ユーザーへ警告メールを送信。

5. ユーザーの信用性向上

  • 実在するユーザーのみが登録できるようになり、システム全体の信頼性を向上。

6. セキュアなアカウント復旧

  • リカバリーメールを活用し、安全なアカウント復旧を可能に。