なぜpasswdファイルが閲覧されるとまずいのか?

Linuxにはアカウントの一覧を/etc/passwdで管理しているが、Directory Traversalなどによって閲覧できてしまわないように対策を進める書籍は多い。ただなぜ閲覧させてはいけないかが書かれていないケースが非常に多い。passwdにはパスワードの情報が含まれていないにも関わらずだ。
それはユーザーの一覧が分かると総当たり攻撃に必要な時間が確実に減るからだ。ユーザーが分からなければ不特定多数ユーザー×不特定多数パスワードで無限大になるが、ユーザーが固定されれば試すパターンはユーザー数×不特定パスワードとなる。
ただpasswdが閲覧できなければ安全かと言えばそうではない。デフォルトユーザー(rootやmysqladmin、postgresなど)がログインできないことが必要である。これらがログイン可能であれば結局パターン数が絞れてしまう。
またSMTPサービスによるユーザー問い合わせにも注意しなければならない。


ちなみに、パスワード自体は/etc/shadowなどで管理されているが、通常このファイルはrootユーザーにしか閲覧権限は無いので、Directory Traversalの問題によって到達可能な状態にあっても、Apacheの起動ユーザーがrootでない限りはこの脆弱性は発生しない。

カテゴリーUNIX

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です