
次の記事これKerberos NFS(v4)のマウントは、Kerberosサービスチケットを持たないコンピュータが共有ディレクトリをマウントするのを防ぐだけでなく、ユーザーのKerberosチケットを使用して共有ファイルに対するユーザー操作を認証するようです。
関連部分を引用します。
NFSv4以前は、NFSセキュリティはほとんど存在しませんでした。権限のないコンピュータがNFSエクスポートに接続するのを防ぎますが、サーバーの権限を使用してファイルを完全に保護するには、システム間で同じユーザーIDマッピングを使用する必要があります。このようにKerberosを使用すると、NFSは以前よりも安全になります。
このステートメントと矛盾する次のシナリオを理解できません。
# mount /share #succeeds because I have a service ticket in my keytab
$ klist
klist: No credentials cache found (ticket cache FILE:....)
$ ls /share
ls: cannot access /share: Permission Denied
$ kinit
Password for joe@MYREALM:
$ ls /share
contents of share
これまでは大丈夫ですが、そうすれば:
$ kdestroy
$ ls /share
contents of share
ここで何が起こっているのでしょうか? Kerberos 資格情報がなくても、NFS マウントポイントにアクセスできます。これは予想される動作ですか、それともインストールが正しく構成されていませんか?
情報
- Debian Wheezy 7.0でMIT Kerberos Vを実行する
マイインストールオプション:
$ grep nfs4 /etc/fstab server.myrealm:/nfs_export /share nfs4 sec=krb5,user 0 0
私は
/etc/exports
サーバーにいます:/nfs_export *(rw,sync,no_subtree_check,sec=krb5)
このnfs(5)
ページでは、GSS API が Kerberos セキュリティの 2 つの追加レイヤーをサポートしていることを示します。つまり、krb5i
データの整合性の確認、変調の検出、krb5p
セキュリティのためのすべてのRPC呼び出し暗号化の保証などです。どちらを有効にしても問題が解決するとは思いません。
編集する
~によるとダウドのアドバイス両方を試しましたが、動作は持続しますkrb5i
。krb5p
/share
私の質問は、現在Kerberosチケットを持っていない人がアクセスできないようにするにはどうすればよいですか?また、認証にはユーザーのKerberosチケットを使用できます(つまり、誰が何にアクセスできるかを制御する)私が引用した記事で暗示しているように見えますか?
答え1
表示される動作は、Linuxクライアントが資格情報を処理する方法によって発生します。会社の資格情報が見つかったら、それをメモリにキャッシュします。 kdestroy の後でも (まだ有効な) 資格情報はクライアントによってキャッシュされます。
から引用http://www.citi.umich.edu/projects/nfsv4/linux/faq/
カーネルコードキャッシュは Kerberos 資格情報ネゴシエーション gssapi コンテキストを使用します。資格情報を削除しても、カーネルのコンテキストは削除されません。資格情報とコンテキストを保存するための新しいキーリングカーネルサポートに移動するときに、この動作を変更する予定です。
残念ながら、クライアントはまだキーリングサポートを使用していません。