본문 바로가기

Infra/리눅스 서버

[리눅스 서버] 서버 관리 - NFS 접근통제

[리눅스 서버] 서버 관리 - NFS 접근통제



대상 OS : SunOS, Linux, AIX, HP-UX


■ 취약점 개요

    - *NFS(Network File System) 사용 시 허가된 사용자만 접속할 수 있도록 접근제한 설정을 하여야 함

    - 접근제한 설정이 적절하게 이루어지지 않을 경우 비인가자의 root 권한 획득이 가능하며, 해당 공유 시스템에 원격으로 마운트하여 중요 파일을 변조하거나 유출할 위험이 있음


    * NFS(Network File System) : 원격 컴퓨터의 파일 시스템을 로컬 시스템에 마운트하여 마치 로컬 파일시스템처럼 사용할 수 있는 프로그램


■ 보안대책

    - 양호 : NFS 서비스를 사용하지 않거나, 사용 시 everyone 공유를 제한한 경우

    - 취약 : NFS 서비스를 사용하고 있고, everyone 공유를 제한하지 않은 경우


■ 조치방법

    - 사용하지 않는다면 NFS 서비스 중지, 사용할 경우 NFS 설정파일에 everyone 공유 설정 제거


■ 보안설정 방법

    ◆ 서비스 필요 시

        - 불가피하게 NFS 서비스를 사용하여야 하는 경우 NFS 접근제어 파일에 꼭 필요한 공유 디렉토리만 나열하고, everyone으로 시스템이 마운트 되지 않도록 설정


        ● OS 종류별 NFS 접근제어 파일

            - SunOS, HP-UX의 경우

              "/etc/dfs/dfstab, /etc/dfs/sharetab 파일

            - Linux, AIX, HP-UX의 경우

              "/etc/exports" 파일


        ● /etc/dfs/dfstab 설정 예문

           - rw=client, ro=client 형식으로 접속 허용 client 지정

             -> 사용자의 읽기, 쓰기 권한 접속 허용 : share -F nfs -o rw, ro /export/home/test

              -> 사용자의 권한 접속 제한 : share -F nfs -o rw=client1:client2, ro=client1:client2 /export/home/test

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


        ● /etc/exports 설정 예문

            1. everyone으로 시스템 마운트 금지

               #showmount -e hostname 명령어로 확인

            2. /etc/exports 파일에 접근 가능한 호스트명 추가

               예) /stand host1 host2 ......

            3. NFS 서비스 재구동

               #/etc/exports -u

               #/etc/exports -a


    ◆ 서비스 불필요 시

       ● OS별 점검 파일 위치 및 점검 방법

          - Linux, AIX, HP-UX, SunOS 5.9 이하 버전

            NFS 서비스 데몬 확인 (NFS 동작 SID 확인)

            #ps -ef | grep nfsd

            root    3809    3721    0 08:44:40 ?        0:00 /usr/lib/nfs/nfsd

          - SunOS 5.10 이상 버전

            #inetadm | egrep "nfs | statd | lockd"

          ※ 불필요한 "NFS" 서비스가 활성화된 경우 아래의 보안설정 방법에 따라 서비스 데몬 중지


        ● Linux, AIX, HP-UX, SunOS 5.9 이하 버전

            NFS 서비스 데몬 중지

            #kill -9 [PID]


        ● SunOS 5.10 이상 버전

            1. NFS 서비스 데몬 확인

               svc:/network/nfs/server:default


            2. inetadm -d "중지하고자 하는 데몬" 명령으로 서비스 데몬 중지

               #inetadm -d svc:/network/nfs/server:default


■ 조치 시 영향

    - showmount, share, exportfs 등의 명령어를 사용하여 로컬 서버에 마운트 되어 있는 디렉토리 확인 및 NFS 설정파일에 공유디렉토리 설정 여부 확인 후 해당 디렉토리가 존재하지 않을 경우 서비스 중지 가능




※ 문의 사항은 메일 : jyuhm@sntkor.com 이나 070-8611-4853


문의 사항 남기기