WordPressセキュリティセルフチェックリスト|安全度を5分で診断

WordPressセキュリティセルフチェックリスト|安全度を5分で診断
WordPressセキュリティ対策

WordPressサイトのセキュリティ対策、どこまでできていますか?

「アップデートはしているけれど、ほかに何を確認すればいいのか分からない」という方も多いと思います。

この記事では、WordPressサイトで最低限チェックしておきたいセキュリティ項目をまとめました。管理画面を見ながら順番に確認すれば、5分ほどで現在の安全度をチェックできます。

できていない項目があっても、すべてを一度に対応する必要はありません。まずは今の状態を確認して、必要な対策を整理していきましょう。

wordpress保守サービス

1. WordPress本体とユーザーを確認する

WordPressを最新バージョンにする

まず確認したいのが、WordPress本体のバージョンです。古いバージョンを使い続けていると、すでに知られている脆弱性を狙われる可能性があります。

管理画面の「ダッシュボード」→「更新」から、現在のバージョンと更新状況を確認できます。

ただし、本番サイトをいきなりアップデートすると、テーマやプラグインとの相性によって表示崩れやエラーが起きることもあります。重要なサイトでは、バックアップを取得したうえで、可能であればステージング環境で確認してから更新するのが安全です。

不要なユーザーを残さない

使っていないユーザーアカウントが残っていないかも確認しておきます。特に管理者権限を持つアカウントは、必要以上に増やさない方が安全です。

退職者や過去の制作会社など、現在使用していないアカウントがあれば削除し、管理者権限が不要なユーザーには「編集者」など必要な範囲の権限を設定します。

「admin」のような推測されやすいユーザー名も、できれば避けておきたいところです。

2. プラグインとテーマを確認する

古いプラグインやテーマを放置しない

WordPress本体だけでなく、プラグインやテーマも定期的な更新が必要です。古いまま使い続けると、修正されていない脆弱性が残っている可能性があります。

管理画面の「プラグイン」や「外観」から更新状況を確認し、更新できるものが残っていないか確認します。

自動更新を利用する方法もありますが、アップデートによって表示崩れや不具合が起きることもあります。すべてを無条件で自動更新するのではなく、サイトの運用方法に合わせて設定するのがおすすめです。

使っていないプラグインを削除する

停止しているだけのプラグインも、サーバー上にはファイルが残っています。今後使う予定がないものは、停止したまま残さず削除しておきましょう。

管理画面の「プラグイン」→「停止中」から一覧を確認できます。

テーマについても同様です。現在使用しているテーマや必要な予備テーマ以外は整理しておくと、管理もしやすくなります。

3. ログインまわりを確認する

2要素認証を設定する

管理画面への不正ログイン対策として、特に効果が高いのが2要素認証です。

パスワードが漏えいした場合でも、認証コードなどを追加で求めることで、不正ログインされる可能性を下げられます。

特に管理者など権限の高いユーザーには、できるだけ設定しておきたい項目です。

ログイン試行回数を制限する

ログイン画面に対して、パスワードを繰り返し試すブルートフォース攻撃が行われることがあります。

一定回数ログインに失敗したユーザーやIPアドレスを一時的にロックすることで、こうした攻撃への対策になります。

セキュリティプラグインなどを使って、ログイン試行回数が制限されているか確認してみてください。

ログインURLを変更する

WordPressのログイン画面は、通常/wp-login.phpです(/wp-adminにアクセスした場合も、ログインしていなければこの画面に転送されます)。

これはWordPress共通のURLなので、自動化された攻撃のアクセス先にもなりやすい場所です。ログインURLを変更しておくことで、こうした機械的なアクセスを減らすことができます。

ただし、URLを変更すると管理者自身も新しいURLを知らなければログインできません。変更したURLは必ず管理しておきましょう。

ここまで紹介した「2要素認証」「ログイン試行回数の制限」「ログインURLの変更」などは、セキュリティプラグインを使ってまとめて管理することもできます。
WPセンターでは、WordPress向けのセキュリティプラグイン「CenterShield (センターシールド)」を無料で公開しています。

CenterShield (センターシールド)では、ログイン保護をはじめとしたWordPressの基本的なセキュリティ対策を一つの画面から設定できます。プラグインを有効化しただけでは設定は変更されず、推奨されている対策はまとめて適用することもできます。

ログインURLの変更など、サイトの利用方法に影響する可能性がある設定は、内容を確認したうえで個別に設定してください。

4. 通信とアクセス制御を確認する

HTTPSになっているか確認する

ブラウザでサイトを開き、URLがhttps://から始まっているか確認します。

HTTPでアクセスした場合にも、自動的にHTTPSへ転送される状態が理想です。

また、サイト自体はHTTPSになっていても、画像やJavaScriptなどの一部がHTTPで読み込まれている「Mixed Content」が残っている場合があります。ブラウザ上で警告が出ていないかも確認しておきましょう。

WAFを有効にする

利用しているレンタルサーバーにWAF機能がある場合は、有効になっているか確認してみてください。

WAFは、SQLインジェクションやクロスサイトスクリプティングなど、Webサイトへの不審なリクエストを検知・遮断する仕組みです。

