Web - ディレクトリリスティング
ナビゲーションに移動
検索に移動
概要
ディレクトリリスティングとは、Webサーバがディレクトリ内のファイル一覧を自動的にWebブラウザに表示する機能である。
ディレクトリリスティングが有効な場合、ディレクトリ内のファイル一覧が表示される。
- 例 1: URLでディレクトリにアクセスした場合
- 例 2: 該当ディレクトリにindex.htmlやindex.php等のデフォルトページが存在しない場合
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ページを用意する。
- 必要なファイルへは直接リンクを張る。