WordPressへの攻撃で最も多いのが「不正ログイン」

WordPressサイトが受ける攻撃のなかで、もっとも件数が多いのが不正ログイン(総当たり攻撃・パスワードリスト攻撃)です。世界中から自動プログラム(ボット)が、24時間休みなくログインを試みています。「小さなサイトだから狙われない」ということはなく、狙いは自動化されており、URLさえあれば無差別に攻撃されます

この記事では、WordPressの不正ログインを防ぐ基本対策と、実際に私たちが使っているおすすめのプラグインを、Wordfenceからの乗り換え経験もふまえて解説します。

WordPressのログインを狙う総当たり攻撃を防ぐイメージ

なぜWordPressは不正ログインを狙われるのか

理由はシンプルで、WordPressの仕組みが世界共通で「予測しやすい」からです。攻撃者にとって狙いやすいポイントが、初期状態ではいくつも開いています。

  • ログインページが /wp-login.php という共通のURLで、誰でも開ける
  • 管理画面が /wp-admin/ という共通のパスにある
  • 初期の管理者名が admin など推測されやすい
  • xmlrpc.php という別の入り口からもログインを試せる
  • 投稿者アーカイブなどからユーザー名が特定されやすい

つまり、「入り口の場所」と「ユーザー名」が知られやすく、あとはパスワードを総当たりで破るだけという状態になりがちなのです。ここをふさぐのが、不正ログイン対策の基本になります。

不正ログインを防ぐ基本対策

やるべきことは、大きく次の5つです。

対策 効果
ログインURLの変更 共通URLを変え、自動ボットの大半を入り口で弾く
管理画面のアクセス制限 ログインしていないIPからの /wp-admin/ を遮断する
ログイン試行回数の制限・通知 連続失敗をブロックし、ログインをメールで知らせる
強固なパスワード+2段階認証 破られにくくし、万一漏れても侵入を防ぐ
ユーザー名を推測されない工夫 admin回避・ユーザー名の列挙対策

とくにログインURLの変更は、日本の実務で定番の一次対策です。攻撃の多くは /wp-login.php を直接たたく自動ボットなので、URLを変えるだけで大半を入り口でシャットアウトできます。ただし後述するように、これだけで万全というわけではありません。

ここまでのまとめと、プラグインで一括する考え方

ここまでの対策は、1つずつ手作業で設定することもできますが、現実的にはセキュリティプラグインでまとめて設定するのが効率的です。問題は「どのプラグインを選ぶか」。ここで多くの方が悩むのが、定番のWordfenceと、国産のCloudSecure WP Securityの選択です。ここからは、実際に乗り換えた経験をもとに解説します。

Wordfenceの弱点:ログインURLを単独で変えられない

Wordfenceは非常に高機能な定番プラグインで、マルウェアスキャンやファイアウォールを備えています。ですが、不正ログイン対策という観点では見落とされがちな弱点があります。Wordfence単独では、ログインURLを変更できないのです。

これはWordfenceの方針で、「URLを隠しても、攻撃の半数以上は xmlrpc.php 経由なので効果が限定的」という考えによるものです。一理ありますが、日本の現場ではログインURL変更で自動ボットを大幅に減らせるのも事実で、多くのサイトが採用しています。

そこでWordfenceでログインURLを変えたい場合、WPS Hide Loginなどの別プラグインを追加することになります。しかし、セキュリティ系プラグインを複数重ねると、互いに干渉して「ログインできない」といった不具合を起こすリスクが高まります。管理も煩雑になり、動作も重くなりがちです。Wordfenceの詳しい設定はWordfenceの推奨設定でも解説しています。

【提案】エックスサーバー利用者なら CloudSecure WP Security ひとつで十分

