web-dev-qa-db-ja.com

NIS:特権のないユーザーに対してshadow.bynameを非表示にするメカニズムはどれですか?

NISクライアントである一部のLinuxボックス(SLES 11.1)では、rootとして実行できます。

ypcat shadow.byname

そして、他の情報の中でも、出力、つまり暗号化されたパスワードを含むいくつかの行を取得します。

同じLinuxボックスで、特権のないユーザーと同じコマンドを実行すると、次のようになります。

No such map shadow.byname. Reason: No such map in server's domain

今、私は驚いています。私の古き良き知識によれば、NISのシャドウパスワードは、プロトコルにアクセス制御や認証がないため、すべての(権限のない)ユーザーがシャドウマップにアクセスして暗号化されたパスワードを取得できるため、ばかげています。

明らかに、ここには別の写真があります。残念ながら、何が起こっているのかを把握するためにNISサーバーにアクセスできません。私の唯一の推測は、NISマスターが特権ポート(> 1024)からのクライアント接続にのみマップを提供するということですが、これは知識のない推測にすぎません。

上記のような動作につながる現在のNIS実装にはどのようなメカニズムがありますか?それらはどの程度「安全」ですか?簡単に回避できますか?または、NISのシャドウパスワードは古き良きシャドウファイルと同じくらい安全ですか?

3
Mark Salzer

NISマスターの/var/yp/{domainname}/で誰もが読み取れないマップへのアクセスは、特権ポート(<1024)から要求を行うクライアントに制限されています。ローカルの/etc/shadowほど安全ではありませんが、何もないよりは少し優れています。

より良いセキュリティのために、SunはNIS +を設計しましたが、実際に広く採用されることはありませんでした。

パスワードハッシュをサーバーからクライアントにフェッチする必要がなく、代わりにクライアントが検証のために提案されたパスワードをサーバーに送信するLDAPの方がはるかに優れています(LDAP auth-bind)。

2
MLu