セキュリティ強化
セキュリティ強化のために、認証機能に追加する機能には以下のようなものがあります。
- 2要素認証(2FA)
- パスワードの強度チェック
- パスワードのハッシュ化とソルト
- メールアドレス認証
- ログイン試行回数制限(レートリミット)
- ログイン通知メール
- セッション管理のセキュリティ強化
2要素認証(2FA)
- パスワードに加えてワンタイムコード(OTP)などを入力させることで、不正ログインを防止。
- 実装例: TOTP(Google Authenticator など)やSMSコード
パスワードの強度チェック
- 文字数の下限(例: 8文字以上)
- 大文字、小文字、数字、記号の組み合わせを必須とする
- ユーザー名や一般的な単語(password, 123456など)を禁止する
- パスワードの使い回しを防止するため、一定期間使用したパスワードの再設定を要求する
メールアドレス認証
- 登録後にメールアドレス確認リンクを送信。確認済みユーザーだけログイン可能にする。
ログイン試行回数制限(レートリミット)
- IPアドレスごとにログイン試行回数を制限。express-rate-limit のライブラリを使用