通常のユーザーは/ etc / passwdを読み取ることができますが、これはセキュリティホールですか?


19
ls -l /etc/passwd

与える

$ ls -l /etc/passwd
-rw-r--r-- 1 root root 1862 2011-06-15 21:59 /etc/passwd

したがって、一般ユーザーはファイルを読み取ることができます。これはセキュリティホールですか?

回答:


49

実際のパスワードハッシュはに保存されますが/etc/shadow、これは通常のユーザーが読み取ることはできません。 /etc/passwdシステムが機能するためにすべてのユーザーが読み取り可能である必要があるユーザーIDおよびシェルに関するその他の情報を保持します。


3
実際には-歴史的にはパスワードは/ etc / passwdに保存されていました-しかし、これによりブルートフォースマッチングが簡単になりました-したがって、最新のシステムはpam_unixなどで/ etc / shadonを使用しました。
symcbean

4
最新のLinuxでは/etc/shadow。BSDはを使用します/etc/master.passwd。Solarisは/etc/security/passwd。HP-UXが使用する/.secure/etc/passwdと、リストに載っている...
クリスS

16

通常、ハッシュされ/etc/shadowたパスワードはほとんどのLinuxシステムに保存されます。

-rw-r----- 1 root shadow 1349 2011-07-03 03:54 /etc/shadow

(これらは、に格納されている/etc/master.passwd上にBSDシステム)。

認証を実行する必要があるプログラムは、引き続きroot特権で実行する必要があります。

-rwsr-xr-x 1 root root 42792 2011-02-14 14:13 /usr/bin/passwd

あなたが嫌いな場合はsetuid root、プログラムやシステム上のすべてのハッシュされたパスワードを含む1つのファイルを、あなたはでそれを置き換えることができますのOpenwall TCB PAMモジュール。これにより、ハッシュ化されたパスワードを保存するための独自のファイルがすべてのユーザーに提供されます。その結果setuid root、システム上のプログラムの数を大幅に減らすことができます。


13

パスワードはもう/etc/passwd何年も保存されていません。名前はレガシーであり、ローカルユーザーデータベースであるという機能はそのままであり、そのためにはすべてのユーザーが読み取り可能でなければなりません


2
世界の読みやすさは、設計上の決定ではなく、必要である
ベンフォークト

@Ben:だから、だれも他の誰かに属するファイルを識別できないのは合理的ですか?最近はNSSのローカルストアであり、名前にもかかわらずPAMのストアではありません
ギーコサウルス

1
特権のないユーザーがユーザーリスト全体を列挙することを許可せずに、特権サービスにuid->名前変換を実行させることは完全に可能です。一部のOSはそのオプションを選択します。
ベンフォークト

1
@joechip現在のOSは、ユーザーを互いに隠すことはできません。すべてのユーザーは、/ etc / passwdよりも多くの方法で列挙できます。Linuxではls -la / home、MacOS Xではls -la / Users、Windows 7ではdir C:\ Users、Unixシステムではps -afux。設計選択の変更Ben Voigtは、セキュリティを変更せずに生活を困難にするだけであると暗示しています。
魔術師

1
@Magicianeer-Windowsの例が正しくないと言っているだけです。他の方法でユーザーを取得できますが、C:\ usersフォルダーを表示すると、ログインしているユーザーのみが表示されます。システムユーザーではありません。
-burnt_hand

6

ユーザーを特定できるため、ある程度はそうです。以前は、パスワードを入手することもできました。ただし、クラックする価値のある1つのrootユーザーIDは、パスワードファイルなしでよく知られています。

一般に、パスワードファイルを誰でも読み取り可能にするユーティリティは、リスクをはるかに上回ります。たとえ世界中で読めなくても、機能するgetent passwdコマンドはセキュリティゲインを無効にします。

非ルートユーザーが他のユーザーが所有するファイルを識別する機能はなくなります。所有者(passwdファイルのユーザー)と非所有者(passwdファイルのユーザーではない)を識別できると、ファイルシステムの内容を確認するのに役立ちます。適切なsetuidプログラムでこれを解決することは可能ですが、それらのプログラムを介して巨大な攻撃ベクトルが追加されます。

結局のところ、それはバランスの問題であり、この場合、私はパスワードの世界が読み取り可能なバランスをしっかりと持っていると言うでしょう。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.