OWASP ZAPで検出されるディレクトリブラウジングの原因とApache設定による対策

こんにちは。飯塚です。
 
システム開発の脆弱性検証として、OWASP ZAP を使うことがあります。検知された各脆弱性の理解のために記事にしました。
 
対応方法はシステムの要件によっても変わりますし、絶対に脆弱性を防げることを保証するものではありません。あらかじめご了承ください。

OS・Apache・OWASP ZAPのバージョン

項目 バージョン
OS Debian GNU/Linux 12 (bookworm)
Apache 2.4.XX
OWASP ZAP 2.15.0

ディレクトリブラウジング・ディレクトリリスティングとは

URLにディレクトリを指定することで、フォルダやファイルが閲覧可能になっている、という意味です。
 
例えば、https://example.com/account/regist.php というURLでアカウント登録画面が表示されたとします。このサイトで、https://example.com/account/ をURLに指定すると、account ディレクトリ配下のフォルダ・ファイルの一覧が見えてしまう、ということです。
 
ちなみに OWASP ZAP では「ディレクトリブラウジング」という名称で検知されますが、「ディレクトリリスティング」のほうが一般的なようです。
 
参考
【ZAP】Directory Browsing

ディレクトリリスティングのセキュリティリスクと攻撃手法

意図して公開している場合を除くと、下記のようなリスクが生まれます。
 
認証情報や接続先情報が書かれた設定ファイルが公開されることで悪用される
ディレクトリリスティングで閲覧可能なファイルはダウンロードも可能です。もし認証情報や接続先情報が書かれていると、簡単に悪用されます。
 
フォルダ構成の解析によって既知の脆弱性を突かれる
フォルダ構成やファイル名が分かれば、使用されているフレームワーク、ライブラリ、プラグインなどを特定しやすくなります。特定できれば、対応する既知の脆弱性を利用した攻撃が可能になります。
 
ディレクトリトラバーサル攻撃
フォルダ構成から重要な設定ファイルのパスを推測し「../」といった相対パス指定を行うことで、機密ファイルを取得可能になります。
【IPA】ディレクトリ・トラバーサル

Apacheでディレクトリリスティングを無効化する設定 Options -Indexes

Apache のフォルダ構成

/etc/apache2
    |-- apache2.conf

Apache の対応
apache2.confOptions を適切に設定します。以下、設定例です。
Options -Indexes

Options ディレクティブは、特定のディレクトリに対して どの機能が使用可能かを制御します。
 
IndexesDirectoryIndex で指定したファイルがディレクトリ内に無ければ、ディレクトリ内の一覧を返す機能です。「-」をつけるとこの機能が削除されるので、ディレクトリリスティングが無効化されます。
 
要件と構成によって設定は異なるはずなので、詳細は Apache のドキュメントをご参照ください。
 
設定ファイルの変更なので、反映にはApacheの再起動が必要です。
systemctl restart httpd

まとめ

いかがでしょうか。
 
ディレクトリリスティングはWebサーバ設定の不備によって発生する代表的な情報漏えいリスクの一つです。特にApache環境では Options -Indexes の設定確認が基本的なセキュリティ対策となります。
 
単純な設定ですが、認証情報や接続先情報が漏れるリスクを知ると恐ろしいですよね。たった一行の設定ですが、疎かにしてはいけないと感じました。
 
OWASP ZAPで検知された他の脆弱性についても記事を今後書きます。参考になれば幸いです。
 
 
 
 
《関連記事》

Content Security Policy(CSP)
技術
2025.11.25(Tue)

ApacheのServerヘッダーにバージョン情報が漏れる問題と安全な設定方法|OWASP ZAP検出エラーを解消

#ツール

ApacheでHSTS(Strict-Transport-Security)を設定
技術
2025.11.7(Fri)

ApacheでHSTS(Strict-Transport-Security)を設定する方法|OWASP ZAP検出エラーを解消

#ツール

X-Frame-OptionsとCSP(frame-ancestors)の設定方法
技術
2026.2.27(Fri)

【Clickjacking対策】X-Frame-OptionsとCSP(frame-ancestors)の設定方法|OWASP ZAP検知対応

#ツール

記事をシェア
MOST VIEWED ARTICLES