Kerberos화된 NFSv4 인증 이해

Kerberos화된 NFSv4 인증 이해

다음과 같은 기사이것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 마운트 지점에 액세스할 수 있습니다. 이는 예상된 동작입니까, 아니면 설치가 잘못 구성되었습니까?

정보

  1. Debian Wheezy 7.0에서 MIT Kerberos V 실행
  2. 내 설치 옵션:

    $ grep nfs4 /etc/fstab
    server.myrealm:/nfs_export /share nfs4 sec=krb5,user 0 0
    
  3. 나는 /etc/exports서버에 있습니다 :

    /nfs_export *(rw,sync,no_subtree_check,sec=krb5)
    

nfs(5)페이지에는 GSS API가 Kerberos 보안의 두 가지 추가 계층을 지원한다고 나와 있습니다. 즉, krb5i데이터 무결성 확인, 변조 감지, krb5p보안을 위해 모든 RPC 호출 암호화 보장 등입니다. 둘 중 하나를 활성화해도 문제가 해결될 것이라고 생각하지 않습니다.

편집하다

~에 따르면다우드의 조언두 가지를 모두 시도했지만 동작이 지속됩니다 krb5i.krb5p

/share내 질문은 현재 Kerberos 티켓이 없는 사람이 액세스할 수 없도록 하려면 어떻게 해야 합니까 ? 또한 인증을 위해 사용자의 Kerberos 티켓을 사용할 수 있습니다(, 누가 무엇에 액세스할 수 있는지 제어) 내가 인용한 기사에서 암시하는 것처럼 보입니까?

답변1

표시되는 동작은 Linux 클라이언트가 자격 증명을 처리하는 방식으로 인해 발생합니다. 회사 자격 증명을 찾으면 이를 메모리에 캐시합니다. kdestroy 후에도 (여전히 유효한) 자격 증명은 클라이언트에 의해 캐시됩니다.

에서 인용http://www.citi.umich.edu/projects/nfsv4/linux/faq/

커널 코드 캐시는 Kerberos 자격 증명 협상 gssapi 컨텍스트를 사용합니다. 자격 증명을 삭제해도 커널의 컨텍스트는 삭제되지 않습니다. 자격 증명과 컨텍스트를 저장하기 위한 새로운 키링 커널 지원으로 이동할 때 이 동작을 변경할 계획입니다.

불행하게도 클라이언트는 여전히 키링 지원을 사용하지 않습니다.

관련 정보