そこで私たちがたどり着いたのが、国産のCloudSecure WP Securityです。とくにエックスサーバーを使っているなら、これひとつで不正ログイン対策は完結すると考えています。理由は明確です。

  • ログインURLの変更を単独で備える:Wordfenceのように別プラグインを足す必要がない
  • 管理画面のアクセス制限・WAF・ログイン通知・重要ファイル保護まで1つで完結する
  • 国産・日本語で設定がシンプル、動作も軽い
  • 提供元がエックスサーバー系のため、サーバー側のセキュリティと相性が良い

プラグインを1つに集約できるので、複数プラグインの競合という不具合リスクを避けられるのが大きな利点です。エラーメッセージを統一してユーザー名の特定を防ぐなど、ログイン周りに必要な機能がひととおりそろっています。

実際に、自社サイトを外部からチェックしてみた

私たちはこの構成を、自社サイト(edel-hearts.com)でも実践しています。人にお勧めする以上、口先だけにならないよう、実際に外部から自社サイトのセキュリティ状態をチェックしてみました。攻撃者がまず調べるポイントを、外から一つずつ確認したのです。その結果は次のとおりでした。

  • ログインページは通常のURL(/wp-login.php)ではアクセスできず、きちんと隠されている
  • 管理画面(/wp-admin/)への直接アクセスは遮断される
  • xmlrpc.php や、ユーザー名を割り出すためのアクセス(REST API・投稿者アーカイブ)もブロックされている
  • WordPressのバージョン情報や、設定ファイルのバックアップも露出していない

攻撃者に狙われやすいポイントが、きちんと塞がれていることを確認できました。あわせて、HTTPでアクセスされた際にHTTPSへ確実に転送されるようリダイレクトを見直し、クリックジャッキング対策のヘッダーも追加しました。「人に勧める前に、まず自分たちで実践して検証する」――これが私たちの基本姿勢です。

ただし「これだけで全部安全」ではない点に注意

正直にお伝えすると、CloudSecure WP Securityにも弱点があります。マルウェアスキャンやファイル改ざん検知の機能はありません。つまり、万一サイトが感染してしまった場合の「検知」はできません。

ここを補うのが、エックスサーバーが標準で備える「WAF」と「Web改ざん検知」です。サーバー側が改ざんを検知してくれるため、プラグイン側にスキャン機能がなくても、全体として多層で守れる形になります。「ログイン周りはCloudSecure、感染検知はサーバー機能」と役割分担できるのが、エックスサーバー利用者にとっての強みです。マルウェア被害の実際はログインできない原因がマルウェアだった復旧事例もご覧ください。

プラグインだけに頼らない:多層防御の考え方

どんなに優れたプラグインでも、1つで全部を守れるわけではありません。不正ログイン対策・感染検知・バックアップ・更新、それぞれ役割が違うからです。安全なサイト運用は、次の組み合わせで成り立ちます。

  • ログイン対策:CloudSecure WP Security(URL変更・アクセス制限・WAF)
  • 感染検知:サーバーのWeb改ざん検知・WAF
  • 被害からの復旧:定期的なバックアップ
  • 脆弱性をふさぐ:本体・テーマ・プラグインの更新(安全な更新手順

この多層で守る考え方があってこそ、プラグインが本来の力を発揮します。逆に言えば、「セキュリティプラグインを入れたから安心」と油断するのが一番危険です。

まとめ:入り口を固め、多層で守る

WordPressの不正ログイン対策は、ログインURLの変更・管理画面の制限・強固な認証で「入り口」を固めるのが基本です。そのうえで、エックスサーバー利用者ならCloudSecure WP Security ひとつでログイン対策を完結でき、感染検知はサーバー機能に任せるという、無理のない構成が組めます。大切なのは、プラグイン1つに頼りきらず、更新やバックアップも含めて多層で守ることです。

私たちEdel Heartsは、サーバーの特性に合わせたセキュリティ設計から、感染時の復旧、継続的な保守までを一貫して対応するWordPress専門チームです。「うちのサイトの守りは十分?」というチェックだけでも歓迎です。お気軽にご相談ください。

この記事をシェア