WordPressのセキュリティ対策は何からやるべきか│初心者向けに最低限の設定を解説

※本記事にはプロモーションが含まれています。

WordPressサイトを公開すると、想像以上に早い段階でBotによるアクセスが始まります。

実際に私のサイトでも、公開直後から海外IPによるアクセスや、特定のURLを探すようなスキャンが確認されました。

「まだ誰にも知られていないはずなのに、なぜアクセスがあるの?」

そう感じる方も多いと思います。

しかしこれは異常なことではなく、インターネット上では公開されたサイトに対して自動的なスキャンが行われているためです。

この記事では、

  • WordPressで最低限やっておきたいセキュリティ対策
  • 初心者でもできる具体的な設定方法
  • サーバー側でできる対策

を、実際のログ観測をもとに分かりやすく解説します。

WordPressは公開直後からスキャンされる

WordPressは世界中で利用されているCMSのため、Botによるスキャンの対象になりやすい特徴があります。

主に以下のようなアクセスが確認されます。

  • ログインページ(/wp-admin/wp-login.php)へのアクセス
  • 設定ファイル(/.env など)の探索
  • バックアップファイルや.gitの確認

これらはすべて、脆弱な設定がないかを確認するためのスキャンです。


すべてのアクセスを防ぐことはできない

これらのBotアクセスは、インターネットの仕組み上、完全に防ぐことはできません。

そのため重要なのは、アクセスされても問題ない状態にしておくことです。

WordPress側の設定と、サーバー側の対策を組み合わせることで、リスクを大きく下げられます。


WordPressで最低限やっておきたいセキュリティ対策

ここでは、初心者でも実践できる最低限のセキュリティ対策を紹介します。

すべてを完璧に行う必要はありませんが、基本的な設定だけでもリスクを下げることができます。

ログインページの保護

WordPressのログインページ(/wp-admin/wp-login.php)は、Botによる総当たり攻撃の対象になりやすいポイントです。

実際のログでも、ログインページへのアクセスは非常に多く確認されます。

そのため、以下のような対策を行いましょう。

  • /wp-admin/wp-login.phpにBasic認証の設定
  • ログイン試行回数の制限(プラグインなど)
  • reCAPTCHA、画像認証の導入
  • 二段階認証(2FA)の設定
  • 強いパスワード(15桁以上)の設定

WordPressのログイン画面を保護する方法はいくつかありますが、その中でも特に効果が高く、すぐに導入できるのがBasic認証です。

Basic認証を設定すると、以下のような状態になります。

  • /wp-admin/wp-login.php にアクセスする前に認証が必要になる
  • botやスクリプトによるアクセスを大幅に遮断できる
  • 総当たりログイン(ブルートフォース攻撃)を事実上防げる

特に、ログインURLを変更していない環境では、Basic認証を設定するだけで防御レベルが大きく向上します。

WordPress本体のログイン機能に到達する前にアクセスを遮断できるため、アプリケーション層ではなくサーバー側で防御できる点も大きなメリットです。

実際にどのようなアクセスが来ているのかは、以下の記事でも詳しく紹介しています。

WordPressの「/wp-login.php」スキャンとは

不要ファイルの公開防止(.git / .env)

Web上に公開されるべきでないファイルがアクセス可能になっていると、機密情報の漏洩につながる可能性があります。

特に注意したいのが以下のようなファイルです。

  • .git/config(リポジトリ情報)
  • .env(環境変数・認証情報)

これらはBotによるスキャン対象になることが多く、実際のログでもアクセスが確認されることがあります。

対策としては、

  • 不要なファイルはサーバーに置かない
  • .htaccessでアクセスを制限する

といった対応が有効です。

こうしたファイルを狙ったアクセスについては、実際のログをもとにこちらで解説しています。

WordPress公開直後に来た /.git/config スキャン

XML-RPCの無効化

xmlrpc.php はWordPressの標準機能の一つですが、外部連携を行わない場合は不要なことも多い機能です。

この機能は攻撃に悪用されるケースもあるため、使用していない場合は無効化を検討しましょう。

  • プラグインで無効化
  • .htaccessでアクセス制限

といった方法があります。

