サイバー攻撃

ディレクトリリスティングとは?悪用された場合のリスクや無効化の方法を解説

Written by WizLANSCOPE編集部

ディレクトリリスティングとは?悪用された場合のリスクや無効化の方法を解説


ディレクトリリスティングとは、Webサーバー上のディレクトリに保存されているファイルやサブディレクトリの一覧が、ブラウザから閲覧できる状態のことを指します。

この状態では、本来は外部に公開する想定のないファイルやディレクトリ名まで表示されてしまうことがあり、攻撃者に発見されると、情報漏洩や不正アクセスの手がかりを与える危険があります。

本記事では、ディレクトリリスティングの概要やリスク、無効化する方法について解説します。

▼本記事でわかること

  • ディレクトリリスティングのリスク
  • ディレクトリリスティングを無効化する方法
  • ディレクトリリスティングの無効化とあわせて実施すべき対策

「ディレクトリリスティングとは何か」「有効化していることでどのようなリスクがあるのか」などを知りたい方はぜひご一読ください。

失敗しないための脆弱性診断実施のコツ

セキュアな開発・サービス提供に必須!はじめての脆弱性診断に関する、正しい進め方ガイド

資料をダウンロードする

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


ディレクトリリスティングとは、Webサーバー上のディレクトリに保存されているファイルやサブディレクトリの一覧が、ブラウザから閲覧できる状態のことを指します。

「ディレクトリ」とは、コンピューター内でファイルやフォルダを整理・管理するためのフォルダのことであり、「リスティング」とは一覧表示を意味します。

ディレクトリリスティングが有効になっている場合、ブラウザから該当ディレクトリにアクセスすると、その中に格納されたファイル名やフォルダ名が一覧として表示されます。

この機能は、公開用のファイル配布サイトなどにおいて、管理者がファイル配置を確認したり、利用者が必要なファイルへアクセスしやすくなったりする点で便利に活用できます。

一方で、意図せずディレクトリリスティングが有効になっている場合、本来は外部に公開する想定のないファイルやディレクトリ名まで表示されてしまう恐れがあります。

その結果、攻撃者にシステム構成やファイル名などの情報を与えてしまい、情報漏洩や不正アクセスの手がかりとなる危険があります。

失敗しないための脆弱性診断実施のコツ

セキュアな開発・サービス提供に必須!はじめての脆弱性診断に関する、正しい進め方ガイド

資料をダウンロードする

ディレクトリリスティングを有効にしている場合のリスク


ディレクトリリスティングが有効になっている場合、ブラウザから対象のディレクトリにアクセスすると、その配下にあるファイル名やフォルダ名が一覧表示されます。

そのため、意図せずこの状態になっていると、設定ファイルやバックアップデータ、ソースコードの断片につながるファイルなど、本来公開を想定していない情報の存在を外部から把握される可能性があります。

これらのファイルには、認証情報やデータベース接続情報、システム構成に関する情報などが含まれていることがあります。

さらに、ファイルの種類やWebサーバーの設定によっては、公開領域に置かれたファイルの内容を第三者に取得される恐れもあります。

つまり、意図せずディレクトリリスティングが有効になっていると、機密性の高い情報の所在を知られるだけでなく、内容そのものが外部に露出し、情報漏洩につながる危険性があります。

また、ファイル自体がダウンロードされなくても、ファイル名やディレクトリ構造が攻撃者に知られること自体がリスクになり得ます。

攻撃者は、ファイル名や配置されているディレクトリから、利用中のライブラリやCMS、運用状況を推測できる場合があります。

そして、その情報を足掛かりに、既知の脆弱性を狙った攻撃へ発展する可能性があります。

攻撃者がディレクトリリスティングを悪用する流れは、以下のとおりです。

手順 操作内容
1 攻撃者がWebサイトの構成を調査する
2 対象ディレクトリでファイル一覧が表示される
3 .git、backup.zip、config.php.bak などのファイルやディレクトリを発見する
4 ソースコード、認証情報、データベース接続情報などの機密情報を取得する
5 不正アクセスや脆弱性を悪用した攻撃につなげる

ディレクトリリスティングは、「ファイル一覧が見えるだけ」と捉えられがちです。

しかし、公開ディレクトリにバックアップファイルや設定ファイルのコピーが残されていると、そこから重要な情報を取得され、攻撃の足掛かりとして悪用される恐れがあります。

そのため、意図せず有効になっていないかを確認し、不要な場合は無効化するなど、適切に設定することが重要です

ディレクトリリスティングが有効になっているか確認する方法


