WordPress のセキュリティを強化する方法 10 選

WordPress は、運営年数やアクセス数に関係なく攻撃されます。

ハッカーは特定のサイトを狙っているのではなく、世界中のあらゆるサイトに無差別攻撃をしかけていますからね。セキュリティの甘いサイトを見つけたら侵入し、ファイルを書き換えてしまうわけです。

日本でもたびたび個人ブログがハッキングされています。対岸の火事と考えず、今すぐセキュリティを強化しておきましょう。

【事例公開】 WordPress がハッキングされたときの復旧方法

セキュリティ強化の基本(初心者向け)

WordPress のセキュリティを強化する基本的な施策は以下の 3 つです。

  • 強固なパスワードを使う(10 文字以上のランダムな文字列)
  • 本体・テーマ・プラグインは常に最新版にしておく
  • 開発が停止したテーマやプラグインは使用しない

この 3 つができていれば、ほとんどの攻撃をブロックできます。

別の言い方をすれば、セキュリティプラグインを入れても、上記の 3 つがおろそかになっていると侵入される可能性が高くなってしまいます

01. 強固なパスワードを使う

突破されやすいパスワード

  • ユーザー名とまったく同じ、またはユーザー名と少し違うパスワード
  • 4 ~ 6 文字ほどの短いパスワード
  • 小文字英字と数字のみのパスワード
  • 他のサービスと同じパスワード

強固なパスワード

  • ユーザー名と関係のないランダムなパスワード
  • 10 文字以上の長いパスワード
  • 大文字や記号を含めたパスワード
  • そのサイトでのみ使用するパスワード

パスワードを強化するのは最も初歩的な部分ですが、最も効果の高い施策です。

ハッキングの修復をご依頼いただいたさい、ほとんどのサイトが以下のような脆弱なパスワードを使っていました。

例)
ユーザー名:seo
パスワード:123seo123

上記のようなパスワードは、ものの数秒で突破されますから、絶対にやめましょう

メールアドレスやパスワードの流出をチェックするツール 3 選

WordPress は、プロフィール編集画面で「新しいパスワードを設定」をクリックすると、強固なパスワードを自動生成してくれます。

WordPressパスワード生成(プロフィール画面)

ランダムな文字列の長いパスワードを覚えておくのはかなり難しいと思いますので、Bitwarden などのパスワード管理ツールを活用するのがおすすめです。

当サイトのオリジナル無料ツール「パスワード生成 | セオツールズ」もぜひご利用ください。セキュリティを考慮し、パスワードはどこにも保存されない仕様にしています。

02. 本体・テーマ・プラグイン・PHP バージョンを最新版にする

WordPress 本体・テーマ・プラグインは定期的にアップデートされており、「セキュリティ強化のためのアップデート」も含まれます。

更新通知が出ていたら、すぐ更新しましょう。

WordPressプラグイン更新リンク

とくにプラグインは脆弱性が発見されることが多く、古いバージョンのまま使用していると、どんなにパスワードを強化していても簡単に侵入されてしまいます

「ログイン画面=正面玄関」「プラグイン=裏口」というイメージですね。

正面玄関と裏口のイメージ

でも、アップデートすると表示が崩れてしまったり、エラーコードが出てしまったりと、別の部分で影響が出ることも少なくありません。

かと言って古いバージョンのまま放置しているとファイルが改ざんされるリスクが高くなるので、最新版にしたうえで不具合を解消するのがベスト。

WordPress を動かしている PHP にもバージョンがあり、こちらも定期的な更新が必要です。

WordPress の PHP バージョンを安全に更新する方法

03. 開発が停止したテーマやプラグインは使用しない

もう何年も前に開発がストップしているテーマやプラグインを使っており、それが原因でハッキングされてしまった、というケースもかなりあります。

少なくとも、WordPress 公式ディレクトリで公開停止になったプラグインをインストールすることだけは避けてください。

プラグインの状況を確認したいときは、「Plugin Report」がおすすめです。

Plugin Report チェック画面
公式ディレクトリから削除されたプラグインを見つけられる

WordPress プラグインの状況をチェックできる「Plugin Report」の使い方

WordPress の総合セキュリティプラグイン「Wordfence」が発表したレポートでは、以下のプラグインは使用を避けるべき、とされています。

  • 2 年以上更新されていないもの
  • インストール数が少なく(10,000 未満)、更新頻度が低いもの
  • WordPress.org に登録されていないもの

2024 Annual WordPress Vulnerability and Threat Report by Wordfence

マニアックすぎるプラグインは避けたほうがよさそうです。

ログインセキュリティを強化する方法

基本の施策(パスワード強化とプラグイン管理)ができていれば十分ですが、念のためにさらにセキュリティを強化しておきたいなら、以下の施策もしておくと安心です。

  • ログイン URL を変更する
  • ユーザー名を変更する
  • ログインを二段階認証にする
  • ログインできる IP を制限する

04. ログイン URL を変更する

WordPress のログインページは、以下のどちらかでアクセスできます。

/wp-login.php標準のログインページ
/wp-admin管理画面の URL で、ログアウトしていると /wp-login.php にリダイレクトされる

ログイン URL を変更したい場合は、以下のようなログインセキュリティを強化するプラグインの導入がおすすめです。