Xserverやさくらのレンタルサーバなど、サーバーの管理画面から設定できるサービスもあります。Cloudflareなどの外部サービスを使って対策する方法もあります。

ただし、WAFによって正常な通信までブロックされることがあります。有効化したあとは、サイトの表示やフォームなどに問題がないか確認してください。

5. WordPress特有の設定を確認する

xmlrpc.phpを使用しているか確認する

WordPressにはxmlrpc.phpという外部通信用の仕組みがあります。

利用していない場合は外部からアクセスできないようにしておくことで、攻撃経路を減らすことができます。

確認するには、ブラウザでhttps://example.com/xmlrpc.php(example.comの部分はご自身のドメイン)を開きます。「403 Forbidden」などのエラー画面が表示されれば、アクセスは制限されています。「XML-RPC server accepts POST requests only.」と表示される場合は、外部からアクセスできる状態です。

なお、プラグインの設定で「XML-RPCを無効化」していても、ログインが必要な機能だけを止める方式の場合は、このメッセージが表示されたままになります。アクセス自体を遮断したいときは、サーバー側(.htaccessなど)で制限する設定を選んでください。

ただし、JetpackなどXML-RPCを利用するサービスもあるため、無効化する前に使用状況を確認してください。

wp-config.phpが保護されているか確認する

wp-config.phpには、データベースへの接続情報やWordPressの認証キーなど重要な情報が記載されています。

通常のWebアクセスで内容が表示されることはありませんが、サーバー設定も含めて外部から参照できない状態になっているか確認しておくと安心です。

設定を変更する場合は、必ずバックアップを取ってから作業してください。

6. 監視とバックアップを確認する

サイトに異常がないか定期的に確認する

セキュリティ対策は、一度設定すれば終わりではありません。

ファイルが書き換えられていないか、不審なファイルが追加されていないかなど、定期的に確認できる状態にしておくことも重要です。

CenterShield (センターシールド) などのセキュリティプラグインを使って確認する方法もあります。

バックアップを取得する

どれだけ対策していても、不正アクセスやアップデートの失敗、操作ミスを完全に防ぐことはできません。そのため、定期的なバックアップは重要です。

確認しておきたいのは、「バックアップを取っているか」だけではありません。必要なときに復元できる状態になっているかも重要です。

WordPressのファイルとデータベースの両方をバックアップし、可能であればWebサーバーとは別の場所にも保存しておきましょう。

一度は実際に復元できるか確認しておくと、トラブルが起きたときにも対応しやすくなります。

7. 5分でできるWordPressセキュリティセルフチェック

ここまでの内容をもとに、現在のサイトの状態を確認してみましょう。まずは基本となる10項目です(ログインURLの変更、wp-config.phpの保護、定期的な監視は、基本の対策ができてから取り組みたい追加の対策として、チェック項目からは外しています)。

  1. WordPress本体が最新になっている
  2. 不要なユーザーアカウントが残っていない
  3. プラグイン・テーマを定期的に更新している
  4. 使用していないプラグインを削除している
  5. 管理者に2要素認証を設定している
  6. ログイン試行回数を制限している
  7. サイト全体がHTTPS化されている
  8. WAFが有効になっている
  9. 不要であればxmlrpc.phpへのアクセスを制限している
  10. 定期的なバックアップを取得している

チェック結果の目安

チェック数状態対応の目安
9〜10項目良好現在の設定を維持しながら、定期的に見直しましょう。
6〜8項目要確認できていない項目から順番に対応していきましょう。
0〜5項目対策推奨ログイン対策やアップデート、バックアップなど、優先度の高い項目から見直しましょう。

チェックが付かなかった項目があっても、すぐに危険というわけではありません。サイトの構成や運用方法によって必要な対策は異なります。

まずは対応できていない項目を把握して、優先度の高いものから見直していくことが大切です。

まとめ

WordPressのセキュリティ対策は、難しい設定を増やすことよりも、基本的な対策をきちんと続けることが重要です。

WordPressやプラグインを適切に更新すること、不要なアカウントやプラグインを残さないこと、ログインを守ること、そして万が一に備えてバックアップを取っておくこと。

まずは今回のチェックリストを使って、自分のサイトでどこまで対応できているか確認してみてください。

サイトの構成によって必要な対策は異なるため、「どこまで対策すればいいのか分からない」「今の設定で問題ないか確認したい」という場合は、現在の設定を一度見直してみることをおすすめします。

WordPressのセキュリティ対策をまとめて設定したい方へ

WPセンターでは、WordPress向けのセキュリティプラグイン「CenterShield (センターシールド)」を無料で公開しています。

2要素認証やログイン試行回数の制限、ログインURLの変更をはじめ、WordPressのセキュリティ設定やファイル保護、マルウェアスキャンなど、基本的なセキュリティ対策を一つのプラグインでまとめて管理できます。

今回のチェックで未対応の項目があった方は、設定を見直す際の選択肢として利用してみてください。

CenterShield (センターシールド) をWordPress.orgで確認する

タイトルとURLをコピーしました