WordPressのセキュリティ対策をちゃんとやるなら考えておきたい6つのこと

目次
  1. 6つの観点でWordPressサイトを守る
  2. 1. ログイン画面の強化
    1. パスワードを強くする
    2. SiteGuardでログイン画面を強化する
    3. 使っていないユーザーを整理する
  3. 2. 問題に気づける状態にする
    1. ファイルの改ざんやプラグインの脆弱性を検知する
    2. サイトヘルスで、自分で診断してみる
    3. サイトが落ちていないかも、見てもらう
    4. サイトの外の情報も、追いかける
  4. 3. 弱点を放置しない
    1. WordPress本体・プラグイン・テーマの更新
    2. PHPのバージョンも上げておく
    3. 出どころの分からないプラグインを避ける
  5. 4. 何かあっても元に戻せる
    1. バックアップを取得する
  6. 5. フォームの悪用を防ぐ
    1. スパム対策をする
  7. 6. 攻撃を手前で遮断する
    1. WAFを有効にする
    2. IP制限で管理画面を閉じる
  8. 「うちのサイトは狙われない」は通用しない
  9. おわりに

WordPressのセキュリティ対策は、やることが多すぎて、どこから手を付ければいいのか分からなくなりがちです。

この記事では、6つの観点に整理してまとめます。ひとつずつの手順は別の記事に分けているので、必要なところから読んでみてください。

6つの観点でWordPressサイトを守る

6つの観点。ログイン画面の強化・問題に気づける状態にする・弱点を放置しない・何かあっても元に戻せる・フォームの悪用を防ぐ・攻撃を手前で遮断する

セキュリティというと「攻撃を止める」ほうに目が向きますが、それだけでは足りません。

止めても通ってしまうことはありますし、通られたことに気づけなければ、被害は広がります。気づいても戻せなければ、元には戻りません。

「止める」「気づく」「戻せる」が揃ってはじめて守りになる、という考え方で6つに分けています。どれかひとつを完璧にするより、6つを薄く揃えるほうが効きます。

1. ログイン画面の強化

WordPressの標準のログイン画面

WordPressのログイン画面は、どのサイトでも/wp-login.phpという同じURLにあります。場所が世界中に知られているということですね。

そのうえ、管理者で入られるとできることがあまりにも大きいです。記事を書き換える、プラグインを入れる、ファイルを置く。サイトごと乗っ取れてしまいます。

パスワードを強くする

前提として、パスワードが弱いと簡単にログインされてしまいます。

WordPressのプロフィール画面。自動生成されたパスワードに「強力」と表示されている

WordPressには強いパスワードを自動で作る機能があるので、それをそのまま使うのが早いです。パスワードマネージャーを使って、覚えなくても管理できる仕組みがあると良いかと思います。

WordPressの管理画面のパスワードはどう決める?突破されにくいパスワードの決め方

SiteGuardでログイン画面を強化する

SiteGuard WP Pluginを入れると、ログイン画面のセキュリティを強化することができます。

SiteGuardを入れたあとのログイン画面。ひらがなの画像認証が足されている

無料で使えて、設定はシンプルです。使い方は以下で紹介していますので、導入の際はご参考ください。

SiteGuard WP Pluginでログイン画面のセキュリティを強化しよう!

使っていないユーザーを整理する

ユーザーはそれぞれがログインできる入り口です。とくに管理者の権限を持つユーザーが多いと、それだけでリスクが増えます。

ユーザー一覧を開いてみて、使っていないユーザーがいたら整理しましょう。退職した人、前に手伝ってもらった制作会社、テストで作ったまま忘れているアカウントなどですね。

ユーザー一覧。管理者の権限を持つユーザーが8名いる状態

あわせて権限も見直しておきます。記事を書くだけの人なら「投稿者」や「編集者」で足ります。

2. 問題に気づける状態にする

サイトが改ざんされても、見た目が変わらないことがよくあります。見えないところにファイルを置かれて、しばらく経ってから迷惑メールの踏み台に使われていた、というような形です。管理画面を開いても、普段と何も変わって見えません。

気づくのが遅れるほど、元に戻すのが大変になります。バックアップを遡っても、どこまで戻せば安全なのかが分からなくなるためです。

ファイルの改ざんやプラグインの脆弱性を検知する

Wordfenceを入れると、ファイルの改ざんやプラグインの脆弱性を見つけて、メールで知らせてくれます。

Wordfenceのスキャン結果。見つかった問題が重要度ごとに並んでいる
Wordfenceで見張りを立てよう!WordPressサイトのセキュリティの問題を検知する方法

