2020/06/19 追記:最新の情報に大幅リニューアルしています。

WordPressはオープンソースであるため、無料で使用でき、プラグインも豊富なので、世界中で最も利用されているCMSの1つです。ただ、オープンソースで有るが故に、脆弱性が発見されやすくハッカーの標的になりやすい、とも言われています。

ただ、実際のところは専門家もその主張には疑問を持っており、単にWordPress以外のCMSを売り込むために使われているだけだという意見もあります。そちらに関しては以下の記事でもまとめていますが、いずれにせよ世界中で使われているCMSなので、やるべきセキュリティ対策を行っていれば、安全に運用できるのがWordPressです。

そこで今回は、初心者でも簡単にできるWordPressのセキュリティ対策を厳選して紹介します。これさえやっておけば、大型のWebサイトでも特段問題はないかと思います。

1. WordPressやプラグインのバージョンを最新にしておく

先に述べたように、WordPressは世界で最も有名なCMSのためハッカーのターゲットになりやすく、脆弱性も発見されやすいのです。

脆弱性が発見された場合、Wordpressはその都度バージョンアップをして対策をしています。最新バージョンは(既知の)脆弱性がなく、逆にバージョンが古いほど、脆弱性は多くなります。基本的な事ですが、非常に重要なので、できるだけ常に最新版にしておくことをおすすめします。プラグインも同様です。

2. 未使用・更新が止まっているプラグインは削除する

インストールしているだけで使っていないプラグインや、一度は使用したが、現在は使わなくなっているプラグインは、「停止」にするだけではなく、「削除」するようにしましょう。なぜなら、「削除」しておかないと、プラグインに脆弱性が存在した場合、その脆弱性が狙われる可能性があるからです。使わないプラグインは ”完全に削除” することが大切です。

また、使っていてもアップデートが止まっているプラグインもたくさんあります。1年以上更新が止まっているプラグインは要注意です。古いプラグインはセキュリティに穴がある可能性も高いため、類似機能を持った、しっかり更新されているプラグインに乗り換えることをおすすめします。

3. サーバーのPHPバージョンを最新にしておく

PHPは更新ごとにセキュリティの脆弱性を修正しています。よって、いつも最新のPHPバージョンにしておくことが安全です。ただ、当社の基準としては当たり前だと思っていましたが、2020年1月時点でサポート終了したPHPバージョンを使用しているWebサイトは64%にのぼるようです。放置サイトも含めての数字ではありますが、結構驚きです。

・PHPのサポートされているバージョンを使用する理由について
https://kinsta.com/jp/blog/php-versions/

PHPバージョンはご利用のレンタルサーバーのコントロールパネルから簡単に変更できることが多いので、ぜひやっておきましょう。
※レンタルサーバー会社によってはサポートが終了したPHPバージョンにしか対応していない(もしくは更新頻度が遅い)ことも多々あるので、レンタルサーバー選びもわりと重要です。

4. ユーザー名とパスワードはセキュアなものにしておく

WordPressはログインされなければ、たいていは大丈夫です。逆にログインされてしまうとアウトです。何でも出来てしまいます。よって、不正ログインが起きないように、ユーザー名/パスワードはセキュアなものにしておく必要があります。

パスワードは最低限「10文字以上の英数字を織り交ぜたランダム文字列」でいきましょう(パスワードは8文字以内だとハッキングされやすいというデータもあります。)。間違っても自分が覚えやすいパスワードにするのはおすすめできません。

5. ログインの試行回数を制御する

ログインのセキュリティを上げるなら、試行回数の制限がおすすめです。例えば、「3回パスワードを間違えると1時間ログインできないようにする」などの設定をあらかじめしておくのです。これによって、機械的な不正ログインのアタックを防げる確率が劇的に上がります。

以下のプラグイン「Limit Login Attempts Reloaded」を使用すれば、難しい設定は必要ありません。

6. ログイン履歴を管理する

プラグイン「User Login History」を導入することで、WordPressのログイン履歴を管理することができます。日付、ユーザー名、IPアドレス、国、ブラウザ、滞在時間も把握できるので、何かあった時に不正を検知・確認するのに役立ちます。

不正を防止するためのプラグインではありませんが、複数の人で1つのWordPressサイトを運営してくなら必要なプラグインです。

7. 二要素認証でログインできるようにする

ログイン画面をもっとも強化する方法と言っても過言ではない「二要素認証」。二要素認証と言っても様々な手段がありますが、例えばログイン時に毎回メールアドレスに認証コードを送り、そのコードを入力しなければログインできないようにするという方法が考えられます。そうした二要素認証を容易に実行するのが「Two-Factor」というプラグイン。

ただ、セキュリティを強化しすぎると今度は運営側の手間が増えるというデメリットがあります。なので、本題にある「これだけはしておきたい」からは少しかけ離れますが、個人情報を扱うような強力なセキュリティが必要なサイト(例えば、ECサイトなど)であれば、二要素認証は検討価値があります。正直、個人ブログでは必要のない対策かもしれません。

まとめ

最低限これだけはやっておきたいことを主眼に7つのセキュリティ対策を紹介しましたが、手軽という点では1から5をやっておきたいところです。1-5までをしっかりやっておけば、安全性も確保できます。

また、Webサイトを公開している場合、ハッキングを100%防ぐことは不可能です。ウィルスや不正プログラムは日々進化していますし、そもそもシステムというのは(既知・未知含め)何かしらの脆弱性を含んでいるものです。つまり、セキュリティ対策と同等に、万一ハッキング被害に遭った時のために、バックアップをとっておく事も必須となります。バックアップは保険ですからね。

バックアップすべきなのは、下記3つになります。

  • WordPressのフォルダ・ファイル一式
  • WordPressで利用しているデータベース
  • WordPress管理画面からエクスポートできる「各記事・固定ページ・カテゴリ・タグ等の情報(XML形式)」
  • こちらのプラグインを使うと楽なので、おすすめです。