意図せずディレクトリリスティングが有効になっていると、機密情報の露出や攻撃の足掛かりにつながるなど、さまざまなセキュリティリスクが生じます。

そのため、自社のWebサーバーでディレクトリリスティングが有効になっていないかを定期的に確認することが重要です。

まずは、公開しているディレクトリにブラウザからアクセスし、ファイルやフォルダの一覧が表示されないかを確認しましょう。

URL末尾にスラッシュを追加する方法

ディレクトリリスティングが有効になっているかを手軽に確認する方法のひとつが、ブラウザから対象ディレクトリに直接アクセスする方法です。

具体的には、WebサイトのURL末尾にスラッシュを付けたうえで、実在するディレクトリのパスを指定してアクセスします。以下の手順で確認できます。

手順 内容
1 ブラウザで対象のWebサイトにアクセスする
2 URLに確認したいディレクトリのパスを指定し、末尾を「/」で終える
3 そのURLにアクセスし、ファイルやフォルダの一覧が表示されるか確認する

アクセスした際にファイルやフォルダの一覧が表示された場合は、そのディレクトリでディレクトリリスティングが有効になっている可能性があります。

ただし、ディレクトリ内に index.html や index.php などの既定ファイルが配置されている場合は、ディレクトリリスティングが有効でも一覧が表示されないことがあります。

そのため、ブラウザでの確認だけでは判断が難しい場合は、Webサーバーの設定もあわせて確認することが重要です。

脆弱性スキャンツールや脆弱性診断を使用し、確認する方法

より網羅的に確認したい場合は、脆弱性スキャンツールや脆弱性診断を活用する方法が有効です。

これらを利用することで、ディレクトリリスティングの有無だけでなく、Webサーバーの設定不備や不要な公開ファイル、既知の脆弱性につながるリスクなどを確認できる場合があります。

特に、公開対象のディレクトリが多い環境や、複数のWebサイトを運用している環境では、手動での確認だけでは見落としが発生する可能性があります。

定期的にツールや診断を活用することで、設定ミスや不要な公開状態を早期に把握しやすくなります。

ただし、使用するツールや診断の範囲によって確認できる項目は異なるため、ディレクトリリスティングの検出に対応しているか、認証が必要な領域まで確認できるかなど、事前に確認するようにしましょう。

ディレクトリリスティングを無効化する方法


ディレクトリリスティングは、管理や確認のしやすさにつながる一方で、設定を誤るとセキュリティリスクを招く可能性があります。

特に、公開を想定していないファイルや機密情報を含むファイルが配置されている場合は、ディレクトリリスティングを無効化しておくことが重要です。

ここでは、代表的なWebサーバーごとに、ディレクトリリスティングを無効化する方法を解説します。

Apacheで無効化する方法

Apacheでは、主に設定ファイルを編集する方法と、.htaccess を利用する方法でディレクトリリスティングを無効化できます。

Apacheでディレクトリリスティングを無効化したい場合は、設定ファイルを編集する方法と、.htaccessファイルを使う方法があります。

ここでは、それぞれの方法をわかりやすく紹介します。

設定ファイルを編集する方法

Apacheの設定ファイルを編集して、ディレクトリリスティングを無効化する方法です。

設定ファイルの保存場所は環境によって異なりますが、「httpd.conf」などのファイルを確認します。

手順 操作内容
1 ・Apacheの設定ファイルを開く
例:/etc/httpd/conf/httpd.conf
2 ・対象ディレクトリの設定を探す

	 
<Directory "/var/www/html">
Options Indexes FollowSymLinks
</Directory>
3 ・「Indexes」の設定を削除または無効化する

	 
 <Directory "/var/www/html">	 
  Options FollowSymLinks
 </Directory>
4 ・設定ファイルを保存し、Apacheを再読み込みまたは再起動する
コマンド例:systemctl restart httpd

設定ファイル内に同様の記述が複数ある場合は、該当する箇所をあわせて確認し、必要に応じて修正しましょう。

「.htaccessファイル」を利用する方法

Apacheの設定ファイルを直接編集できない場合は、「.htaccessファイル」を使ってディレクトリリスティングを無効化する方法もあります。

手順は、以下のとおりです。

方法 操作内容
サイト全体で制限をかける場合 ・ドキュメントルートに「.htaccessファイル」を配置し、「Options -Indexes」と記述する
特定のディレクトリのみ制限をかける場合 ・制限したいディレクトリ内に「.htaccessファイル」を配置し、同様に「Options -Indexes」と記述する

