[인프라진단] #U-04 비밀번호 파일 보호
1. 항목 설명
비밀번호 해시가 모든 사용자가 읽을 수 있는 /etc/passwd에 저장되면 공격자가 해시를 반출해 오프라인 크래킹을 시도할 수 있습니다. 해시는 접근이 제한된 /etc/shadow로 분리해야 합니다.
판단 기준: shadow 비밀번호를 사용하거나 비밀번호를 안전하게 암호화해 저장하면 양호, shadow 방식을 사용하지 않으면 취약입니다.
2026 가이드 근거


2. 점검 목적
일반 사용자가 비밀번호 해시에 접근하지 못하게 하여 계정 정보 탈취와 오프라인 비밀번호 분석 위험을 줄이는 것이 목적입니다.
3. 실습 환경
- 운영체제: Ubuntu Server 24.04.2 LTS
- 커널: Linux 6.8.0-53-generic
- 가상화 환경: VMware Workstation
- 호스트 이름: u-lab
- 수집 방식: VMware Ubuntu VM 콘솔에서 진단 명령 실행 및 화면 캡처
- 네트워크: VMware Host-only 격리망, 기본 게이트웨이 없음
- 실행 ID: 20260903-085839
취약 상태와 조치 상태의 반복 구성에는 격리된 Host-only 관리 연결을 보조적으로 사용했습니다. 단, 판단 명령과 결과는 Ubuntu VM 콘솔에서 직접 확인하고 VMware 콘솔 원본 화면으로 캡처했으며 외부 네트워크 경로는 두지 않았습니다.
4. 취약 상태 구성
격리 VM에서 pwunconv를 실행해 shadow 구조를 해제했습니다. 증적에는 해시 원문을 표시하지 않고 root와 실습 계정의 필드가 해시인지 여부만 분류했습니다.
이 구성은 인터넷과 분리된 실습 VM에서 관리자 권한으로만 수행했습니다.
구성 방법
sudo pwunconv
구성 후 다음 명령으로 실제 상태를 확인했습니다.
sudo awk -F: '$1=="root" || $1=="codex" {print $1, $2=="x" ? "SHADOW_REFERENCE" : "HASH_IN_PASSWD"}' /etc/passwd
sudo test -e /etc/shadow && echo present || echo absent
5. 최초진단 결과
- 판정: 취약
- VM 콘솔 판정 근거: root와 실습 계정의 비밀번호 필드가 /etc/passwd에 있었고 /etc/shadow가 존재하지 않았습니다. 실제 해시값은 수집하지 않았습니다.

6. 조치 방법
pwconv로 /etc/passwd의 비밀번호 정보를 /etc/shadow로 다시 분리하고, 공개 가능한 증적에는 참조 상태만 남겼습니다.
sudo pwconv
sudo pwck -r
Linux 설정 확인 위치: /etc/passwd의 두 번째 필드와 /etc/shadow 존재 여부

7. 이행진단 결과
- 판정: 양호
- VM 콘솔 판정 근거: root와 실습 계정이 SHADOW_REFERENCE로 표시되고 /etc/shadow가 다시 생성된 것을 확인했습니다.

8. 실무 주의사항
진단 증적에 /etc/shadow 내용이나 해시 일부를 남기면 안 됩니다. 파일 존재, 소유자, 권한과 /etc/passwd의 x 참조만으로도 충분합니다.
컨설턴트 조언
- 해시를 화면·로그·보고서에 출력하지 말고 마스킹된 상태값만 수집합니다.
- 변환 전 계정 DB를 root 전용 위치에 백업하고 복구 콘솔을 확보합니다.
- NIS·LDAP 등 외부 계정 저장소를 쓰는 경우 로컬 파일만으로 결론 내리지 않습니다.
- 조치 후 pwck -r, 로그인, sudo와 주요 서비스 계정 인증을 확인합니다.
9. 마무리
비밀번호 해시는 제한된 shadow 파일에 보관하고, 진단 과정에서도 해시 자체를 노출하지 않아야 합니다.
'2026 주요정보통신기반시설 가이드 > Unix(Linux)' 카테고리의 다른 글
| [인프라진단] #U-06 root 계정 su 제한 (0) | 2026.09.03 |
|---|---|
| [인프라진단] #U-05 root 이외의 UID가 '0' 금지 (0) | 2026.09.03 |
| [인프라진단] #U-03 계정 잠금 임계값 설정 (0) | 2026.09.03 |
| [인프라진단] #U-02 비밀번호 관리정책 설정 (0) | 2026.09.03 |
| [인프라진단] #U-01 root 계정 원격 접속 제한 (0) | 2026.09.03 |