[리눅스 서버] 서버 관리 - 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
'Infra > 리눅스 서버' 카테고리의 다른 글
[리눅스 보안] 서버 관리 - RPC 서비스 확인 (0) | 2017.02.28 |
---|---|
[리눅스 보안] 서버 관리 - automountd 제거 (0) | 2017.02.23 |
[리눅스 보안] 서버 관리 - NFS 서비스 비활성화 (0) | 2017.02.20 |
[리눅스 보안] 서버 관리 - DoS 공격에 취약한 서비스 비활성화 (0) | 2017.02.17 |
[리눅스 보안] 서버 관리 - cron 파일 소유자 및 권한 설정 (0) | 2017.02.16 |