drupalはブルートフォースログイン攻撃に対して安全ですか?


9

ブルートフォース攻撃は、パスワードのさまざまな組み合わせを継続的に生成して入力することにより、Webサイトへの不正アクセスを試みる試みです。このタスクは通常、成功または失敗のメッセージを探し、成功メッセージを受け取るまで新しいパスワードを試行し続ける自動化ソフトウェア(「ボット」)によって実行されます。

Drupal 7はデフォルトでそれに対して安全ですか?より安全な構成は何ですか?より安全なサインインに役立つモジュールはどれですか?


1
答えは、あなたが話している攻撃の種類によって異なります。攻撃者がユーザー「admin」のパスワードが「Password1」であると推測し、パスワードが「javagod」であると推測する総当たり攻撃を意味しますか?
greggles

はい、質問のタイトルとしてブルートフォースログイン攻撃:(
Yusef

回答:


12

コードからわかるように、関数user_login_final_validateはフラッドイベントを登録します。つまり、同じIPがユーザー/ログインパスワードを何度も接続しようとすると、しばらくの間「禁止」されます。

これは、Drupalが提供する保護の1つです。もう1つ、あなたのWebサイトでそれが起こった場合、すぐに気付くと思います。それは、Drupalが各フォームに対して生成するCSRFトークンです。

つまり、攻撃者ボットはフォームを生成してからトークンを取得し、それを送信フォームに関連付ける必要があります。これは非常に時間がかかり、攻撃者を思いとどまらせる可能性があります。ただし、最初に、サーバーの温度が高くなるのがわかります。


シミュレーションログインフォームの場合、必要なのはdrupalログインフォームをコピー/貼り付けするだけです。別のdrupalサイトのhtmlをローカルテストファイルにコピー/貼り付けすれば、テストできます(フォームのアクションが絶対にdomain.com/user/にリダイレクトされることを確認してください)ログイン)、ローカルで実行し、有効なユーザーを入力して、ログインしているのを確認してください!!!!!!
ユセフ2012

このフォームは、データベースにキャッシュされたトークン(およびフォーム)と同じくらいDrupalで機能します。キャッシュが期限切れになると、フォームは機能しなくなります。
yvan 2012

私はキャッシュをクリアしましたが、それでも動作します
Yusef

1
CSRF保護は無効にでき、ログインフォームで無効になります。また、検索フォームでも無効になっています。しかし、イヴァンが述べたように、洪水防御はフォーム自体への総当たり攻撃を防ぎます。これはボットネットへのアクセス権を持つ誰かからの分散型攻撃を防ぐことはできませんが、同じユーザーに対して繰り返し失敗したログインを探すログ分析(Droptorなど)はそれを修正します。
greggles 2012

3

Drupal 7がログイン試行を停止するために実装する優れた対策に加えて、新しいユーザー登録の試行を特に処理するSpambotモジュールをインストールすることを勧めします

新しいユーザーが登録されるたびに、そのモジュールはStop Forum Spamサーバーに照会して、登録を試みているユーザーが既知のボットかどうかを確認します。

必要に応じて、Webサイトの登録試行でStop Forum Spamに貢献できます。


3

洪水制御があります

このプロジェクトは、ログイン試行リミッターや将来の隠し変数など、Drupal 7の隠し洪水制御変数の管理インターフェースを追加することを目的としています。

コア洪水制御システムを定義し、相互作用する機能

洪水システムには、3つの機能があります。

flood_register_event($name, $window = 3600, $identifier = NULL)

現在の訪問者のイベントを洪水調節メカニズムに登録します。

flood_clear_event($name, $identifier = NULL)

洪水制御メカニズムに、現在の訪問者のイベントを忘れさせます。

flood_is_allowed($name, $threshold, $window = 3600, $identifier = NULL)

ユーザーが指定されたイベントを続行できるかどうかを確認します。基本的に、flood_is_allowedを呼び出して、ユーザーがアクセスできるかどうかを確認します。FALSEを返す場合は、「アクセス拒否」をスローします。ユーザーがアクションを実行するたびに、flood_register_eventを呼び出します。

デフォルトでは、ユーザーのIPアドレスをチェックします。しかし、ユーザーIDのような他の一意の識別子を渡すこともできます。

上記は、Drupalのフラッディングシステムでの再生からコピー


1
適切な帰属表示なしにWebからコピーして貼り付けないでください
Clive

1
@Clive私はこれからこれを処理します。そしてそれは私が伝えたいことです。
niksmac 2013年

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.