あわせてSearch Consoleにも登録しておきましょう。Googleが「このサイトに問題がある」と判断した時に、メールで知らせてくれます。乗っ取られて知らないページを作られた時に、気づくきっかけになります。

サイトヘルスで、自分で診断してみる

WordPressには自己診断の機能が最初から入っています。ツール → サイトヘルス から開けます。プラグインを入れる必要はありません。

WordPressのサイトヘルス。致命的な問題が2件表示されている

セキュリティ・パフォーマンス・更新の状態をまとめて見てくれます。各行を開くと、何が問題でどうすればいいかが書かれています。

全部を解消しようとしなくても大丈夫ですが、一度は目を通しておくと、自分のサイトの状態が分かります。

サイトが落ちていないかも、見てもらう

サーバーが返す500 Internal Server Errorの画面

サーバーが落ちた、更新で画面が真っ白になった、SSL証明書が切れた。こういう時、自分がサイトを開くまで気づけません。毎日開くサイトならまだしも、月に数回しか見ないサイトだと、何日も止まったままということが起こります。

これを防ぐのが死活監視です。数分おきにサイトへアクセスして、開けなくなったらメールで知らせてくれます。無料で使えるものもあります。

見てもらう対象は、だいたいこのあたりです。

  • サイトが表示されているか
  • SSL証明書の期限が近づいていないか
  • ドメインの期限が近づいていないか

証明書とドメインの期限切れは、気づくのが遅れると一気に表示できなくなるものです。更新を忘れていたことに、止まってから気づく。それが一番こわいパターンですね。

サイトの外の情報も、追いかける

ここまでは仕組みに知らせてもらう話でした。もうひとつ、自分で取りにいかないと入ってこない情報があります。

全部を追いかける必要はありませんが、どこかひとつ、情報が流れてくる場所を持っておくといいかなと思います。WordPressの公式サイトやニュースサイト、SNSで発信している人をフォローしておく、といった形です。

3. 弱点を放置しない

攻撃の多くは、すでに公表されている弱点を狙ってきます。弱点が見つかると、作者が直したバージョンを出します。その時に「どこが弱かったのか」も公表されるので、攻撃する側はそこを狙って回ってくる、という流れですね。

WordPressの本体、プラグインやテーマの更新の中でも、セキュリティ関係の更新が入ったらすぐに更新するようにしましょう。

プラグイン一覧。更新が5件たまっている

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

WordPress本体・プラグイン・テーマのどれも自動更新が設定できます。ただ、自動にすると更新のたびに表示が崩れていないか確かめる人がいない、という問題もあります。どう設定するかは、サイトの体制によって変わります。

WordPressの自動更新は止めるべき?設定の場所と、おすすめの設定

手で更新する時の進め方は、こちらでまとめています。

放置したWordPressサイトを壊さずに最新にする更新手順

とくにセキュリティの更新が入っている時は、できるだけ早く更新しましょう。

PHPのバージョンも上げておく

見落とされやすいのが、WordPressが動いている土台のPHPです。

PHPにもバージョンごとにサポートの期限があって、切れたあとは弱点が見つかっても直されません。本体やプラグインを最新にしていても、土台が古いままだとそこが弱点として残り続けます。

どのバージョンがいつまでサポートされるかは、PHPの公式サイトで公開されています。

PHP公式サイトのサポート対象バージョン一覧。8.0と8.1はサポート終了、8.2以降がセキュリティ修正の対象
出典:PHP: Supported Versions

緑がセキュリティ修正も含めてサポートされている期間、オレンジがセキュリティ修正だけの期間、そこを過ぎると修正版が出なくなります。

いま何のバージョンで動いているかは、ツール → サイトヘルス → 情報 → サーバーで確認できます。切り替えはサーバーの管理画面から行います。

上げると動かなくなるプラグインやテーマが出ることもあるので、バックアップを取ってから、表示を確認しつつ進めましょう。

出どころの分からないプラグインを避ける

そもそも何を入れるかも大事です。

WordPressのプラグインは誰でも作って配れます。大きく分けると、公式ディレクトリの審査を通っているものと、そうでないものがあります。公式では、セキュリティ上の問題がないかの確認を経てから公開されます。審査を通っていないものは、作った人のスキルと意識に委ねられます(有料・無料は関係ありません)。

特に理由がなければ、公式のプラグインから選ぶほうが安全です。

すでに入っているものについては、使っていないプラグインは消しておきましょう。停止したままでもファイルはサーバーに残っていて、そこが狙われることがあります。

