web-dev-qa-db-ja.com

wordpressブルートフォース攻撃でサーバーが使用できなくなるのを防ぐ

たくさんのwordpressインストールがインストールされているサーバーを管理しています。ブルートフォース攻撃でCPUが高くなるのを防ぐためのソリューションを探しているため、サーバーが1日数時間使用できなくなります。

これらはターゲットです:

  • リファラーの検出だけでは不十分です( [〜#〜] example [〜#〜] )(すでにこのソリューションを試しましたが、私を攻撃するハッカーはそれを回避してCPUをいっぱいにすることができます)。
  • .htaccessを介した「wp-login.php」のパスワード保護は適切な解決策ではありません( [〜#〜] example [〜#〜] )(会社の要件)。
1
elijabaley

攻撃者があなたのリソースをかみ砕くのを防ぐためにできることはたくさんあります。

管理領域にパスワード保護を使用することを(再)検討する

すべてまたは一部のサイトでこれを使用しない正当な理由があるかもしれませんが、この手法の有用性を過小評価しないでください。可能な限り使用してください。

ユーザーにWebサーバーレベルでのログインを要求することにより、攻撃者が与える可能性のある被害を最小限に抑え、これらの攻撃に対処するために必要なリソースを制限し、脆弱性のあるWebサイトをさらに保護します。

管理者ログインをIPホワイトリスト(Webサーバー)に制限する

あなたはあなたのウェブサイトの一部へのアクセスを拒否することができます。かなり大きなIPのサブネットを開く必要がある場合でも、全世界を受け入れるよりはましです。

Nginxでは、次のようになります。

location /wp-admin {
  # block one workstation
  deny    192.168.1.1;
  # allow anyone in 192.168.1.0/24
  allow   192.168.1.0/24;
  # drop rest of the world
  deny    all;
}

見つけにくくする

ブルートフォース攻撃は、いくつかの仮定をします。 wp-adminフォルダーの名前を変更したり、wp-login.phpの名前を変更したり、非標準ポートでwp-adminを実行したりできる場合は、これらのブルートフォースログインを有効にするために貴重なリソースを費やす必要はありません。

fail2banを試してください

http://wordpress.org/plugins/wp-fail2ban/

fail2banは、ブルートフォースパスワード推測攻撃を防ぐために実装できる最も簡単で効果的なセキュリティ対策の1つです。

fail2banにはいくつかの興味深い機能があります。

間違ったユーザー名でのログイン試行をブロックする

多くの攻撃者は、adminなどの一般的なユーザー名でログインしようとします。これらのユーザー名を使用しないことをお勧めします。その場合、それらを使用してログインしようとするユーザーをブロックできます。

WPf2bでは、要求されたユーザー名が一致した場合にログインプロセスを短縮する正規表現を指定できるようになりました

define( 'WP_FAIL2BAN_BLOCKED_USERS'、 '^ admin $');

ip-ホワイトリスト(fail2ban)

ここでの考え方は、リクエストのリモートIPとして表示される信頼できるプロキシのIPアドレスを一覧表示することです。

define('WP_FAIL2BAN_PROXIES','192.168.0.42,192.168.0.43');
0
Drew Khoury

頭のてっぺんからいくつかの可能性を考えることができます。正当なユーザーへの侵襲性を大まかに増加させるために:

  • wp-login.phpの名前を別の名前に変更しますか? (アップグレード時に維持する必要があり、隠すことによるセキュリティに依存しますが、正当なユーザーのトラブルを最小限に抑えて、ほとんどの非ターゲットスクリプト攻撃を阻止する必要があります。)
  • WebサーバープロセスをCPU制限しますか? (リクエストのフラッド時にWebサーバーの動作がやや遅くなりますが、激しい攻撃が発生した場合でもサーバーのメンテナンスが可能になります。残りのCPUはわずか5%で十分です。データベースサーバープロセスとの調整も必要になる場合があります。)
  • フロントサイドロードバランサーまたはファイアウォールのwp-login.phpへのレート制限リクエスト? (リクエストの洪水時に正当なユーザーに問題を引き起こしますが、少なくともブログコンテンツへのパブリックアクセスを含むサーバーの残りの部分は、楽しく動き続けるはずです。)
0
a CVn

私はWordPressプラグインを書きました。おそらく役立つでしょう。

悪い振る舞い 良い 実績 この種のブルートフォース攻撃を阻止します。これは一種のミニマリストのWebアプリケーションファイアウォールであり、すべてのWordPressが読み込まれる前に、リンクスパムやその他の悪意のあるトラフィックを非常に早い段階でブロックし、CPUやその他のリソースを節約します。このレイヤーで行われるonlyは、Webサーバーで実行できることや、別のアプライアンスで実行できることと比較して最小限ですが、他のオプション。)

WordPressプラグインリポジトリ にあります。


サーバーを実行しているので、 ModSecurityCore Rule Set とともに使用することもできます。 Bad Behaviorのルールの多くはここで再実装され(私の名前やBad Behaviorの名前を探してください)、ルールセットには他にも役立つルールがたくさん含まれています。

0
Michael Hampton