「Web - ディレクトリリスティング」の版間の差分

提供:MochiuWiki : SUSE, EC, PCB
ナビゲーションに移動 検索に移動
(ページの作成:「== 概要 == ディレクトリリスティングとは、Webサーバがディレクトリ内のファイル一覧を自動的にWebブラウザに表示する機能である。<br> <br> ディレクトリリスティングが有効な場合、ディレクトリ内のファイル一覧が表示される。<br> * 例 1: URLでディレクトリにアクセスした場合 * 例 2: 該当ディレクトリにindex.htmlやindex.php等のデフォルトページが存…」)
 
1行目: 1行目:
== 概要 ==
== 概要 ==
ディレクトリリスティングとは、Webサーバがディレクトリ内のファイル一覧を自動的にWebブラウザに表示する機能である。<br>
ディレクトリリスティングとは、Webサーバがディレクトリ内のファイル一覧を自動的にWebブラウザに表示する機能である。<br>
この機能は、index.htmlやindex.php等のデフォルトページが存在しない場合やURLで直接ディレクトリにアクセスした場合に有効となる。<br>
<br>
<br>
 
ディレクトリリスティングが有効な場合の表示例として、以下に示すような形式でディレクトリ内のファイル一覧が表示される。<br>
ディレクトリリスティングが有効な場合、ディレクトリ内のファイル一覧が表示される。<br>
以下の例では、imagesディレクトリ内に3つの写真ファイルが存在しており、各ファイルについてファイル名、更新日時、ファイルサイズが表示されている。<br>
* 例 1: URLでディレクトリにアクセスした場合
<br>
* 例 2: 該当ディレクトリにindex.htmlやindex.php等のデフォルトページが存在しない場合
また、画面上部には親ディレクトリにアクセス可能なリンクが表示されるため、ファイル階層をWebブラウザ上で移動することが可能となる。<br>
<br>
<br>
  Index of /images/
  Index of /images/
  [親ディレクトリへ]
  ..
  photo1.jpg    2024-01-01 12:00    500KB
  photo1.jpg    2024-01-01 12:00    500KB
  photo2.jpg    2024-01-02 15:30    750KB
  photo2.jpg    2024-01-02 15:30    750KB
  photo3.jpg    2024-01-03 09:15    600KB
  photo3.jpg    2024-01-03 09:15    600KB
<br>
この機能は、ディレクトリ内のファイル構造が公開されてしまうため、必要に応じて適切に制御する。<br>
多くの場合、本番環境ではセキュリティ上の理由からディレクトリリスティングを無効化することが推奨される。<br>
<br><br>
<br><br>



2024年11月26日 (火) 21:47時点における版

概要

ディレクトリリスティングとは、Webサーバがディレクトリ内のファイル一覧を自動的にWebブラウザに表示する機能である。
この機能は、index.htmlやindex.php等のデフォルトページが存在しない場合やURLで直接ディレクトリにアクセスした場合に有効となる。

ディレクトリリスティングが有効な場合の表示例として、以下に示すような形式でディレクトリ内のファイル一覧が表示される。
以下の例では、imagesディレクトリ内に3つの写真ファイルが存在しており、各ファイルについてファイル名、更新日時、ファイルサイズが表示されている。

また、画面上部には親ディレクトリにアクセス可能なリンクが表示されるため、ファイル階層をWebブラウザ上で移動することが可能となる。

Index of /images/
..
photo1.jpg    2024-01-01 12:00    500KB
photo2.jpg    2024-01-02 15:30    750KB
photo3.jpg    2024-01-03 09:15    600KB


この機能は、ディレクトリ内のファイル構造が公開されてしまうため、必要に応じて適切に制御する。
多くの場合、本番環境ではセキュリティ上の理由からディレクトリリスティングを無効化することが推奨される。


ディレクトリリスティングの無効化

ディレクトリリスティングが有効な場合、セキュリティ上の問題となる。

  • サイトの構造が外部に漏洩する。
  • 非公開のはずのファイルが見えてしまう可能性がある。
  • 攻撃者にとって有用な情報を提供してしまう。


そのため、多くの場合はディレクトリリスティングを無効にする。

  • Apache2の場合
 # .htaccessファイル
 Options -Indexes


  • NginXの場合
 # .confファイル
 autoindex off;


ディレクトリリスティングが必要な特殊なケース (例: ファイルダウンロードページ等) では、適切なアクセス制御を施した上で限定的に有効にすることもある。


代替方法

ディレクトリリスティングを無効化する以外では、以下に示すような対策を取ることが推奨される。

  • 各ディレクトリに適切なindex.htmlを配置する。
  • アクセスされた場合の404や403ページを用意する。
  • 必要なファイルへは直接リンクを張る。