WordPressの設定ファイルの安全性とディレクトリトラバーサル

 2022.02.21  2024.08.19

日本国内だけでなく、世界的にも有名でシェアの高いWordPressを知っている人は多いのではないでしょうか。

テーマやプラグインを活用することで、デザインが洗練されたブログやコーポレートサイトを制作したり、ECサイトなどを運営することもできるWordPressですが、セキュリティ上の課題を指摘されることもしばしば。

本稿では、WordPressのセキュリティについて、設定ファイルであるwp-config.phpとディレクトリトラバーサルに焦点をあてた対策について解説します。

WordPressの設定ファイルは、wp-config.php

wp-config.phpというファイル名からも分かるように、WordPressの設定はwp-config.phpです。

WordPressは、WebサーバーとPHP、データベースで構成され、wp-config.phpにはデータベース名やデータベースのユーザー名、パスワードなど重要な情報が保存されています。 

JP-Secure Labs Report Vol.02

JP-Secure Labs Report Vol.02
(2018年9月5日発行)

本レポートでは、当社パートナー企業のサービスを利用しているユーザー向けに、「WordPress」、「Drupal」といったCMS(Content Management System)のセキュリティに関する情報を中心にまとめています。また、本レポートでは、当社の定点観測で収集された情報をもとにした不正アクセスの傾向についても取り上げます。

資料ダウンロード

wp-config.phpのアクセス制御

WordPressのセキュリティや安全性を高める方法として、このwp-config.phpのアクセス制御が取り上げられることがあります。

メジャーなWebサーバーのApacheであれば、.htacccessによってwp-config.phpに対するアクセスを禁止するといった対応で、WordPressのサポートサイト(「WordPressの安全性を高める」)にも説明がある一つの対策となっています。

ツールによるセキュリティ診断などでは、wp-config.phpにありがちなバックアップファイルを検出しますし、実際にバックアップファイルから設定情報が漏洩する危険性もあるため、対策する意味はあります。

しかし、次に述べるWebアプリケーションの脆弱性を悪用する攻撃には効果がないことを認識しておく必要があります。

ディレクトリトラバーサルによるwp-config.phpの読み取り

WordPress、テーマ・プラグインの脆弱性として、クロスサイトスクリプティング(XSS)SQLインジェクションなど様々なものが見つかっています。実際の攻撃としては、ディレクトリトラバーサルによるwp-config.phpの読み取りが非常に多い状況です。(当社調べ

ディレクトリトラバーサルは、脆弱性を悪用してディレクトリを遡り、ターゲットとなるファイルを読み取るなどの不正アクセスをする攻撃、またはそのような攻撃が可能な脆弱性そのものを指します。

directory-traversal

WordPressでは、特にテーマ・プラグインのディレクトリトラバーサルの脆弱性を悪用した攻撃が多く、設定ファイルであるwp-config.phpがターゲットになっています。

wpconfig-traversal

先ほど話題にしたアクセス制御は、あくまでファイルパスへのアクセスに対して働くものであり、ディレクトリトラバーサルのようにWebアプリケーションの脆弱性を悪用した攻撃を防ぐことはできません。

適切なアクセス制御がなされないまま、外部からのデータベース接続が許可されていたり、phpMyAdminを利用している場合、その被害が大きくなる可能性が高いことが分かると思います。

wp-config.phpのセキュリティ対策として、wp-config.phpを一つ上のディレクトリに移動するという対策を目にすることがあります。wp-config.phpをドキュメントルート外に配置することで、外部からアクセスさせないようにするという対策です。なお、サブディレクトリにWordPressをインストールしている場合、この対策を適用することはできません。(一つ上の階層が公開ディレクトリのため)

WordPressには、インストールディレクトリの一つ上の階層にあるwp-config.phpを参照可という仕様があり、一見賢いように思えますが、ディレクトリトラバーサルに対しては効果がありません。さらに一つ上のパスを指定すればwp-config.phpをターゲットにすることができ、攻撃者もその事は知っていると考えて間違いないでしょう。

一つ一つの対策に意味があり、無駄なものはありませんが、本当の意味で、wp-config.phpを安全にするためにも正しく理解し、適切な対応を心がけるようにしましょう。

最新バージョンを利用する

このような脆弱性を悪用した攻撃への対策として、基本となるのは最新バージョンの利用です。前述の攻撃の多くは、脆弱性が存在する古いバージョンのテーマ・プラグインを利用し続けているWordPressがターゲットになっています。

古いバージョンを利用したまま、脆弱性が存在し続けることは大きなリスクとなるほか、新しいバージョンには機能改善や不具合修正などが含まれることからも、最新バージョンを利用するという対策の徹底を推奨しています。

WAFによるwp-config.phpの保護

WordPressなどで構築されたWebサイトを保護するセキュリティ対策として、WAF(ウェブアプリケーションファイアウォール)があります。

WAFは、SQLインジェクションやクロスサイトスクリプティング(XSS)、OSコマンドインジェクション、ディレクトリトラバーサルなどのWebアプリケーションの脆弱性を悪用した攻撃からWebサイトを保護するソリューションです。

WAF-1-Jun-04-2021-06-42-43-20-PM

WordPress本体、テーマやプラグインにおいても、これらの脆弱性が発見されることがあり、特にテーマとプラグインについては、必ずしもセキュリティに配慮されているとはかぎらず、作者次第という側面もあります。

万一に備えて、WAFのようなセキュリティ対策を併用することは、ワンランク上のWebセキュリティを実現するための一つの選択肢となります。もちろん、WordPressの重要な設定ファイルであるwp-config.phpを保護するための対策としても有効です。

関連記事:WAFによるディレクトリトラバーサル攻撃の防御

WordPressのセキュリティ対策に、ぜひEGセキュアソリューションズ株式会社のソリューションを役立ててください。

WAFとは

WAFとは

Webアプリケーションファイアウォール(WAF:Web Application Firewall)は、ウェブサイトに対するアプリケーションレイヤの攻撃対策に特化したセキュリティ対策です。

詳細はこちら

RECENT POST「Webセキュリティ」の最新記事


Webセキュリティ

クロスサイトスクリプティング(XSS)とは?仕組みや対策を解説

Webセキュリティ

OWASP Top 10 2021 にみるWebアプリケーションのセキュリティリスク

Webセキュリティ

クロスサイトリクエストフォージェリ(CSRF)とは?被害と対策を解説

Webセキュリティ

Webアプリケーション脆弱性診断とは?

WordPressの設定ファイルの安全性とディレクトリトラバーサル
5分でまるわかり!WAFによるサイバー攻撃対策
1分でわかる「SiteGuardシリーズ」
RECENT POST 最新記事
ブログ無料購読
RANKING人気記事ランキング