[인프라진단] #U-40 NFS 접근 통제
1. 항목 설명
필요한 NFS라도 전체 호스트에 쓰기와 root 권한을 허용하면 원격 파일 변조와 서버 권한 악용이 가능합니다.
판단 기준: /etc/exports가 root 소유·최소 권한이고 허용 호스트와 쓰기 범위가 제한되며 root_squash가 적용되면 양호입니다.
2026 가이드 근거




2. 점검 목적
NFS 공유 대상을 승인된 클라이언트로 한정하고 원격 root 권한을 축소하는 것이 목적입니다.
3. 실습 환경
- 원본 진단 환경: Ubuntu Server 24.04.2 LTS, Linux 6.8.0-53-generic
- 설정 화면 확인 환경: Ubuntu Server 24.04.4 LTS, Linux 6.8.0-138-generic
- 가상화 환경: VMware Workstation
- 호스트 이름: u-lab
- 네트워크: VMware Host-only 격리망, 기본 게이트웨이 없음
- 원본 진단 실행 ID: 20260903-094131
- 증적 화면 캡처일: 2026-09-07
- 화면 수집 방식: VMware Ubuntu VM 콘솔 직접 캡처
최초진단과 이행진단 이미지는 2026-09-03에 실제로 수집한 원본 결과를 VM 콘솔에서 열어 캡처했습니다. 화면의 원본 수집 날짜와 캡처 날짜를 구분했으며, 과거 결과를 현재 재진단 결과로 표시하지 않았습니다. 취약 상태 구성과 조치에는 격리된 관리 연결을 보조적으로 사용했습니다.
설정 확인 이미지는 캡처일의 VM에서 명령을 실행한 화면입니다. 실습 종료 후 임시 계정·공유를 제거하거나 서비스를 중지한 항목은 이행진단 당시 상태와 현재 정리 상태가 다를 수 있습니다.
4. 취약 상태 구성
/etc/exports를 일반 계정 소유 666으로 만들고 *(rw,no_root_squash) 전체 허용을 적용했습니다.
이 구성은 인터넷과 분리된 실습 VM에서 관리자 권한으로만 수행했습니다.
구성 방법
sudo install -d -o root -g root -m 0755 /srv/u39-nfs
echo '/srv/u39-nfs *(rw,sync,no_subtree_check,no_root_squash)' | sudo tee /etc/exports
sudo chown codex:codex /etc/exports
sudo chmod 0666 /etc/exports
sudo exportfs -ra
sudo systemctl start nfs-server
구성 후 다음 명령으로 실제 상태를 확인했습니다.
sudo stat -c 'owner=%U group=%G mode=%a' /etc/exports; sudo exportfs -v
5. 최초진단 결과
- 판정: 취약
- 원본 진단 판정 근거: 설정 파일이 codex:codex 666이고 모든 호스트에 rw·no_root_squash를 허용했습니다.

6. 조치 방법
관리 주소 한 개만 읽기 전용으로 허용하고 root_squash를 적용했으며 파일을 root:root 644로 보호했습니다.
echo '/srv/u39-nfs 192.168.209.1(ro,sync,root_squash)' | sudo tee /etc/exports
sudo chown root:root /etc/exports
sudo chmod 0644 /etc/exports
sudo exportfs -ra
Linux 설정 확인 위치: /etc/exports의 대상·옵션과 exportfs 유효값

7. 이행진단 결과
- 판정: 양호
- 원본 진단 판정 근거: 단일 Host-only 주소에 ro·root_squash가 적용되고 파일이 root:root 644로 확인됐습니다.

8. 실무 주의사항
CIDR 오타와 DNS 기반 호스트명은 예상보다 넓은 접근을 만들 수 있습니다. 클라이언트에서 읽기·쓰기·root 매핑을 실제 시험해야 합니다.
컨설턴트 조언
- 업무상 쓰기가 필요하면 공유 단위와 전용 서비스 계정을 분리하고 no_root_squash 예외는 원칙적으로 허용하지 않습니다.
- 허용 대상을 업무 IP와 관리 경유지 기준으로 최소화하고 IPv4·IPv6 규칙을 함께 확인합니다.
- 원격 방화벽 변경 전 현재 관리 세션과 별도의 복구 콘솔 또는 되돌리기 예약을 확보합니다.
- 설정 파일뿐 아니라 실제 리스너와 외부 관점의 접속 시험을 이행 증적으로 남깁니다.
9. 마무리
이번 실습에서는 실제 최초·이행진단 기록과 VM 콘솔 캡처를 비교했습니다. 운영 환경에서도 변경 후 기능 시험과 정기 재점검을 함께 수행해야 합니다.
'2026 주요정보통신기반시설 가이드 > Unix(Linux)' 카테고리의 다른 글
| [인프라진단] #U-42 불필요한 RPC 서비스 비활성화 (0) | 2026.09.07 |
|---|---|
| [인프라진단] #U-41 불필요한 automountd 제거 (0) | 2026.09.07 |
| [인프라진단] #U-39 불필요한 NFS 서비스 비활성화 (0) | 2026.09.07 |
| [인프라진단] #U-38 DoS 공격에 취약한 서비스 비활성화 (0) | 2026.09.07 |
| [인프라진단] #U-37 crontab 설정파일 권한 설정 미흡 (0) | 2026.09.07 |
시리즈와 관련 학습
현재 글과 같은 환경의 전체 글과 핵심 실습으로 이어집니다.