EC-CUBEのログイン試行回数制限を変更してセキュリティを強化する
EC-CUBE 4には、ブルートフォース攻撃(総当たり攻撃)を防ぐためのログイン試行回数制限機能が標準搭載されています。この設定を調整することで、セキュリティレベルをサイトの要件に合わせて変更できます。
デフォルトの設定
app/config/eccube/packages/eccube.yamlにある以下の設定です。
eccube_login_throttling_max_attempts: 5
eccube_login_throttling_interval: '30 minutes'
デフォルトでは、30分以内に5回失敗するとロックアウトされる設定になっています。
設定値の意味
eccube_login_throttling_max_attempts: 許可する失敗回数eccube_login_throttling_interval: 失敗回数をカウントする期間
カスタマイズ例
1. セキュリティを強化(厳格な設定)
eccube_login_throttling_max_attempts: 3
eccube_login_throttling_interval: '60 minutes'
60分以内に3回失敗でロック。金融機関や機密性の高いサイト向け。
2. ユーザビリティ重視(緩やかな設定)
eccube_login_throttling_max_attempts: 10
eccube_login_throttling_interval: '15 minutes'
15分以内に10回失敗まで許可。パスワードを忘れやすいユーザーが多い場合。
3. バランス型(推奨設定)
eccube_login_throttling_max_attempts: 5
eccube_login_throttling_interval: '30 minutes'
デフォルト設定。セキュリティとユーザビリティのバランスが取れています。
4. 管理画面のみ厳格化
フロント(会員)と管理画面で異なる設定にする場合は、カスタマイズが必要です。
時間指定の書き方
インターバルは以下の形式で指定できます:
'10 minutes'– 10分'30 minutes'– 30分'1 hour'– 1時間'2 hours'– 2時間'1 day'– 1日
設定反映方法
# コマンドラインの場合 php bin/console cache:clear # 管理画面の場合 コンテンツ管理 > キャッシュ管理 > キャッシュ削除
まとめ
ログイン試行回数制限は、サイトのセキュリティポリシーに応じて柔軟に調整できます。BtoB向けや機密性の高いサイトでは厳格に、一般消費者向けサイトではユーザビリティを考慮した設定がおすすめです。
EC-CUBEに関するお問い合わせ
[重要]現在公式にセキュリティサポートが切れていないPHPは8.1以上、MySQLは8.0以上で、対応しているEC-CUBEバージョンは4.2以上です。古いEC-CUBEを使っている方は適切なタイミングでバージョンアップをご検討ください。
EC-CUBEゴールドパートナー