WordPressでできるセキュリティ対策まとめです。わたし自身はセキュリティに関する知識が高いわけではないですが、WordPressのイベントは定期的に出ていて、WordPress有識者から共有してもらった知識だけはあるって感じです笑
WordPressのセキュリティ対策としては、とにもかくにも「最新のバージョンにしておく」ってところは共通してみんな言っていると思うので、サイト管理者はとりあえずここだけは最低限意識するといいかもしれません。
誰でもできる対策がほとんどです!
WordPressでできるセキュリティ対策
WordPressでできるセキュリティ対策のまとめです。上から順番に重要度が高め(とわたしが思っている)なものを並べました。
最新のバージョンにアップデート
なにはともあれWordPressは常に最新の状態にしておきましょう。どのWordPressの有識者もほぼこれしか言っていません。
WordPress本体やプラグインに更新があると、管理画面に更新メニューが登場するので、気づいたらアップデートしてあげてください。
更新には2種類あって、マイナーアップデートとメジャーアップデート。
マイナーは軽微なパッチを当てるような更新で自動で更新が走ります。メジャーアップデートは、テキストエディタがグーテンベルグに変わる!みたいな大きめのアップデートで管理者が手動で行うものです。
たまにマイナーアップデートを停止させているテーマがありますが、セキィリティ的な観点から言うと論外とのことです。
ということで、WordPress本体とプラグインは常に最新の状態に保つようにしましょう。
パスワードは推測されにくい複雑なものに
WordPressに限らずですが、、、パスワードは推測されずらい複雑なものにしましょう。WordPress管理画面のパスワードは自動で生成してくれるので、これをそのまま使えばいいかと思います。
1passwordなどのツールを使えばパスワードをわざわざ覚える必要もないので、自分で暗記するって観点でパスワードを決めずにツールに依存させることを個人的にはおすすめします。
「SiteGuard WP Plugin」でログインURL変更と画像認証
WordPress管理画面の管理画面は常にインターネット上にさらされているわけですね。基本的には、ドメイン名/wp-login.php
でアクセスできてしまうわけですが、これを変更することでログインURLが見つかるリスクが軽減されます。
また、ログイン時にユーザ名、パスワードに加えて画像認証も加えることができます。こんな感じ。
これによって機械的なログインを防ぐことが可能です。その他に管理画面へのログイン履歴とか、不正なログインがあったときにアラートをメールしてくれたりします。
とりあえず「SiteGuard WP Plugin」を導入しておくだけで安心感が半端ないです。
野良テーマ、野良プラグインを使わない
WordPressに関連する製品は誰でも開発が可能ですし、提供することに制限をかけていません(GPLライセンス)。なので、世の中には良い製品も悪い製品も混ざって存在してしまっているわけです。
世の中に出回っているWordPress製品を大きく2つに分けると、公式の審査を通っているものとそうでないものに分けられます。そして公式の審査に通っていなものを「野良テーマ」や「野良プラグイン」と呼ばれていたりします。
公式のレビューではセキュリティ的に問題ありそうなところのチェック(代表的なところだとエスケープやサニタイズ)などを行った上での提供となりますが、野良テーマは作った人のスキルやセキュリティ意識に依存します(有料、無料問わず)。
使うのはいいですが、自己責任で…といった具合ですね。
特に理由がなければ公式から提供されているものから選ぶといいかと思います。
- 公式のテーマ → https://ja.wordpress.org/themes/browse/popular/
- 公式のプラグイン → https://ja.wordpress.org/plugins/
サイトヘルスでチェック!
WordPress5.1から導入された機能で、セキュリティやパフォーマンスに関する問題がないか診断してくれる公式のツールです。点数によるUIが今風でめっちゃいいなって思います。なんか100を目指したくなりますよね。
ツール → サイトヘルス からアクセスできて、アクセスすれば診断して問題があれば指摘してくれます。表示としては以下のような感じでシンプルでめっちゃいいです。
ピンバックを無効
WordPressに古くから備わっているピンバックと呼ばれる機能があります。内部リンクを設置した時に自分のサイトに通知するというものです。トラックバックは知らない相手に通知するからまだ意味があるように思いますが、ピンバックって未だに必要性が分かりません…
ピンバックで使われるxmlrpc.phpは攻撃の踏み台にされがちで、かつ普段使うことのない機能なので無効化しておいた方がいいです。
設定 → ディスカッション から「新しい記事に対し他のブログからの通知 (ピンバック・トラックバック) を受け付ける」のチェックを外す
また、もしチェックした状態で更新した投稿がある場合は、個別にチェックを外す必要があります…(ちょっと面倒ですが…)
海外IPのアクセス制限
基本的にレンタルサーバー会社はセキュリティ的にリスクがありそうな場所に対して、海外IPからのアクセス制限をしていることが多いです。先ほど紹介したピンバックのxmlrpc.phpとかですね。
サーバー会社があえて設定している設定なので、よほどの理由がない限りは変更しないほうが安全です。
もし海外でWordPressサイトを管理するときは、日本の固定IPが使えるサービスを使うことをおすすめします。(海外IPでのトラブル事例は割とよく耳にする…)
わたしが海外にいた時はマイIPというサービスを使ってました。1ヶ月お試しで使えるので、ちょっとした旅行や出張なら実質無料です。
→ マイIPの公式サイトはこちら
定期的にバックアップを取っておこう
セキュリティ対策を意識していても万が一はあります…。
そんな時に、例えば「管理画面に入られて記事を全部削除された…」ってなってもバックアップば手元にあれば、一瞬で元に戻すことが可能です。
なので定期的にバックアップをとっておくことをおすすめします。最低でも1ヶ月に1回くらいは取っておくと安心できるかもしれません。
何をバックアップするかという所ですが、完全に手動でバックアップする場合は、以下の項目を意識してポチポチしたりコピペしたりする感じになります。
- MySQLのデータ
- テーマのフィアル郡
- プラグインファイル郡
- 画像のファイル郡
- 記事のエクスポート
- 管理画面での設定をメモ
詳しくは以下の記事にまとめているので参考にしていただければと思います。
上記の手順でやってもいいのですが、正直、手動でやるのは面倒くさいです。個人的なおすすめは「All-in-One WP Migration」」というプラグインを使うことです。このプラグインを使えば1回ポチッとするだけで、上記のデータを全部まとめて取得することができます。
「All-in-One WP Migration」の使い方は以下にまとめているので参考にしていただければと思います。
ちなみにバックアップデータはサーバー上ではなく手元(ローカルPC上など)に置いておくようにしましょう!(サーバー上のデータを全部削除された時に終わるので…)
サイトの異変を検知する方法
もう1歩だけ踏み込んで、サイトに異変があった時に検知するための方法です。
「Search Console」に登録
Search Console(サーチコンソール)は、Google公式のサイト運営者のためのツールで、サイトの運用状態を監視してくれるものです。
「数日中に404ページが増加した」など、サイトでの異変をメールなどで知らせてくれるので、確実に登録しておくといいかと思います。
「SiteGuard WP Plugin」プラグインの導入
セキュリティ対策のところでも紹介しましたが、WordPressのログインを監視してくれる役割もあります。
普段と違うような怪しいログインがあれば通知してくれるので、そういった意味でも導入しておくことをおすすめします。
おわり
WordPressでできるセキュリティ対策まとめました。特に最新のバージョンにしておくことが一番のセキュリティ対策だと、WordPressコミュニティの方々はいつも言ってます。
難しすぎる対策項目はないかと思います。導入できそうなところから、順番に入れてみてください!