8.7. NFS 보안
NFS는 많은 수의 알려진 호스트로 전체 파일 시스템을 투명하게 공유하는 데 적합합니다. 그러나 사용 편의성은 다양한 잠재적 보안 문제가 발생합니다. NFS 보안 위험을 최소화하고 서버에서 데이터를 보호하려면 서버에서 NFS 파일 시스템을 내보내거나 클라이언트에 마운트할 때 다음 섹션을 고려하십시오.
8.7.1. AUTH_SYS 및 Export Controls를 사용한 NFS 보안
일반적으로 NFS에서는 내보낸 파일에 대한 액세스를 제어하기 위해 두 가지 옵션을 제공했습니다.
먼저 서버는 IP 주소 또는 호스트 이름으로 어떤 파일 시스템을 마운트할 수 있는 호스트를 제한합니다.
두 번째, 서버는 로컬 사용자와 동일한 방식으로 NFS 클라이언트의 사용자에 대해 파일 시스템 권한을 적용합니다. 일반적으로 클라이언트는 UID 및 GID의 사용자 상태를 확인하는 데 사용하는
AUTH_SYS
( AUTH_UNIX
라고도 함)를 사용합니다. 즉, 악성 또는 잘못 구성된 클라이언트가 쉽게이 잘못된 얻을 수 있으며 사용자가 사용하지 않아야하는 파일에 대한 액세스를 허용 할 수 있습니다.
잠재적인 위험을 제한하기 위해 관리자는 공통 사용자 및 그룹 ID에 대한 읽기 전용 액세스 또는 스쿼시 사용자 권한을 허용하는 경우가 많습니다. 이 솔루션은 NFS 공유가 원래 의도한 방식으로 사용되지 않도록 합니다.
또한 공격자가 NFS 파일 시스템을 내보내는 시스템에서 사용하는 DNS 서버를 제어하는 경우 특정 호스트 이름 또는 정규화된 도메인 이름과 연결된 시스템은 권한이 없는 머신을 가리킬 수 있습니다. 이 시점에서 권한이 없는 시스템은 NFS 마운트에 대한 추가 보안을 제공하기 위해 사용자 이름 또는 암호 정보가 교환되지 않으므로 NFS 공유를 마운트할 수 있는 시스템입니다.
NFS를 통해 디렉토리를 내보낼 때 와일드카드를 사용하여 의도한 것보다 더 많은 시스템을 포함시킬 수 있으므로 와일드카드를 사용해야 합니다.
또한 TCP 래퍼를 사용하여 alice bind[1] 서비스에 대한 액세스를 제한할 수도 있습니다. iptables 를 사용하여 규칙을 생성할 수도 있습니다. 또한부터 .pc bind,authorization.mountd . nfsd 에서 사용하는 포트에 대한 액세스를 제한할 수 있습니다.
NFS 및authorization bind 의 보안에 대한 자세한 내용은 man iptables 를 참조하십시오.