WordPress運用におけるセキュリティ問題とその対策

Joshで管理するサイトでも、WordPressを用いているサイトは少なくありません。非常に有用で、今のところこれに簡単に代替できるシステムは多くないのですが、オープンソースである以上セキュリティ対策は欠かせません。

対策をしっかり行わないと、静的サイトと比べてサイトの乗っ取りや改ざんといった被害に遭う可能性が大きいという面もあります。

先日、エックスサーバー主催の「WordPressを250万サイト運用してわかったセキュリティ問題とその対策セミナー」に参加してきました。今回はそこであげられていたWordPressのセキュリティ問題とその対策を紹介します。

不正ログイン対策

WordPressの不正ログインは増加傾向にあります。対策をしていないと内部の情報を盗まれたり、サイトの改ざんや乗っ取りと言った被害に遭ってしまうかもしれません。

対策

セミナーでは以下のような方法が紹介されていました。

基本の対策

  • 不要なユーザーアカウントを作らない・削除する

サイトのリニューアルがあった時や、担当者が退職した後など、不要なユーザーアカウントが発生しがちです。WordPressの使用上、ログイン中のユーザーを削除することはできませんので、他のユーザーアカウントでログインして削除する必要があります。少し手間ですが、不要になるユーザーやほとんど使っていないユーザーがないかを都度確認することでセキュリティのリスクを軽減できます。

効果(中)の対策

  • IPアドレスのアクセス制限
  • 画像認証
  • Basic認証

管理画面にアクセスする人が限られているのなら、IPアドレスで制限するという手もあります。認証系の対策についても、サーバーのコンパネや、「SiteGuard WP Plugin」や「Password Protected」といったプラグインで設定できます。

効果(大)の対策

  • 多要素認証

ログインにパスワード以外の情報も必要にすることで、パスワードが漏洩したとしても第三者からの不正アクセスを阻止できます。
「Wordfence Login Security」や「Two-Factor」などのプラグインでログイン時のワンタイムパスワードを導入することができます。

ソフトウェア対策

WordPress自体の作りはシンプルなので、それほど危険は多くありません。WordPress利用時の脆弱性の原因はプラグインがほとんどなようです。

基本的に、プラグインを最新バージョンにすることで、脆弱性を排除することができます。しかし、プラグインの最新バージョンで不具合が発生したためにバージョンを落として使用したり、最新バージョンへのアップデートを躊躇することがあるのではないでしょうか。

セミナーでは、コアファイル・プラグインを最新バージョンに保つ以下のポイントがあげられていました。

  • 不必要なプラグインは無効化ではなく、削除する
  • メンテナンスされているプラグインを選ぶ

プラグインを選ぶコツとして、WordPressの公式サイトを確認すると良いようです。
長期間メンテナンスされていないプラグインのページには警告が出ているため、新しいプラグインを導入する際は要チェックです。

アップデート作業のポイント

バージョンを最新に保ちつつ、不具合による影響を最小限にするために覚えておきたいポイントです。

プラグインアップデート

  • 最新版が出ているならアップデートする

バージョンリリース前には、プラグインとWordPressの開発者が互換性や不具合について検証を行っています。そのため、最新バージョンが出たら基本的にアップデートして良いとのことでした。
しかし、その検証も100%ではありません。サイトによっては不具合が発生する場合もあるため、アップデート前には使用している別のプラグインやサイトの機能をしっかり確認し、干渉し合ったり問題が起きないかの確認をしましょう。

コアファイルアップデート

  • メジャーアップデートは数日〜1週間程度様子を見てからアップデートする

WordPressのメジャーアップデート直後は、不具合が発生しがちです。そのため、バージョンリリース後は少し時間を置いて様子を見ても良いかもしれません。様子見の期間は、SNSなどで開発者や利用者からの不具合報告を探すこともできます。

  • マイナーアップデートはすぐにアップデートする

マイナーアップデートは、主に不具合の修正やセキュリティ面での改善です。すぐにアップデートしてサイトを安全な状態に保ちましょう。

すぐに復旧できる状態にしておく

サイトによって状況は違うため、常にすべてのセキュリティ対策ができるわけではありません。頑張って対策していても、不正アクセスやマルウェアの被害に遭うことがあります。
それで、何かあった時にすぐに復旧できる準備をしておくことが重要です。

定期的なバックアップ

被害に遭う前の状態にいつでも戻せるよう、常に最新のバックアップを作成しておきましょう。可能なら複数の手段でバックアップを取ることがすすめられていました。プラグインでバックアップの作成を設定しつつ、サーバーのバックアップ機能も使って二重にすることができるかもしれません。

ドメイン・サイトごとにサーバーを分ける

手間とコストがかかりますが、複数のサイトを運用する際には有効な対策です。複数のサイトで同じサーバーを使用している場合、例えば1つのサイトに不正アクセスがあると、他のサイトも攻撃や被害を受ける可能性があります。
サイトの数が多いなら、①重要なサイトと②その他のサイト、というようなサーバーの分け方もできると提案されていました。

完璧な対策は難しい

サイバー攻撃の手段は日に日に増えているため、すべてのリスクを排除することはできません。でも、できる限りの対策を行って安全なサイト運営をしましょう。また、完璧な対策は難しいと分かっているからこそ、いざという時に復旧する準備をしておき、被害を最小限に抑えましょう。
弊社でも、サイトの保守を任せていただく際にはこうした対策と準備をしっかり行い、どのサイトも安全な状態を保てるよう努力を続けてまいります。