イントラネットでは、ログインが失敗した後、ログインは通常無効になります。
しかし、Gmailのような公共のメールサービスでは同じことができません。
ローカルにあるパスワードファイルをブルートフォースで強制するのとは異なり、Gmailなどのリモートサービスで特定のアカウントにアクセスすると、かなりのネットワーク遅延が発生するため、ブルートフォースアプローチの速度が大幅に制限されます。
そして、サービスは人為的な遅延をもたらす可能性があります。ログインを拒否または受け入れる前に、数秒待ってください。
また、失敗したログイン試行が発生したIPアドレスごとの遅延が増える可能性があります。
ただし、DoS攻撃を促進する前に遅延が発生するのは、これまでのところだけです。有効なユーザーがプロキシを経由する場合、同じプロキシを経由する他のユーザーは、ログイン試行に失敗してそのユーザーのログイン遅延を延ばすことができます。したがって、遅延はこれまでしか増やすことができません。
しかし、5秒の遅延でさえ、人間をわずかに不快にさせるだけで、単一のマシンからのブルートフォースを阻止します。
しかし、ボットネットはどうですか?最大のものは数十万台のマシンを持っています。
すべてが数回の試行のみを行う場合、これは被害者のパスワードがたとえば最も一般的な1万。
私は古いものを見てきました 2011年の分析 これは、ユーザーパスワードの30%が最も一般的な1万に分類されることを示唆しています。
つまり、指定されたアカウントをクラックする可能性は3分の1です。
だけど、たぶん:
これが既存の質問の繰り返しであると思われる場合は申し訳ありません。 @woliveirajrは この回答 で、いくつかの失敗した試行の後、CAPTCHAを導入することを提案しています。
IPアドレスごとにこれを行わない場合、一部のユーザー(有名人など)は常にCAPTCHAを入力する必要があります。 IPアドレスごとにこれを行うと、一般的なパスワードのかなりの部分をカバーする試行回数が多くなります(上記を参照)。
Gmailや他の誰かがこれを行いますか、つまり、ログインに数回失敗した後にCAPTCHAが必要ですか?
これに対するいくつかの回答 人気の質問 何度か失敗した後に人を締め出すことについて言及していますが、上記のように、Gmailのようなものではなく、企業のイントラネットでのみこれを行うことができると思いますすぐにDoSに使用されます。
Gmailは、リクエストが複数のIPから発信されている場合でも、アカウントの不審な動作を検出したときにCAPTCHAによる解決を要求します。
ユーザーエクスペリエンスとユーザーセキュリティの間には常に設定すべきバランスがあります。有名人がGmailを使用している場合、メールを公開するよりも、毎回キャプチャを入力するほうがよいでしょう。さらに、まだ「デフォルトでオン」になっていない場合でも、重要なアカウントには2要素認証を使用する必要があります。これにより、アカウントが侵害されるリスクが大幅に減少します。
私の意見では、あらゆる種類の遅延Webアプリケーションには使用しないでくださいです。これは、ユーザーの不満を増すだけであり、DoS攻撃の構築にも役立ちます。