ディレクトリリスティングの危険性と対策方法

security_319

WebサーバApacheのセキュリティ対策が意外とできていない企業がいます。Apacheのデフォルト設定には、ディレクトリリスティングという機能があります。

この機能により、Webサイトの情報や企業情報、個人情報を流出する可能性があります。

ディレクトリリスティングの危険性と対策方法について解説します。

ディレクトリリスティングとは

ディレクトリリスティングとは、URLで指定するとディレクトリに含まれるファイル一覧を表示する Web サーバ(Apache, IIS 等) の機能です。

Apacheの設定ファイルには、「Directory Index」という設定項目があり、ここではインデックスとなるファイルを設定します。

ディレクトリを URL で指定すると、下図のようにファイル一覧が表示されます。

security_259

ファイルをダウンロードする Web サイトでは問題ありませんが、一般的な Web サイトでディレクトリリスティングが有効になっていると、Web サイトの構造が攻撃者に分かってしまうため脆弱性として扱われます。

ディレクトリリスティングの危険性

ディレクトリのファイル一覧が表示されていると何が問題なのでしょうか?

ディレクトリのファイル一覧を見れるということは、ファイル一覧を取得することが可能であるということです。

ファイルの重要度によって被害の大きさは異なりますが、個人情報は会社の機密情報が格納されていた場合、それらのデータを見られてしまうリスクがあります。

ディレクトリリスティングが原因で、情報漏えいした事例も過去にあります。

流出の危険性が考えられる情報

  • 一部のユーザーのみ公開しているデータ
  • バックアップファイル
  • ファイルの命名規則
  • 設定ファイルによるサーバ設定情報
  • スクリプトファイルによるサーバ内部処理情報

このような情報を第三者に見られる可能性があるため、非表示設定を行う必要があります。

ディレクトリリスティングの対策

Apache のディレクトリリスティングを無効する

Apacheの設定ファイル(/usr/local/apache/conf/httpd.confなど)をエディタで開き、その中に存在する“Indexes”というオプションを削除します。

変更前

<Directory “/var/www/icons”>
Options MultiViews Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all

変更後

<Directory “/var/www/icons”>
Options MultiViews FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all

ただ、ここで気を付けないといけないのはディレクティブが複数存在する場合です。

例えば、設定ファイル内に以下のような記述があった場合。

<Directory “/var/www/html”>
Options Indexes FollowSymLinks
(略)
<Directory “/var/www/icons”>
Options Indexes MultiViews
(略)

この場合、それぞれのディレクティブでIndexesの指定を削除する必要があります。

Indexesを削除したら、Apacheを再起動します。

そうすると、下図のようにディレクトリの表示が拒否されるようになります。

security_258

.htaccess でファイルの一覧表示を制御する

ある特定のディレクトリだけは一覧表示させたくないような場合は、そのフォルダ内にだけ .htaccess ファイルを作成してアクセス制御を行うことができます。

すべてのディレクトリをファイルリストの一覧表示を禁止したい場合には、DOCUMENT_ROOT に .htaccess ファイルを配置しておけばアクセス制御することができます。上位階層のディレクトリに配置した .htaccess の設定が下位のディレクトリに引き継がれます。下位ディレクトリに 上位階層のディレクトリとは別の .htaccess があれば下位ディレクトリの .htaccess の設定が優先されます。

なお、.htaccess で制御するためには、httpd.conf の AllowOverride を修正する必要があります。

.htaccess の設定方法

# 一覧表示を禁止する場合
Options -Indexes

# 一覧表示を許可する場合
Options Indexes

公開ディレクトリには重要ファイルは置かない

ディレクトリ内の一覧を表示しない(ディレクトリリスティングの無効化)設定としていてもファイル名を直接指定することによりファイルを閲覧することが可能です。

サーバの公開ディレクトリには重要な機密情報を含むファイルやサービス提供上不要なファイルを置かないよう注意が必要です。

  • このエントリーをはてなブックマークに追加
  • Pocket
  • LINEで送る