本当に素直な疑問なので裏を読まないで下さい。
なお、当方FreeBSDしか知りません。
/etc/passwd を抜かれて困ることって実際にあるのでしょうか?
抜かれちゃ困る(例えばスクリプトの設定事項をインクルードさせている).incファイルとかも見据えてのことだとは思うのですが、結構色々なサイトで書かれる/etc/passwd のことについて見ても、いまひとつピンと来ません。
/etc/passwd から読み取れるのは
・ユーザー名・UID・GID・フルネーム(これはadduser次第)・shellだけだと思うのです。。。。
望むべくして提供するデータ以外は一切見られたくないという前提は認識していますので、そういう意味では/etc/passwdも当然見られたくはないのですが…
ああ、またこれで自分の認識の浅さを自分で暴露するような気も。。。。
私はLinuxをちょっと知ってる程度なので具体的に何がどうまずいか説明出来ませんが、私の知り合いにはユーザ名とPASSを同じ設定してる方もいますね。
やばいというのはどれ位やばいのか?
というのはいちがいに言えない部分もありますが〜
yosisさんおっしゃるようにユーザー名とパスワードが同じ
(あるいは近い,「ID:taro」「Password:tarotaro」など)という場合もあります.
また,/etc/passwdが抜けるということはその他の「多くのファイルをアクセスできる可能性がある」とも言えます.
例えばBasic認証をやっているURLがある場合,該当ディレクトリに.htpasswdという形で認証ファイルがある場合があります
(暗号化されていますがツールを使えばそれなりの時間で突き止められるでしょう.
UNIXアカウントパスワードとデータベースパスワードは共通という場合もあるかもしれません.
その場合,ファイルにデータベース情報がかかれていればおそらく生のファイルなので,試すことができますね.
場合によってはそのコンテンツ管理者のパスワードなりを入手すれば,他のサーバーにその人のアカウントが存在していることを知っていれば同様にログインできてしまうかもしれません.
その他こういう穴はサーバー毎にいろいろ推測してアタックをすることができる*きっかけ*を*簡単に*作ることができると言えるでしょう.
Windowsでこの状態になるかどうかは調べていませんが,Windowsでも見られて困るファイルは出てくるかもしれないですね.
passwdファイルに限った話ではなく、
> アタックをすることができる*きっかけ*を*簡単に*作ることができる
ここが一番マズイかと。
> > アタックをすることができる*きっかけ*を*簡単に*作ることができる
>
> ここが一番マズイかと。
そういうことです;-)
> > アタックをすることができる*きっかけ*を*簡単に*作ることができる
>
> ここが一番マズイかと。
それについては完全に承知しております(^^ゞ
単に /etc/passwd にどの程度の危険性があるのかなと思っただけでして。
ユーザー名がわかる=パスワード推測の手助けになる
という感じですよね。
んー
書き方が悪かったのかな
/etc/passwdが読めると言うことは,ほとんどのファイルが読めるということも同じくらい危険だと書いているつもりなのですが.
> /etc/passwdが読めると言うことは,ほとんどのファイルが読めるということも同じくらい危険だと書いているつもりなのですが.
大丈夫です。完全に理解していますのでご安心下さい(^^ゞ
さすがにそこまで危険人物ではありません。もしそうだったら今すぐPHP封印です(笑)
私の興味は単に /etc/passwd についてなのです。
数多くのサイトが啓蒙のためにこのファイルを例にとっていることについて、何故このファイルなのか、という点のみ疑問だったわけです。
こちらこそ書き方がわかりづらかったようでお詫び申し上げます。。。
他のファイルも読めてしまうということですから、例えばSSL秘密鍵のパスフレーズが書かれたファイルを置いている場合(Apache起動用など)などは秘密鍵とパスフレーズが盗まれる可能性がありますね。
繰り返しになりますが,単に/etc/passwdが盗まれて,内容について何がこまるか? というところについての興味なら繰り返しになりますが基本的にyosisさんが書かれていらっしゃるような傾向の問題になります.
また,ウェブサーバーとしては中々現役としては存在しないと思いますが,shadowができる場合は/etc/passwdにパスワードが書かれていました.
10年前後前にはまだそういうシステムは現行機だったと思います.
/etc/passwdが読めること自体に何が問題があるかというと,これも既に書いているので再度はナシで.
で,なぜ/etc/passwdなのか?というと決定的な理由は無いと思いますが,おそらくUNIX系ではほぼ間違いなく存在するファイルだから試しやすいということが一番の理由になると思います(ついでにどうせだからアカウント名盗みたいねなど2次的目的もあるでしょうけど).
そういう意味では/etc/groupでも別にいいわけです.
ということでいかがでしょう?
なんか私のつまらない興味のためにコメントレスがえらい続いてしまって、みなさんどうもすみません<(_ _)>
> shadowができる場合は/etc/passwdにパスワードが書かれていました.
10年前後前にはまだそういうシステムは現行機だったと思います.
> で,なぜ/etc/passwdなのか?というと決定的な理由は無いと思いますが,おそらくUNIX系ではほぼ間違いなく存在するファイルだから試しやすいということが一番の理由になると思います(ついでにどうせだからアカウント名盗みたいねなど2次的目的もあるでしょうけど).
そういう意味では/etc/groupでも別にいいわけです.
なんとなく自分が思っていたことと合致いたしました。
やはり昔のシステム環境における危険性を引きづったまま、/etc/passwd が例にとるための代表ファイルとなっているだけなのかもしれませんね。
ありがとうございます。
まさかそんなことは無いとは思っていましたが、
もしかしてLinuxディストリビューションのOSは /etc/passwd にパスワードがかかれているのかな、とか心の片隅に想像もしちゃったりしたので、これですっきりしました。
何度も書きますが“想定外のファイルを読み取られる脆弱性”という論点については初めから理解していますので、この点については勘違いしないで下さいませ。
ELFさんの解答に感謝申し上げます。