취약점 개요 | |
점검 내용 | NFS(Network File System) 사용 시 허가된 사용자만 접속할 수 있도록 접근제한 설정 적용 여부 점검 |
점검 목적 | 접근권한이 없는 비인가자의 접근을 통제함 |
보안 위협 | 접근제한 설정이 적절하지 않을 경우 인증절차 없이 비인가자의 디렉터리나 파일의 접근이 가능하며, 해당 공유 시스템에 원격으로 마운트 하여 중요 파일을 변조하거나 유출할 위험이 있음 |
참고 | ※ NFS(Network File System): 원격 컴퓨터의 파일시스템을 로컬 시스템에 마운트 하여 마치 로컬 파일시스템처럼 사용할 수 있는 프로그램임 ※ NFS 서비스 사용 금지가 원칙이나 불가피하게 사용이 필요한 경우 NFS v2, v3은 평문으로 전송되는 취약점이 있기 때문에 암호화 되는 v4를 사용하는 것을 권고함 |
점검대상 및 판단 기준 | |
대상 | LINUX |
판단기준 | 양호 : 불필요한 NFS 서비스를 사용하지 않거나, 불가피하게 사용 시 everyone 공유를 제한한 경우 |
취약 : 불필요한 NFS 서비스를 사용하고 있고, everyone 공유를 제한하지 않은 경우 | |
조치 방법 | 사용하지 않는다면 NFS 서비스 중지, 사용할 경우 NFS 설정파일에 everyone 공유 설정 제거 |
점검 및 조치 | |
점검 | "/etc/exports" 파일 |
불가피하게 NFS 서비스를 사용하여야 하는 경우 NFS 접근제어 파일에 꼭 필요한 공유 디렉터리만 나열하고, everyone으로 시스템이 마운트 되지 않도록 설정 | |
조치 | /etc/exports 설정 예문 Step 1) /etc/exports 파일에 접근 가능한 호스트명 추가 (예) /stand host1(또는 IP주소) host2 Step 1) 접속시 인증 및 클라이언트 권한 nobody 설정 # vi /etc/export # /stand host1 (root_squash) ※ () 옵션에 인증되지 않은 엑세스를 허용하는 “insecure" 구문 설정 금지 Step 3. NFS 서비스 재구동 #/etc/exportfs –u #/etc/exportfs –a |
점검 스크립트
#!/bin/bash
. function.sh
BAR
CODE [U-25] NFS 접근 통제
cat << EOF >> $RESULT
[양호]: 불필요한 NFS 서비스를 사용하지 않거나, 불가피하게 사용 시 everyone 공유를 제한한 경우
[취약]: 불필요한 NFS 서비스를 사용하고 있고, everyone 공유를 제한하지 않은 경우
EOF
BAR
CHECK1=$(systemctl list-unit-files nfs-server.service | grep ^nfs | awk '{print $2}')
HOSTNAME=$(hostname)
CHECK2=$(showmount -e $HOSTNAME | grep everyone | wc -l)
if [ $CHECK1 == 'disabled' ] || [ $CHECK2 = 0 ]; then
OK "불필요한 NFS 서비스를 사용하지 않거나, 불가피하게 사용 시 everyone 공유를 제한한 경우"
else
VULN "불필요한 NFS 서비스를 사용하고 있고, everyone 공유를 제한하지 않은 경우"
fi
cat $RESULT
'Hacking > infra 진단' 카테고리의 다른 글
[Linux] U-24 (상) NFS 서비스 비활성화 (0) | 2021.09.01 |
---|---|
[Linux] U-23 (상) DoS 공격에 취약한 서비스 비활성화 (0) | 2021.09.01 |
[Linux] U-22 (상) crond 파일 소유자 및 권한 설정 (0) | 2021.09.01 |
[Linux] U-21 (상) r 계열 서비스 비활성화 (0) | 2021.09.01 |
[Linux] U-20 (상) Anonymous FTP 비활성화 (0) | 2021.09.01 |