8.7.2. AUTH_GSS를 사용한 NFS 보안
NFSv4는 RPCSEC_GSS 및 Kerberos 버전 5 GSS-API 메커니즘의 구현을 관리하여 NFS 보안을 혁신합니다. 그러나 RPCSEC_GSS 및 Kerberos 메커니즘도 모든 NFS 버전에서 사용할 수 있습니다. FIPS 모드에서는 FIPS 승인 알고리즘만 사용할 수 있습니다.
AUTH_SYS와 달리 RPCSEC_GSS Kerberos 메커니즘과 달리 서버는 클라이언트에 의존하지 않고 어떤 사용자가 파일에 액세스하는지 올바르게 나타냅니다. 대신 암호화는 서버에 사용자를 인증하는 데 사용되며 악의적인 클라이언트가 해당 사용자의 Kerberos 자격 증명을 사용하지 않고도 사용자를 가장하게 하는 것을 방지합니다. RPCSEC_GSS Kerberos 메커니즘을 사용하는 것은 Kerberos를 설정한 후 추가 설정이 필요하지 않기 때문에 마운트를 보호하는 가장 간단한 방법입니다.
Kerberos 구성
NFSv4 Kerberos 인식 서버를 구성하기 전에 KerberosDC(Kerberos Key Distribution Center)를 설치하고 구성해야 합니다. Kerberos는 대칭 암호화와 신뢰할 수 있는 타사인 KDC를 사용하여 클라이언트와 서버가 서로 인증할 수 있는 네트워크 인증 시스템입니다. Red Hat은 IdM(Identity Management)을 사용하여 Kerberos를 설정하는 것이 좋습니다.
절차 8.3. RPCSEC_GSS를 사용하도록 IdM용 NFS 서버 및 클라이언트 구성
- NFS 서버 측에서
nfs/hostname.domain@REALM
주체를 생성합니다. - server 및 client side 둘 다에
host/hostname.domain@REALM
주체를 생성합니다. - 클라이언트 및 서버의 키탭에 해당 키를 추가합니다.
자세한 내용은 Red Hat Enterprise Linux 7 Linux 도메인 ID, 인증 및 정책 가이드 의 Kerberos 인식 NFS 서버 섹션 추가 및 편집 서비스 항목을 참조하십시오.- 서버 측에서
sec=
옵션을 사용하여 원하는 보안 플레이버를 활성화합니다. 모든 보안 플레이버 및 비 암호화 마운트를 활성화하려면 다음을 수행합니다./export *(sec=sys:krb5:krb5i:krb5p)
sec=
옵션과 함께 사용할 유효한 보안 플레이버는 다음과 같습니다.sys
: 암호화 보호 없음, 기본값krb5
: 인증 전용krb5i
: 무결성 보호krb5p
: 개인 정보 보호
- 클라이언트 측에서 마운트 옵션에
sec=krb5
(또는sec=krb5i
,sec=krb5p
, sec=krb5p )를 추가합니다.# mount -o sec=krb5 server:/export /mnt
NFS 클라이언트를 구성하는 방법에 대한 자세한 내용은 Red Hat Enterprise Linux 7 Linux 도메인 ID, 인증 및 정책 가이드의 Kerberos 인식 NFS 클라이언트 설정 섹션을 참조하십시오.
추가 리소스
- Red Hat은 IdM 사용을 권장하지만 AD(Active Directory) Kerberos 서버도 지원됩니다. 자세한 내용은 SSSD 및 Active Directory를 사용하여 RHEL 7에서 Kerberos 인증을 사용하여 NFS를 설정하는 방법을 참조하십시오.
- Kerberos 보안 NFS 공유에 root로 파일을 쓰고 이러한 파일에 대해 루트 소유권을 유지해야 하는 경우 의 내용을 참조하십시오 https://access.redhat.com/articles/4040141. 이 구성은 권장되지 않습니다.
8.7.2.1. NFSv4를 통한 NFS 보안
NFSv4에는 Microsoft Windows NT 모델의 기능 및 광범위한 배포 때문에 POSIX 모델이 아닌 Microsoft Windows NT 모델을 기반으로 하는 ACL 지원이 포함되어 있습니다.
NFSv4의 또 다른 중요한 보안 기능은 파일 시스템 마운트에
MOUNT
프로토콜 사용을 제거하는 것입니다. MOUNT
프로토콜은 프로토콜에서 파일을 처리하는 방식 때문에 보안 위험이 발생했습니다.