본문 바로가기
인프라 진단/전자금융기반시설(서버) - Linux

SRV-014 NFS 접근 통제 미비

by 49 BLOCK 2024. 1. 1.

notice

SRV-014 NFS 접근 통제 미비

【 상세설명 】
NFS 서비스는 원격지의 시스템에 위치한 파일을 공유할 수 있는 서비스로 잘못된 설정에 의해 원치 않는 파일 또는 디렉터리 등이 외부에 노출되고 있는지 여부를 점검

【 판단기준 】
- 양호 : NFS 비활성화 혹은 적절한 접근통제가 이루어지고 있을 경우
- 취약 : 아래 조건 만족 시 취약
           1. NFS 서비스 실행 중  
           2. NFS 설정 파일 내에 읽기/쓰기 권한 정의 등의 적절한 접근 통제 설정이 없을 경우
           3. NFS 설정 파일의 접근권한이 소유자가 root가 아니고, 권한이 644보다 높게 부여된 경우

【 판단방법 】
1. NFS 서비스 프로세스 구동 확인
2. NFS 서비스 접근 통제 설정 확인
3. NFS 서비스 설정 파일 접근 권한 확인
4. (NIS 사용하는 경우) NIS 서비스 설정 추가 확인

  ■ Linux, AIX, HP-UX 11.31 미만
    # ps -ef | egrep "nfs|statd|lockd"
        root 3809 3721 0 08:44:40 ? 0:00 /usr/lib/nfs/nfsd

    # cat /etc/exports
        /tmp/nfs/     * (rw)
        /tmp/nfs/     bob.example.com (rw,no_root_squash)

    # ls -alL /etc/exports
        -rw-r--r--. 1 root root 0 Jun 23  2020 /etc/exports

    # cat /etc/netgroup
        <group_name> (<hostname>,<username>,<domainname>) (-,<username>,<domainname>) ...
        testgroup (testhost,tester,http://www.abc.com) (-,tester,http://www.abc.com) ...

  ※ "/etc/exports" 옵션
      - * : everyone 공유 허용 설정
      - ro(default) : 읽기 권한만 부여(Read Only)
      - rw : 읽기, 쓰기 권한 부여(Read/Write)
      - root_squash(default) : 클라이언트가 root 계정으로 NFS 서버 접근 시 guest 계정(nfsnobody, nobody 등) 권한 부여
      - no_root_squash : 클라이언트가 root 계정으로 NFS 서버 접근 시 root 계정 권한 부여
      - all_squash : 클라이언트의 모든 계정(root 포함)에게 서버의 guest 계정(nfsnobody, nobody 등) 권한 부여
      - no_all_squash(default) : 클라이언트의 계정과 동일한 UID 를 가지는 계정이 서버에 있을 때 해당 계정 권한 부여
      - secure(default) : 1024번 이하 포트의 요청만 허용(1024번 이하 포트는 root 계정만 사용 가능)
      - insecure: any 또는 모든 포트의 요청 허용

  ■ HP-UX 11.31 이상, SOLARIS 9 이하
    # ps -ef | egrep "nfs|statd|lockd"
        root 3809 3721 0 08:44:40 ? 0:00 /usr/lib/nfs/nfsd

    # cat /etc/dfs/dfstab
        share -F nfs -o rw, ro /export/home/test

        ※ /etc/dfs/dfstab : NFS 로 공유할 디렉터리 및 Mount option 설정 파일
        ※ /etc/dfs/sharetab : 현재 공유설정 해 놓은 파일 및 디렉터리 목록 파일

    # ls -alL /etc/dfs/dfstab
        -rw-r--r--    1 bin    bin    241 Sep  3  2003 /etc/dfs/dfstab

    # cat /etc/netgroup
        <group_name> (<hostname>,<username>,<domainname>) (-,<username>,<domainname>) ...
        testgroup (testhost,tester,http://www.abc.com) (-,tester,http://www.abc.com) ...

  ■ SOLARIS 10, 11
    # inetadm | egrep “nfs|statd|lockd”
        enabled   online    svc:/network/nfs/rquota:default
        enabled   online    svc:/network/nfs/client:default
        enabled   online    svc:/network/nfs/status:default
        enabled   online    svc:/network/nfs/server:default
        enabled   online    svc:/network/nfs/cbd:default
        enabled   online    svc:/network/nfs/mapid:default
        enabled   online    svc:/network/nfs/nlockmgr:default
또는
    # svcs -a | egrep "nfs|statd|lockd"
        disabled    7월_14    svc:/network/nfs/rquota:default
        disabled    7월_14    svc:/network/nfs/client:default
        disabled    7월_14    svc:/network/nfs/status:default
        disabled    7월_14    svc:/network/nfs/server:default
        disabled    7월_14    svc:/network/nfs/cbd:default
        disabled    7월_14    svc:/network/nfs/mapid:default
        disabled    7월_14    svc:/network/nfs/nlockmgr:default

    # cat /etc/exports
        /tmp/nfs/     * (rw)
        /tmp/nfs/     bob.example.com (rw,no_root_squash)

    # ls -alL /etc/exports
        -rw-r--r--. 1 root root 0 Jun 23  2020 /etc/exports

    # cat /etc/netgroup
        <group_name> (<hostname>,<username>,<domainname>) (-,<username>,<domainname>) ...
        testgroup (testhost,tester,http://www.abc.com) (-,tester,http://www.abc.com) ...

【 조치방법 】
1. NFS 서비스 접근 통제 설정
2. NFS 서비스 설정 파일 접근 권한 설정(소유자 : root, 권한 644 이하)
3. NFS 서비스 재시작

  2024-01-13 : (조치과정 삭제)