콘텐츠로 이동

U-40: NFS 접근 통제

분류: 01_unix

중요도: 상


개요

점검 내용

NFS(Network File System)의 접근 통제 설정 적용 여부 점검

점검 목적

접근 권한이 없는 비인가자의 접근을 통제하기 위함

보안 위협

접근 통제 설정이 적절하지 않을 경우, 인증 절차 없이 비인가자가 디렉터리나 파일의 접근이 가능하며, 해당 공유 시스템에 원격으로 마운트하여 중요 파일을 변조하거나 유출할 위험이 존재함

참고

참고

NFS 서비스 사용 금지가 원칙이나, 불가피하게 사용 시 NFS v2, v3는 평문으로 전송되는 취약점이 있으므로 암호화되는 v4를 사용하는 것을 권고함

참고

NFS 서비스를 사용해야 하는 경우, NFS 설정 파일에 꼭 필요한 디렉터리만 설정하고, 허가된 사용자만 접근할 수 있도록 올바른 접근 통제를 설정해야 함

점검 대상 및 판단 기준

대상

SOLARIS, LINUX, AIX, HP-UX 등

판단 기준

✅ 양호: 접근 통제가 설정되어 있으며 NFS 설정 파일 접근 권한이 644 이하인 경우

❌ 취약: 접근 통제가 설정되어 있지 않고 NFS 설정 파일 접근 권한이 644를 초과하는 경우

조치 방법

  • NFS 서비스를 사용하지 않는 경우 서비스 중지 및 비활성화 설정
  • 불가피하게 사용 시 접근 통제 설정 및 NFS 설정 파일 접근 권한 644 설정

조치 시 영향

일반적인 경우 영향 없음

점검 및 조치 사례

SOLARIS

  1. 파일 소유자 및 권한 확인

    # ls -l /etc/dfs/dfstab
    # ls -l /etc/dfs/sharetab
    
  2. /etc/dfs/dfstab 파일 내 공유 중인 디렉터리에 접근할 수 있는 사용자 및 부여 권한 확인

  3. 파일 소유자를 root로 변경

    # chown root /etc/dfs/dfstab
    
  4. 파일 권한을 644로 변경

    # chmod 644 /etc/dfs/dfstab
    
  5. /etc/dfs/dfstab 파일에 디렉터리 공유를 허용할 사용자 및 해당 사용자의 권한 설정

    예시)
    사용자의 읽기, 쓰기 권한 접속 허용 : share -F nfs -o rw, ro /export/home/example
    사용자의 권한 접속 제한 : share -F nfs -o rw=client1:client2, ro=client1:client2 /export/home/example
    
  6. NFS 서비스 설정 적용

    # shareall
    

참고

읽기(ro), 쓰기(rw) 권한에 각각 사용자를 설정하여야 읽기, 쓰기 권한 모두 제한 가능

LINUX

  1. 파일 소유자 및 권한 확인

    # ls -l /etc/exports
    
  2. /etc/exports 파일 내 공유 중인 디렉터리에 접근할 수 있는 사용자 및 부여 권한 확인

    # cat /etc/exports
    
  3. 파일 소유자를 root로 변경

    # chown root /etc/exports
    
  4. 파일 권한을 644로 변경

    # chmod 644 /etc/exports
    
  5. /etc/exports 파일에 디렉터리 공유를 허용할 사용자 및 해당 사용자의 권한 설정

    예시) /home/example host1 (ro, root_squash)
    
  6. NFS 서비스 설정 적용

    # exportfs -ra
    

AIX

  1. 파일 소유자 및 권한 확인

    # ls -l /etc/exports
    
  2. /etc/exports 파일 내 공유 중인 디렉터리에 접근할 수 있는 사용자 및 부여 권한 확인

    # cat /etc/exports
    
  3. 파일 소유자를 root로 변경

    # chown root /etc/exports
    
  4. 파일 권한을 644로 변경

    # chmod 644 /etc/exports
    
  5. /etc/exports 파일에 디렉터리 공유를 허용할 사용자 및 해당 사용자의 권한 설정

    예시) /home/example –sec=sys:krb5p:krb5i:krb5:dh,ro=host1, access=host1
    
  6. NFS 서비스 재시작

    # exportfs -u
    # exportfs –a
    

HP-UX

/etc/dfs/dfstab

  1. 파일 소유자 및 권한 확인

    # ls -l /etc/dfs/dfstab
    # ls -l /etc/dfs/sharetab
    
  2. /etc/dfs/dfstab 파일 내 공유 중인 디렉터리에 접근할 수 있는 사용자 및 부여 권한 확인

    # cat /etc/dfs/dfstab
    
  3. 파일 소유자를 root로 변경

    # chown root /etc/dfs/dfstab
    
  4. 파일 권한을 644로 변경

    # chmod 644 /etc/dfs/dfstab
    
  5. /etc/dfs/dfstab 파일에 디렉터리 공유를 허용할 사용자 및 해당 사용자의 권한 설정

    예시)
    사용자의 읽기, 쓰기 권한 접속 허용 : share -F nfs -o rw, ro /export/home/example
    사용자의 권한 접속 제한 : share -F nfs -o rw=client1:client2, ro=client1:client2 /export/home/example
    
  6. NFS 서비스 설정 적용

    # shareall
    

참고

읽기(ro), 쓰기(rw) 권한에 각각 사용자를 설정하여야 읽기, 쓰기 권한 모두 제한 가능

/etc/exports

  1. 파일 소유자 및 권한 확인

    # ls -l /etc/exports
    
  2. /etc/exports 파일 내 디렉터리에 접근할 수 있는 사용자 및 부여 권한 확인

    # cat /etc/exports
    
  3. 파일 소유자를 root로 변경

    # chown root /etc/exports
    
  4. 파일 권한을 644로 변경

    # chmod 644 /etc/exports
    
  5. /etc/exports 파일에 디렉터리 공유를 허용할 사용자 및 해당 사용자의 권한 설정

    예시) /home/example host1 (ro, root_squash)
    
  6. NFS 서비스 설정 적용

    # exportfs -ra