4. 何かあっても元に戻せる

どれだけ対策しても、万が一はあります。その時に戻せるのがバックアップです。

バックアップを取得する

ここで大事なのが置き場所です。バックアップのプラグインを入れると、初期設定ではそのサーバーの中にファイルが貯まっていきます。これだと、サーバーが止まった時も、攻撃を受けた時も、バックアップごとやられてしまいます。

攻撃された時こそバックアップの出番なのに、同じ場所にあるものは一緒に消される可能性があります。侵入した側からすれば、戻されないようにバックアップを消すのは自然なことです。

なので、サイト本体と運命をともにしない場所に逃がしておきます。Google Driveなどのクラウドが扱いやすいです。

Google Driveに保存されたWordPressのバックアップファイル
WPvividでWordPressサイトのバックアップをクラウド(Google Drive)に自動保存しよう!

バックアップの考え方そのものは、こちらでまとめています。

万が一に備えてWordPressサイトのバックアップを取得しよう

5. フォームの悪用を防ぐ

Webサイトのお問い合わせフォーム。名前・会社名・メールアドレス・内容の入力欄と送信ボタンが並んでいる

お問い合わせフォームは、誰でも自由に送信できる入り口です。ここを機械に狙われると、英語の迷惑メールが大量に届きます。

困るのは自分だけではありません。自動返信の仕組みを悪用されると、自分のサイトから第三者へ大量のメールが送られることになります。メールサーバーやドメインの評価が下がって、本来のメールまで迷惑メール扱いされる可能性もあります。

スパム対策をする

対策としてよく使われるのがreCAPTCHAです。送信しているのが人間か機械かを判定して、機械からの送信を止めてくれます。Contact Form 7やSnow Monkey Formsから設定できます。

WordPressのお問い合わせフォームにスパム対策は必要?reCAPTCHAを導入して悪用を防ごう

6. 攻撃を手前で遮断する

ここまでは、WordPressの中でできる対策でした。もうひとつ、WordPressに届く前の段階で止めるという方法があります。

WAFを有効にする

WAF(ワフ)は、あやしいアクセスをサイトに届く手前で止める仕組みです。多くのレンタルサーバーに最初から付いていて、サーバーの管理画面からオン・オフを切り替えられます。

初期状態で有効になっていることが多いですが、切れていないかを一度見ておくといいでしょう。

WordPressで「403 Forbidden」と出る時の原因と直し方

IP制限で管理画面を閉じる

もうひとつ、決まったIPアドレスからしか管理画面を開けないようにする方法があります。事務所や会社の固定IPアドレスだけを許可して、それ以外からのアクセスは手前で止めます。

また、レンタルサーバーによっては国外のIPアドレスからのアクセスを遮断する設定が、最初からオンになっていることもあります。管理画面やログイン画面を国内からのアクセスだけに絞る機能で、日本向けのサイトならオンのままで困ることはほとんどありません。

「うちのサイトは狙われない」は通用しない

ここまで読んで「うちみたいな小さいサイトは大丈夫でしょう」と思われたかもしれません。

ですが、攻撃してくる側はサイトの中身を見て選んでいません。WordPressで動いているサイトを機械的に探して、片っぱしから試しているだけです。規模も業種も関係ありません。うちのサイトは狙われないだろう、と過信せずに、しっかり対策しておけると安心です。

実際に攻撃を受けるとどうなるかは、こちらでまとめています。

放置しておくと怖い…。WordPressサイトがサイバー攻撃を受けると具体的にどういった被害が出る?

おわりに

WordPressサイトのセキュリティ対策を、6つの観点でまとめました。

全部を一度にやろうとしなくて大丈夫です。まずは「最新バージョンに更新する」と「パスワードを強くする」の2つから。この2つだけでも、ずいぶん違います。

そのうえで、ログイン画面を守る・問題に気づける・元に戻せる。ここまで揃うと、何かあっても立て直せる状態になります。

公開したあとの管理全体については、こちらも参考にしてみてください!

WordPressの保守はなぜ必要?公開後にやっておきたい4つの管理

WordPressでお悩みの方はお気軽にご相談ください。

ちょっとしたお困り事からサイト全体のリニューアルのようなご依頼まで、お悩みに応じて柔軟に対応いたします。

この記事を書いた人

はにわまん

HPcode代表。300件以上のWordPress案件を対応してきました。ちょっとしたWordPressのカスタマイズからブロックテーマでのリニューアルまで。更新できるWordPressサイトが好きです。