WordPressアプリケーションは、主にWordPressコア、テーマ、プラグインの3つで構成されます。「これらのコンポーネントを最新に保つこと」がWordPressのセキュリティを確保する基本対策となります。
なお、使用するテーマやプラグインについては、WordPress.orgの公式ディレクトリに登録されており、かつメンテナンスが継続しているものか、制作会社や開発会社がオリジナルで開発したものを使うように心掛けるのも一案です。WordPress.org以外で一般公開されているもの、もしくは有償で販売されているが、どんなメンテナンスが行われているのかが不明であり、容易にアップデートできないテーマやプラグインはなるべく避けることが推奨されます。
一方、公式ディレクトリに登録されていて、メンテナンスが継続しているテーマやプラグインならば、自動アップデートやWordPressの管理画面から最新版にアップデートすることで、最新の状況を保つことが可能です。
この他、制作会社や開発会社に依頼して開発したテーマやプラグインの場合はどうでしょう。その制作者に依存する側面はあり、油断も禁物ですが、一般的にセキュリティリスクはそれほど高くないと想定されます。配布数が少数であり、ソースコードを外部から参照することが難しいためです。攻撃者は小規模なプラグインやテーマを攻撃対象にするよりも、一般公開されていて、明確な脆弱性があり、そして利用者が多く、容易に攻撃対象にしやすいものを選ぶ方が効率が良いためですね。
WordPressの自動アップデート方法については、以下の連載バックナンバーで詳しく解説してあります。【保存版】として、ブックマークしておくこともお勧めします。
最後に、WordPressの「ファイル配置とパーミッションを適切に設定する」ことも重要です。オーナーとパーミッション設定内容は、以下が推奨されます。
オーナー | パーミッション | |
---|---|---|
wp-config.php | kusanagi.kusanagi | 0644 |
DocumentRoot以下 | kusanagi.kusanagi | ファイル:0644、ディレクトリ:0755 |
wp-content/uploads以下 | httpd.www | ファイル:0644、ディレクトリ:0755 |
wp-content/uploads/.htaccess | kusanagi.kusanagi | 0644 |
WordPressのファイル配置と正しいパーミッション設定を行う方法については、以下の連載バックナンバーで詳しく解説してあります。
特に、データベースの接続情報や各種設定情報が記述されている「wp-config.php」の配置位置については、公開領域となるドキュメントルート直下ではなく、ドキュメントルートの1つ上の階層に移動させることが望ましいです。これは、仮にWebサーバの設定に問題があった場合でも、wp-config.phpをダウンロードさせない、もしくは内容を表示させないようにするためです。また、wp-config.phpの編集過程で作成されることがある、wp-config.php.swpやwp-config.php.bakなどの「一時ファイル」や「バックアップファイル」が公開領域に残ってしまう可能性もあります。これらを狙う攻撃を回避するために、wp-config.phpは公開領域に配置しない方がよいでしょう。
ちなみに、高速WordPress仮想マシンとして提供されている「KUSANAGI」では、上記のオーナー、パーミッション、wp-config.phpの配置位置が「実際にどうなっているのか」の情報をWordPressのダッシュボードで簡単に確認できるようになっています(図1)。改善点がハイライトされて表示されますので、KUSANAGIユーザーであればこれを参考に設定するとよいでしょう。
次回は今回の続きとして、WordPressの実行環境としてのサーバのセキュリティと、WordPressアプリケーションの開発時に開発者が留意すべきポイントを開設する予定です。お楽しみに。
1971年栃木県生まれ。中学1年生で電波新聞社の『マイコンBASICマガジン』にプログラムを寄稿して以来、プログラミング歴30年。早稲田大学法学部を卒業後、野村證券に入社。公認会計士第二次試験合格。2002年にプライム・ストラテジー株式会社を設立、代表取締役に就任する。2005年にPT. Prime Strategy Indonesiaを設立して以来、アジアでのITビジネスに携わる。執筆監訳書籍に『WordPressの教科書』シリーズ(SBクリエイティブ)、『詳解 WordPress』『WordPressによるWebアプリケーション開発』(ともにオライリー・ジャパン)などがある。
Copyright © ITmedia, Inc. All Rights Reserved.