2

脆弱なパスワードで保護されたアカウントをボットがハッキングするのを防ぎたいです。(たとえば、これは ebay や他の大きなサイトで起こりました)

そこで、IP、試行回数、最後の試行のタイムスタンプ (memcache-fall-out) を使用して (mem-) キャッシュ値を設定します。

しかし、たった 1 つのパスワードでアカウントを開こうとするボットはどうでしょうか。たとえば、ボットはパスワード「password123」を使用して 500.000 個のユーザー アカウントすべてを試行します。たぶん10は開きます。

したがって、私の試みは、IPを試行してキャッシュし、max-triesを〜50に設定することでした. ログインが成功したら削除します。したがって、グッドボットは、ロックのリセットを 49 回試行するたびに、有効なアカウントでログインするだけです。

それを正しく行う方法はありますか?大手プラットフォームはこれについて何をしますか? ばかが 50 回の再試行でプロキシ上のすべてのユーザーをブロックしないようにするにはどうすればよいですか?

ベスト プラクティスがない場合、どのプラットフォームも力ずくで攻撃できるということですか? 少なくともカウンターがいつリセットされるかについてのヒントはありますか?

4

8 に答える 8

6

ソリューションをキャプチャと組み合わせることができると思います:

  1. IP ごとの試行回数をカウントする
  2. 特定の時間内に特定の IP アドレスからの試行が多すぎる場合は、ログイン フォームにキャプチャを追加してください。
于 2009-01-19T14:29:48.537 に答える
5

一部のサイトでは、ユーザー名/パスワードと一緒にキャプチャを入力し始める前に、おそらく 2 ~ 3 回試行します。ログインに成功すると、キャプチャは消えます。

于 2009-01-19T14:27:53.160 に答える
3

数日前、Coding Horrorに関する比較的良い記事がありました。

于 2009-01-19T14:27:38.603 に答える
2

コードは Django に焦点を当てていますが、サイモン ウィリソンのブログには、ベスト プラクティスの方法に関するいくつかの非常に優れた議論があります。彼は memcached を使用して、IP とログインの失敗を追跡しています。

于 2009-01-19T14:30:12.793 に答える
1

ユーザーがパスワードを設定するときにパスワード強度チェッカーを使用して、簡単にブルート フォースされたパスワードを使用していないことを確認できます。

編集:明確にするために、これは解決しようとしている問題の完全な解決策と見なされるべきではありませんが、他のいくつかの回答と併せて考慮する必要があります。

于 2009-01-19T14:30:40.610 に答える
0

注意してください: IP アドレスは、何千人、何百万人ものユーザー間で共有できます!!! たとえば、ほとんど/すべての AOL ユーザーは、AOL のネットワーク アーキテクチャにより、非常に小さな IP アドレスのセットとして表示されます。ほとんどの ISP は、大規模なユーザー ベースを少数のパブリック IP アドレスのセットにマップしています。

IP アドレスが 1 人のユーザーだけに属しているとは限りません。

1 人のユーザーが 1 つの IP アドレスのみを使用すると想定することはできません。

于 2009-01-19T20:37:24.973 に答える
0

ボットのグループが多数の異なる IP アドレスからこれを試みるのを防ぐことはできません。

同じ IP アドレスから: 「疑わしい」動作 (無効なユーザー名、または複数の有効なアカウントで不正なログイン試行) の例が見られた場合は、ログインを数秒間ブロックしてください。正当なユーザーであれば、数秒待ってもかまいません。それがボットの場合、これは実際的でなくなるまで速度を落とします。IP アドレスからの動作が引き続き見られる場合は、それらをブロックしますが、正当なユーザーには帯域外ドアを残します (電話 #x に電話するか、このアドレスに電子メールを送信します)。

于 2009-01-19T14:31:02.170 に答える
0

分散ブルート フォース攻撃と辞書攻撃に対するベスト プラクティスについて説明している次の質問を確認してください。

最適な分散ブルート フォース対策は何ですか?

于 2009-01-30T06:41:56.120 に答える