たくさんのwordpressインストールがインストールされているサーバーを管理しています。ブルートフォース攻撃でCPUが高くなるのを防ぐためのソリューションを探しているため、サーバーが1日数時間使用できなくなります。
これらはターゲットです:
攻撃者があなたのリソースをかみ砕くのを防ぐためにできることはたくさんあります。
すべてまたは一部のサイトでこれを使用しない正当な理由があるかもしれませんが、この手法の有用性を過小評価しないでください。可能な限り使用してください。
ユーザーにWebサーバーレベルでのログインを要求することにより、攻撃者が与える可能性のある被害を最小限に抑え、これらの攻撃に対処するために必要なリソースを制限し、脆弱性のある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を実行したりできる場合は、これらのブルートフォースログインを有効にするために貴重なリソースを費やす必要はありません。
http://wordpress.org/plugins/wp-fail2ban/
fail2banは、ブルートフォースパスワード推測攻撃を防ぐために実装できる最も簡単で効果的なセキュリティ対策の1つです。
fail2banにはいくつかの興味深い機能があります。
多くの攻撃者は、adminなどの一般的なユーザー名でログインしようとします。これらのユーザー名を使用しないことをお勧めします。その場合、それらを使用してログインしようとするユーザーをブロックできます。
WPf2bでは、要求されたユーザー名が一致した場合にログインプロセスを短縮する正規表現を指定できるようになりました
define( 'WP_FAIL2BAN_BLOCKED_USERS'、 '^ admin $');
ここでの考え方は、リクエストのリモートIPとして表示される信頼できるプロキシのIPアドレスを一覧表示することです。
define('WP_FAIL2BAN_PROXIES','192.168.0.42,192.168.0.43');
頭のてっぺんからいくつかの可能性を考えることができます。正当なユーザーへの侵襲性を大まかに増加させるために:
wp-login.php
の名前を別の名前に変更しますか? (アップグレード時に維持する必要があり、隠すことによるセキュリティに依存しますが、正当なユーザーのトラブルを最小限に抑えて、ほとんどの非ターゲットスクリプト攻撃を阻止する必要があります。)wp-login.php
へのレート制限リクエスト? (リクエストの洪水時に正当なユーザーに問題を引き起こしますが、少なくともブログコンテンツへのパブリックアクセスを含むサーバーの残りの部分は、楽しく動き続けるはずです。)私はWordPressプラグインを書きました。おそらく役立つでしょう。
悪い振る舞い 良い 実績 この種のブルートフォース攻撃を阻止します。これは一種のミニマリストのWebアプリケーションファイアウォールであり、すべてのWordPressが読み込まれる前に、リンクスパムやその他の悪意のあるトラフィックを非常に早い段階でブロックし、CPUやその他のリソースを節約します。このレイヤーで行われるonlyは、Webサーバーで実行できることや、別のアプライアンスで実行できることと比較して最小限ですが、他のオプション。)
WordPressプラグインリポジトリ にあります。
サーバーを実行しているので、 ModSecurity を Core Rule Set とともに使用することもできます。 Bad Behaviorのルールの多くはここで再実装され(私の名前やBad Behaviorの名前を探してください)、ルールセットには他にも役立つルールがたくさん含まれています。