設定後は、対象のディレクトリにアクセスし、ファイルやフォルダの一覧が表示されないことを確認しましょう。

Nginxで無効化する方法

Nginxは、標準設定ではディレクトリリスティングが無効になっていることが一般的なため、通常は追加の設定は必要ありません。

ただし、過去の設定変更によってディレクトリリスティングが有効になっている場合もあるため、念のため設定を確認しておくと安心です。 手順は、以下のとおりです。

手順 操作内容
1 Nginxの設定ファイルを開く
2 「http」、「server」、または 「location」ブロック内にある「autoindex」の設定を探す
3 「autoindex」 が、「on」になっている場合は「off」に変更する
4 設定ファイルを保存し、設定を反映する

設定を変更した後は、対象のディレクトリにアクセスし、ファイルやフォルダの一覧が表示されないことを確認しましょう。

IISで無効化する方法

IIS(Internet Information Services)では、画面上の操作でディレクトリリスティングを無効化できます。

手順は、以下のとおりです。

手順 操作内容
1 IIS マネージャー を開く
2 設定対象のサイトまたは仮想ディレクトリを選択する
3 ディレクトリの参照 (Directory Browsing)をクリックする
4 操作メニューから「無効にする」をクリックする

設定後は、ブラウザから対象のディレクトリにアクセスし、ファイルやフォルダの一覧が表示されないことを確認しましょう。

ディレクトリリスティングとディレクトリトラバーサルの関係性

ディレクトリトラバーサルとは、WebサイトやWebアプリケーションの脆弱性を悪用し、本来は公開されていないファイルやディレクトリへ不正にアクセスを試みる攻撃手法です。

一方、ディレクトリリスティングは、ディレクトリ内のファイル名やフォルダ名が一覧表示される状態を指します。

ディレクトリトラバーサルとは別のものですが、ディレクトリリスティングが有効になっていると、攻撃者に情報漏洩や不正アクセスの手がかりを与えてしまう危険性があります。

例えば、ディレクトリリスティングが有効になっていると、攻撃者は対象システムのディレクトリ構造や配置されているファイル名を把握しやすくなります。

これにより、重要な情報が置かれている場所や、攻撃の対象になり得るファイルを推測される恐れがあります。

ただし、ディレクトリリスティング自体がディレクトリトラバーサルを直接引き起こすわけではありません。

ディレクトリリスティングによって得られた情報が、攻撃対象の選定や手口の絞り込みに利用され、ディレクトリトラバーサルなどの攻撃につながる場合があるということです。

被害リスクを抑えるには、不要なディレクトリリスティングを無効化するとともに、適切なアクセス制御や入力値の検証、定期的な脆弱性診断を行うことが重要です。

こうした対策をあわせて進めることで、ディレクトリトラバーサルによる被害のリスクを低減できます。

関連ページ

ディレクトリトラバーサルとは?わかりやすく仕組みや対策・事例を解説

ディレクトリリスティングの無効化とあわせて行いたい対策


ディレクトリリスティングの無効化は、外部からファイル名やディレクトリ構造を把握されにくくするための基本的な対策です。

ただし、ディレクトリリスティングを無効化しても、それだけですべてのリスクを防げるわけではありません。

例えば、公開ディレクトリに不要なファイルが置かれていると、URLを直接指定されてアクセスされる可能性があります。

そのためここでは、ディレクトリリスティングとあわせて実施したい3つのセキュリティ対策を紹介します。

  • 重要なファイルを公開ディレクトリ上に配置しない
  • ファイルへのアクセス権限を管理する
  • 定期的に脆弱性診断を行う

それぞれ詳しく確認していきましょう。

重要なファイルを公開ディレクトリ上に配置しない

ディレクトリリスティングを無効化すると、ファイルやフォルダの一覧は表示されなくなります。

ただし、それだけで個別のファイルにアクセスできなくなるわけではありません。

公開ディレクトリに配置されたファイルは、アクセス制御が設定されていない限り、URLを直接指定することで取得されたり、内容を参照されたりする可能性があります。

特に、「backup.zip」「test.php」「.env」など、よく使われる名前のファイルは推測されやすい傾向があります。

万が一こうしたファイル名をもとにURLが直接指定されると、ディレクトリリスティングが無効であっても、ファイルの取得や処理につながる恐れがあります。

そのため、以下のような重要なファイルは、そもそも公開ディレクトリに配置しないことが重要です。

  • 設定ファイル(例:config.php)
  • データベースのバックアップファイル
  • ユーザーの認証情報を含むファイル

ファイルへのアクセス権限を管理する

