仮定のシナリオ:
攻撃者が継続的に Web サイトへのログインを試みているとします。n 回ログインを試行するとスロットリングが開始され、攻撃者はログイン試行が再度処理されるまで一定時間待機することを余儀なくされます。このシナリオでは自動化された攻撃について話しているため、スロットリングがアクティブであり、ユーザー/パスの組み合わせをログイン フォームに投稿し続けていることを理解するほど賢くありません。最終的にスロットリング タイムアウトが終了し、攻撃者はもう 1 つのユーザー/パス コンボをサーバーに送信できます。これにより、このユーザーのスロットリングがアクティブになります。
したがって、自動化された攻撃により、ログインスロットリングが常にアクティブになり、実際のユーザーがログインできないようになるため、実際のユーザーに DoS 状況が効果的に作成されます。
このシナリオをどのように打ち消すことができますか?
これまでのところ、私は持っています:
- ログイン試行が成功したことがわかっている IP をホワイトリストに登録します。実際のユーザーが以前に不明な IP からログインしている場合、これは機能しません。
- 失敗した IP の一時的なブラックリスト登録。攻撃が異なる IP から来ている場合、これは機能しません。