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オープンプラットフォーム「EC-CUBE」 EC-CUBEゴールドパートナー EC-CUBEは株式会社イーシーキューブの商標です

EC-CUBEに関するお問い合わせ


    [重要]現在公式にセキュリティサポートが切れていないPHPは8.1以上、MySQLは8.0以上で、対応しているEC-CUBEバージョンは4.2以上です。古いEC-CUBEを使っている方は適切なタイミングでバージョンアップをご検討ください。

    EC-CUBEバージョンアップ