WordPress のセキュリティを強化する方法 10 選
WordPress は攻撃対象となりやすく、運営年数やアクセス数は関係ありません。
ハッカーは特定のサイトを狙っているのではなく、世界中のあらゆるサイトにランダムに攻撃をしかけていますからね。セキュリティの甘いサイトを見つけたら侵入し、ファイルを書き換えてしまうわけです。
日本でもたびたび個人ブログがハッキングされています。対岸の火事と考えず、今すぐセキュリティを強化しておきましょう。
【事例公開】 WordPress がハッキングされたときの復旧方法
セキュリティ強化の基本(初心者向け)
WordPress のセキュリティを強化する基本的な施策は以下の 3 つです。
- 強固なパスワードを使い、定期的に変更する
- 本体・テーマ・プラグインは常に最新版にしておく
- 開発が停止したテーマやプラグインは使用しない
この 3 つができていれば、ほとんどの攻撃をブロックできます。
別の言い方をすれば、セキュリティプラグインを入れても、上記の 3 つがおろそかになっていると侵入される可能性が高くなってしまいます。
01. 強固なパスワードを使う
突破されやすいパスワード
- ユーザー名とまったく同じ、またはユーザー名と少し違うパスワード
- 4 ~ 6 文字ほどの短いパスワード
- 小文字英字と数字のみのパスワード
- 他のサービスと同じパスワード
強固なパスワード
- ユーザー名と関係のないランダムなパスワード
- 10 文字以上の長いパスワード
- 大文字や記号を含めたパスワード
- そのサイトでのみ使用するパスワード
パスワードを強化するのは最も初歩的な部分ですが、最も効果の高い施策です。
ハッキングの修復をご依頼いただいたさい、ほとんどのサイトが以下のような脆弱なパスワードを使っていました。
例)
ユーザー名:seo
パスワード:123seo123
上記のようなパスワードは、ものの数秒で突破されますから、絶対にやめましょう。
メールアドレスやパスワードの流出をチェックするツール 3 選
WordPress は、プロフィール編集画面で「新しいパスワードを設定」をクリックすると、強固なパスワードを自動生成してくれます。
ランダムな文字列の長いパスワードを覚えておくのはかなり難しいと思いますので、Bitwarden などのパスワード管理ツールを活用するのがおすすめです。
パスワード管理ツール「LastPass」から「Bitwarden」への乗り換え手順
02. 本体・テーマ・プラグインを最新版にする
WordPress 本体・テーマ・プラグインは定期的にアップデートされており、「セキュリティ強化のためのアップデート」も含まれます。
更新通知が出ていたら、すぐ更新しましょう。
とくにプラグインは脆弱性が発見されることが多く、古いバージョンのまま使用していると、どんなにパスワードを強化していても簡単に侵入されてしまいます。
「ログイン画面=正面玄関」「プラグイン=裏口」というイメージですね。
でも、アップデートすると表示が崩れてしまったり、エラーコードが出てしまったりと、別の部分で影響が出ることも少なくありません。
かと言って古いバージョンのまま放置しているとファイルが改ざんされるリスクが高くなるので、最新版にしたうえで不具合を解消するのが理想的です。
何かあったときのために、更新前にバックアップをとっておくクセはつけておきましょう。
03. 開発が停止したテーマやプラグインは使用しない
もう何年も前に開発がストップしているテーマやプラグインを使っており、それが原因でハッキングされてしまった、というケースもかなりあります。
少なくとも、WordPress 公式ディレクトリで公開停止になったプラグインをインストールすることだけは避けてください。
プラグインの更新頻度を確認したいときは、「Plugins Last Updated Column 」がおすすめ。プラグイン一覧画面でアップデート最新日が表示されます。
オレンジや赤でマークされているプラグインはリスクが高いものです。
使用していなければ削除、使用しているなら別のプラグインに変更しましょう。
※ 公式ディレクトリに登録されていない有料プラグイン等は判別できません
ログインセキュリティを強化する方法
基本の施策(パスワード強化とプラグイン管理)ができていれば十分ですが、念のためにさらにセキュリティを強化しておきたいなら、以下の施策もしておくと安心です。
- ログイン URL を変更する
- ユーザー名を変更する
- ログインを二段階認証にする
- ログインできる IP を制限する
04. ログイン URL を変更する
WordPress のデフォルトのログインページは wp-login.php
で、管理者以外でもアクセスできます。
または wp-admin
にアクセスすると、ログインページにリダイレクトされます。
ログイン URL を変更したい場合は、以下のようなログインセキュリティを強化するプラグインの導入がおすすめです。
ただし、wp-admin
からリダイレクトしないように設定しておかないとあまり意味がありません。
05. ユーザー名を変更する
WordPress のユーザー名は外部から簡単に確認できます。
たとえば、/?author=1
でリダイレクトされるページ(著者アーカイブページ)の URL やタイトルにユーザー名が含まれています。
ここからユーザー名がバレるのを避けたい場合、著者アーカイブページの URL を変更するか、ユーザー名の変更が必要です。
WordPress ユーザー名を変更できる「Easy Username Updater」の使い方
ただし、/wp-json/wp/v2/users
でもユーザー名が表示されるため、気休めかもしれません。
/wp-json/wp/v2/users
もブロックする場合は、後述する総合セキュリティプラグインがおすすめです。
06. ログインを二段階認証にする
ログイン URL の変更・ユーザー名の変更・パスワードの強化に加え、さらにセキュリティを高めるなら、二段階認証(二要素認証)を導入するとよいでしょう。
WordPress 管理画面ログインを 2 段階認証にできるプラグイン
ログインまわりの施策は、全ユーザーで実施しなければ効果が薄れます。
管理者が複数いるサイトでは十分にご注意ください。
07. ログインできる IP を制限する
いつも同じ環境(自宅の固定回線など)からログインしているなら、ログインできる IP を制限してしまうのも一つの手です。
たとえば「Login IP & Country Restriction 」は、特定の IP のみ許可するホワイトリスト方式と、頻繁に攻撃してくる IP をブロックするブラックリスト方式が使えます。
ホワイトリスト方式にすると、スマホ回線など IP が変わると自分でもログインできなくなってしまうので、外での作業が多い場合はおすすめしません。
また、あれもこれもプラグインを入れてしまうと干渉して不具合の原因になりますから、各プラグインの役割や機能をしっかり把握したうえで導入してください。
さらにセキュリティを強化する方法
ログイン以外の部分も強化しておきたいなら、以下の方法があります。
- WAF を導入する
wp-config.php
のパーミッションを変更する- 総合セキュリティプラグインを導入する
いずれも WordPress やサーバーの知識が必要になってきますので、初心者にはおすすめしません。
08. WAF を導入する
メジャーなレンタルサーバーは WAF(Web Application Firewall)機能が標準搭載されていることが多く、デフォルトで ON になっているサーバーもあります。
無料レンタルサーバー「シンフリーサーバー」ですら WAF が用意されているほど。
広告なしの WordPress 無料サーバー「シンフリーサーバー」の使い方
WAF は不正なアクセスや書き換えをブロックしてくれる機能ですが、絶対的なものではありません。また、テーマやプラグインによっては正常に動作しないこともあります。
使いどころが難しいので、いったん ON にしてみて不具合が出たら OFF に戻すのがよいと思います。
09. wp-config.php のパーミッションを変更する
WordPress インストール時、パーミッションはサーバーの仕様に合わせて自動的に設定されています。
データベースの接続情報など重要な情報が記載されている wp-config.php
は、パーミッションを「400」に変更して一切書き換えできないようにしておくと安心です。
ただし、セキュリティプラグインやキャッシュプラグインなど、wp-config.php
を一部変更するプラグインにも影響します。
FTP やファイル編集が不得手であれば、触らないほうがよいでしょう。
10. 総合セキュリティプラグインを導入する
WordPress には、本記事で紹介したような様々な施策を一括設定できる「総合セキュリティプラグイン」がいくつかあります。
よく使われているのは、以下の 2 つ。
ログインセキュリティの強化からファイル改ざん防止・監視まで行ってくれますが、設定がやや難解なのがデメリットです。
設定を間違えると組み合わせるプラグインによっては不具合が出ますから、とくに会員制サイトなど特殊な仕様になっている場合は事前に十分なテストをおすすめします。
一般的な個人ブログであれば、ここまでやる必要はありません。
まとめ
WordPress のセキュリティを強化するにあたり、何よりも優先すべきは「パスワードの強化」です。そして、古いプラグインは使わず、アップデートがかかったら必ず更新してください。
セキュリティプラグインを導入しても、パスワードが脆弱であれば意味がなくなってしまいます。
また、同じサーバー内で複数の WordPress を入れているなら、どれか 1 つのサイトがハッキングされると、すべてのサイトが簡単に書き換えられてしまいます。
運営している全サイトのセキュリティを強化しておきましょう。
もし何らかの不具合が出て対処しきれないとき、セキュリティ設定に不安があるときは、お気軽にご相談ください。