ただし、/wp-admin からリダイレクトしないように設定しておかないとあまり意味がありません。

XO Security ログイン設定画面
XO Security 設定画面

ブックマークを消してしまいログイン URL がわからなくなってしまった、ということもありますので、失念しないようご注意ください。

05. ユーザー名を変更する

WordPress のユーザー名は外部から簡単に確認できます。

たとえば、/?author=1 でリダイレクトされるページ(著者アーカイブページ)の URL やタイトルにユーザー名が含まれています。

著者アーカイブページで確認できるユーザー名

ここからユーザー名がバレるのを避けたい場合、著者アーカイブページの URL を変更するか、ユーザー名の変更が必要です。

WordPress ユーザー名を変更できる「Easy Username Updater」の使い方

ただし、/wp-json/wp/v2/users でもユーザー名が表示されるため、気休めです。

wp-jsonで取得できるユーザー情報

/wp-json/wp/v2/users もブロックする場合は、後述する総合セキュリティプラグインをご利用ください。

06. ログインを二段階認証にする

ログイン URL の変更・ユーザー名の変更・パスワードの強化に加え、さらにセキュリティを高めるなら、二段階認証(二要素認証)を導入するとよいでしょう。

WordPress 管理画面ログインを 2 段階認証にできるプラグイン

XO Security 2要素認証設定項目

ログインまわりの施策は、全ユーザーで実施しなければ効果が薄れます。

何でもできてしまう管理者権限のユーザーはできるだけ少なくし、投稿を外注する場合などは編集者や投稿者などレベルを下げておくと安心です。

ユーザーの種類と権限 – サポートフォーラム – WordPress.org 日本語

07. ログインできる IP を制限する

いつも同じ環境(自宅の固定回線など)からログインしているなら、ログインできる IP を制限してしまうのも一つの手です。

たとえば「Login IP & Country Restriction」は、特定の IP のみ許可するホワイトリスト方式と、頻繁に攻撃してくる IP をブロックするブラックリスト方式が使えます。

Login IP & Country Restriction 設定画面

ホワイトリスト方式にすると、スマホ回線など IP が変わると自分でもログインできなくなってしまうので、外での作業が多い場合はおすすめしません。

また、あれもこれもプラグインを入れてしまうと干渉して不具合の原因になりますから、各プラグインの役割や機能をしっかり把握した上で導入してください。

さらにセキュリティを強化する方法

ログイン以外の部分も強化しておきたいなら、以下の方法があります。

  • WAF を導入する
  • wp-config.php のパーミッションを変更する
  • 総合セキュリティプラグインを導入する

いずれも WordPress やサーバーの知識が必要になってきますので、初心者にはおすすめしません。

08. WAF を導入する

メジャーなレンタルサーバーは WAF(Web Application Firewall)機能が標準搭載されていることが多く、デフォルトで ON になっているサーバーもあります。

無料レンタルサーバー「シンフリーサーバー」ですら WAF が用意されているほど。

広告なしの WordPress 無料サーバー「シンフリーサーバー」の使い方

シンクラウド for Free WAF設定画面
シンクラウド for Free の設定画面

WAF は不正なアクセスや書き換えをブロックしてくれる機能ですが、絶対的なものではありません。また、テーマやプラグインによっては正常に動作しないこともあります。

使いどころが難しいので、いったん ON にしてみて不具合が出たら OFF に戻すのがよいと思います。

09. wp-config.php のパーミッションを変更する

WordPress インストール時、パーミッションはサーバーの仕様に合わせて自動的に設定されています。

データベースの接続情報など重要な情報が記載されている wp-config.php は、パーミッションを「400」に変更して一切書き換えできないようにしておくと安心です。

wp-config.phpのパーミッションを400に設定

ただし、セキュリティプラグインやキャッシュプラグインなど、wp-config.php を一部変更するプラグインにも影響します。

FTP やファイル編集が不得手であれば、触らないほうがよいでしょう。

瀬尾

ロリポップなど、デフォルトでパーミッションが 400 になっているケースもあります。

10. 総合セキュリティプラグインを導入する

WordPress には、本記事で紹介したような様々な施策を一括設定できる「総合セキュリティプラグイン」がいくつかあります。

よく使われているのは、以下の 2 つ。

ログインセキュリティの強化からファイル改ざん防止・監視まで行ってくれますが、設定がやや難解なのがデメリットです。

設定を間違えると組み合わせるプラグインによっては不具合が出ますから、とくに会員制サイトなど特殊な仕様になっている場合は事前に十分なテストをおすすめします。

一般的な個人ブログであれば、ここまでやる必要はありません。

まとめ

WordPress のセキュリティを強化するにあたり、何よりも優先すべきは「パスワードの強化」です。そして、古いプラグインは使わず、アップデートがかかったら必ず更新してください。

セキュリティプラグインを導入しても、パスワードが脆弱であれば意味がなくなってしまいます

また、同じサーバー内で複数の WordPress を入れているなら、どれか 1 つのサイトがハッキングされると、すべてのサイトが簡単に書き換えられてしまいます。

運営している全サイトのセキュリティを強化しておきましょう。

もし何らかの不具合が出て対処しきれないとき、セキュリティ設定に不安があるときは、お気軽にご相談ください。