重要なファイルへのアクセス権限を適切に管理することも、情報漏洩やデータ改ざんを防ぐうえで重要です。

前述のとおり、ディレクトリリスティングが無効になっていても、アクセス制御が設定されていなければ、URLを直接指定することでファイルにアクセスされる可能性があります。

そのため、機密性の高いファイルについては、管理者のみがアクセスできるように権限を設定したり、Webサーバーの設定で特定のIPアドレスからのアクセスだけを許可したりすることが重要です。

このような対策を講じておくことで、仮に攻撃者がファイルの保存場所や構成を把握した場合でも、重要なファイルの閲覧や改ざんのリスクを抑えやすくなります。

定期的に脆弱性診断を行う

定期的に脆弱性診断を実施することも、Webサーバーの安全性を保つうえで重要です。

脆弱性診断を行うことで、ディレクトリリスティングが意図せず有効になっていないか、バックアップファイルが誤って公開ディレクトリに配置されていないかなどを確認しやすくなります。

こうした設定ミスや運用上の不備を早期に把握できれば、攻撃者に悪用される前に対応しやすくなります。

関連ページ

脆弱性診断とは?なぜ必要?やり方・費用などもカンタン解説

危険な設定不備を早期に発見したいなら「LANSCOPEプロフェッショナルサービス」

PFS ロゴ
ディレクトリリスティングのような設定不備は、気づかないまま放置すると、情報漏洩や不正アクセスのきっかけになる恐れがあります。

こうしたリスクを早期に把握したい場合は、定期的な脆弱性診断の実施が欠かせません。

そこで本記事では、LANSCOPE プロフェッショナルサービスの「Webアプリケーション脆弱性診断」を紹介します。

本サービスでは、セキュリティエンジニアがインターネット経由でお客さま環境にアクセスし、Webサーバー上で動作するプログラムに対して診断を実施します。

ディレクトリリスティングを含むサーバー設定の不備や、Webアプリケーションに潜む脆弱性を確認し、リスクの把握を支援します。

診断結果は、わかりやすいレポートで報告されるため、検出された脆弱性だけでなく、優先して対応すべき項目や具体的な対策の方向性も把握しやすくなります。

自社での確認が難しい場合や、より網羅的にリスクを洗い出したい場合は、ぜひ実施をご検討ください。

「Webアプリケーション脆弱性診断」の詳細は、以下のページをご覧ください。

関連ページ

LANSCOPE プロフェッショナルサービス の「Webアプリケーション脆弱性診断」はこちら

失敗しないための脆弱性診断実施のコツ

セキュアな開発・サービス提供に必須!はじめての脆弱性診断に関する、正しい進め方ガイド

資料をダウンロードする

まとめ

本記事では、「ディレクトリリスティング」をテーマに、その概要やリスク、主な対策について解説しました。

本記事のまとめ

  • ディレクトリリスティングとは、Webサーバーが特定のディレクトリ内にあるファイルやサブディレクトリの一覧を表示する機能
  • ディレクトリリスティングが有効になっていると、設定ファイルやバックアップデータなど、本来公開を想定していない情報の存在を外部から把握される恐れがある
  • より適切にリスクを抑えるためには、ディレクトリリスティングの無効化に加え、「重要なファイルを公開ディレクトリに配置しない」「ファイルへのアクセス権限を管理する」「定期的に脆弱性診断を行う」といった対策も重要

ディレクトリリスティングは、管理や確認をしやすくする一方で、意図せず有効になっているとセキュリティリスクにつながる恐れがあります。

そのため、不要な場合は無効化するとともに、公開ディレクトリに配置しているファイルもあわせて見直すことが重要です。

特に、機密性の高いファイルやバックアップファイルを公開領域に置いたままにすると、URLを直接指定されることでアクセスされる恐れがあります。

また、Webサーバーの安全性を保つためには、定期的な脆弱性診断の実施も有効です。

設定ミスや不要な公開状態を早期に把握しやすくなり、攻撃者に悪用される前の対応につなげやすくなります。

なお、本記事で紹介した「LANSCOPE プロフェッショナルサービス」では、WebサイトやWebアプリケーションを対象とした「Webアプリケーション脆弱性診断」を提供しています。

ディレクトリリスティングを含む設定不備や、攻撃につながる恐れのある脆弱性を確認したい場合は、ぜひ活用をご検討ください。

失敗しないための脆弱性診断実施のコツ

セキュアな開発・サービス提供に必須!はじめての脆弱性診断に関する、正しい進め方ガイド

資料をダウンロードする