不要な機能は減らす、という考え方も重要なセキュリティ対策です。

WordPress公開直後に来たxmlrpc.php POSTリクエスト|アクセスログ分析

プラグイン・テーマの更新

古いプラグインやテーマには、既知の脆弱性が含まれている場合があります。

そのため、以下の点を意識しましょう。

  • 定期的にアップデートする
  • 使っていないプラグインは削除する

特に長期間更新されていないプラグインは注意が必要です。

入れっぱなしにしないことが大切です。

バックアップを必ず取る

どれだけ対策をしても、100%安全な状態を保つことはできません。

そのため、万が一に備えてバックアップを取っておくことが重要です。

  • サーバーの自動バックアップ機能
  • プラグインによるバックアップ

などを活用することで、トラブル時にもサイトを復元できるようになります。


WordPress公開直後にどのようなBotが来るのかについては、以下の記事でまとめています。

WordPress公開直後に来たBotの種類を調査


サーバー側のセキュリティも重要

WordPressの設定だけでなく、サーバー側のセキュリティ機能も重要です。

例えば、WAF(Web Application Firewall)を利用することで、不正なリクエストの一部を自動でブロックすることができます。

これにより、WordPressに到達する前の段階で、リスクを軽減することが可能になります。


初心者がサーバー選びで見るべきポイント

これからWordPressを始める場合、サーバー選びも重要です。

特に以下のポイントを確認しておくと安心です。

  • WAFが利用できる
  • SSLが簡単に設定できる
  • 自動バックアップがある
  • 管理画面が分かりやすい

これらが揃っていると、初心者でも安全にサイト運用ができます。

私自身も実際に使っていますが、設定の分かりやすさや安定性の面でも安心して運用できています。

特に、WAFや自動バックアップなどの機能が標準で使えるため、WordPress初心者でもセキュリティ面を意識しながら運用できます。

エックスサーバーの公式サイトを見る


まとめ

WordPressサイトは、公開直後からBotによるスキャンの対象になります。

これ自体は避けられないものですが、

  • WordPress側の基本対策
  • サーバー側のセキュリティ機能

を組み合わせることで、リスクを大きく下げることができます。

最初からすべてを完璧にする必要はありませんが、最低限の対策だけでも行っておくことが大切です。


よくある疑問

Q. wp-login.phpを変更すれば安全になりますか?

完全には安全になりません。
ログインURLの変更は、単純な攻撃を減らす効果はありますが、/wp-admin/xmlrpc.php など他の経路はそのまま残ります。
そのため、ログインURL変更だけで安心するのではなく、複数の対策を組み合わせることが重要です。
WordPressの「/wp-login.php」スキャンとは

Q. ログに大量のアクセスがありますが、攻撃されていますか?

ほとんどの場合、無差別スキャンです。
WordPressは公開した時点で、さまざまなBotに自動でスキャンされます。
これは特定のサイトが狙われているわけではなく、インターネット全体に対する調査の一部です。
WordPress公開直後にBotアクセス

Q. 海外IPアドレスをブロックすれば安全ですか?

効果は限定的です。
攻撃の多くが海外IPから来ているのは事実ですが、正規のサービス(Googleなど)も海外IPを使用しています。
また、攻撃者はIPを簡単に変えることができるため、完全な対策にはなりません。

Q. プラグインだけでセキュリティ対策は十分ですか?

プラグインだけでは不十分です。
セキュリティは、
・サーバー(WAFなど)
・WordPress設定
・パスワード管理
などを組み合わせて対策する必要があります。

Q. xmlrpc.phpは無効化した方がいいですか?

使っていない場合は無効化がおすすめです。
xmlrpc.phpはブルートフォース攻撃に悪用されることがあり、不要であればリスクを減らすために無効化しておくと安心です。
WordPress公開直後に来たxmlrpc.php POSTリクエスト

Q. WordPressは危険なんですか?

WordPress自体が特別危険というわけではありません。
ただし、世界中で使われているため、攻撃対象になりやすいのは事実です。
適切な設定を行えば、安全に運用できます。


このブログの運営環境

  • WordPress
  • GeneratePress
  • エックスサーバー

エックスサーバー公式サイト