WordPressが広く使われるようになった理由には、ユーザーにとってわかりやすいライセンス、後方互換性を守ること、豊富なプラグインやテーマの存在などのいくつかの理由が挙げられますが、一方でセキュリティに対する問題も多く指摘されるようになりました。
そこで今回は、非エンジニアの皆さんを対象に、みなさんのWordPressをいかに安全に保つかについて説明していきます。
ポイントは以下の3つです。
- 公式ディレクトリ上のテーマやプラグインを使用すること。
- こまめに最新版にアップデートすること。
- 強力なパスワードを使用すること。
公式ディレクトリ上のテーマやプラグインを使用する
様々なところで言及されていますが、WordPressでつくられたサイトのセキュリティに関連するトラブルのほとんどは、サードパーティのプラグインやテーマが原因です。そのため安全なプラグインやテーマを利用することはとても重要です。
WordPressの公式ディレクトリに掲載されているテーマは、第三者によるレビューをうけており、ある程度のクオリティが保たれています。
また、これらのプラグインやテーマに万が一脆弱性があったとしても、脆弱性の報告窓口が用意されておりますので、比較的早く修正されることを期待できます。
ユーザー数が多いプラグイン、テーマを使用する
多くのユーザーを抱えているプラグインやテーマは、それだけ多くの目で監視されていますので、結果的に安全であるといえます。同じような機能のプラグインの中からいずれかのプラグインを選択する場合には、なるべくユーザー数が多いプラグインを選択しましょう。
ある特定のジャンル、たとえばコンタクトフォームやギャラリーなどのそれぞれのジャンルでトップのシェアを誇るプラグインは、それに伴う圧倒的なフィードバックを抱えており、一朝一夕で手に入れることが困難な様々な蓄積があります。
WordPress本体はプラグインとの後方互換性を守るために大きな努力を行っていますが、それぞれのプラグインが後方互換性を守るかどうかは個人の開発者に委ねられており、ユーザー数が多いプラグインほど互換性に関する問題が少ないか、あってもすぐに解決される傾向にあります。
活発にメンテナンスされているプラグインやテーマを使用する
なるべく活発にメンテナンスされているプラグインやテーマを利用するようにしましょう。いくらユーザー数が多くても何年もアップデートされていないプラグインやテーマを利用するべきではありません。
WordPressの公式ディレクトリでは最終更新日と最後にテストされたバージョンが掲載されていますので、なるべくそこを確認しましょう。
常に最新版を使用する
WordPressに限らずすべてのソフトウエアでは常に最新版を使用することがとても重要です。一般的には、アップデートによってトラブルに遭遇するリスクよりも、アップデートをしないことによって遭遇するセキュリティリスクのほうが高いと考えられていますので、アップデートはこまめにするように心がけましょう。
WordPressには自動アップデート機能があり、WordPress本体に脆弱性があった際のアップデートはデフォルトで自動で行われます。この機能を無効化せずにデフォルトのまま利用することを強くご推奨します。
昨年、WordPress本体に大きなセキュリティホールがあり、とてもたくさんのサイトが改ざんされる被害にあいましたが、開発チームが世界中のホスティング会社やセキュリティベンダーと連携をとりながら対策を行った結果、自動アップデートが有効化されたサイトでは被害が報告されなかったことを確認しています。
https://www.ipa.go.jp/security/ciadr/vul/20170206-wordpress.html
なお、WordPress本体に新機能が追加される「メジャーアップデート」は管理画面上で手動で行う必要がありますのでご注意ください。プラグインやテーマも同様に管理画面上で手動でアップデートを行う必要があります。
アップデートがある際には管理画面に通知が出ますので、そのときは手動でアップデートしましょう。
安全なパスワードを使用する
他のソフトウエアと同様に安全なパスワードを使用することはとても重要です。
WordPressには安全なパスワードかどうかをチェックする仕組みがありますので、以下の例のように「強力」と表示されるパスワードを使用するように心がけましょう。
当然ですが他のサイトのパスワードを流用しないことも重要です。
パスワードの総当たり攻撃を防ぐために管理画面を基本認証等で守るノウハウがありますが、実際には総当たり攻撃はログイン画面ではなく /xmlrpc.php
というURLに対しても行われます。そのため、パスワードが強力であることが何よりも重要であることはご理解ください。
さらに安全にご利用いただくためのTips
プラグインエディター、テーマエディターの無効化
以下の記述を wp-config.php
に追記することで、WordPressの管理画面からプラグインやテーマのファイルを編集することを拒否できます。こうしておくことで、何らかの方法によりWordPressの管理画面にログインするためのパスワードを盗まれても、WordPress本体やプラグインのファイルに対する悪意がある改ざんを防ぐことができます。
define( 'DISALLOW_FILE_EDIT',true );
メジャーリリースを含むすべての自動更新を有効化
WordPressの自動アップデートは、デフォルトではマイナーリリースでのみ有効化されていますが、以下の記述を追加することで、メジャーアップデートに対しても自動的にアップデートが行われるようになります。
define( 'WP_AUTO_UPDATE_CORE', true );
なるべく簡単インストールを使用する
みなさんがレンタルサーバーのユーザーである場合は、なるべくレンタルサーバー各社が提供する簡単インストール機能を利用してWordPressをインストールするように心がけましょう。そうすることでサーバーの設定ミスなどによる脆弱性を防止することができます。
WAFを利用する
日本の大手レンタルサーバーではWAF(ウェブアプリケーションファイヤーウォール)を提供しているサービスがいくつかあります。
WAFを利用すると、WordPress本体やプラグイン、テーマをタイムリーにアップデートできなくても、それらが抱える脆弱性を狙った攻撃を自動的にブロックしてくれます。WAFが提供されていてもデフォルトでは有効化されていないサービスもありますので、ご利用中のサービスのサポートページ等で方法を確認してぜひ有効化しておきましょう。
なるべく新しいバージョンのPHPを使用する
レンタルサーバーの多くは、そのコントロールパネルでPHPのバージョンを変えることができます。
PHPとは、WordPressを動作させるために必要なプログラミング言語で、活発にアップデートが行われており、本記事執筆時点での最新バージョンは 7 です。PHPの新しいバージョンにしておくことで、ウェブサイトの表示が早くなったり、古いバージョンのPHPが抱える既知のセキュリティホールからウェブサイトを守ることができます。