Security Practice Archive

보안 점검과 설정을
기록합니다.

시스템, 클라우드 등 다양한 환경에서 확인한 점검 기준과 설정 과정, 검증 결과를 정리합니다.

categories 글 모아보기
Browse topics

주제별로 빠르게 이동

카테고리를 선택해 관련 글을 모아볼 수 있습니다.

약 1분

[인프라진단] #U-04 비밀번호 파일 보호

반응형

1. 항목 설명

비밀번호 해시가 모든 사용자가 읽을 수 있는 /etc/passwd에 저장되면 공격자가 해시를 반출해 오프라인 크래킹을 시도할 수 있습니다. 해시는 접근이 제한된 /etc/shadow로 분리해야 합니다.

판단 기준: shadow 비밀번호를 사용하거나 비밀번호를 안전하게 암호화해 저장하면 양호, shadow 방식을 사용하지 않으면 취약입니다.

2026 가이드 근거

출처: 과학기술정보통신부·한국인터넷진흥원, 「2026 주요정보통신기반시설 기술적 취약점 분석·평가 방법 상세가이드」, U-04, pp.25-26. 본 게시글은 위 가이드의 판단 기준을 참고하여 작성했으며, 진단 결과와 증적은 개인 실습 환경에서 직접 수집했습니다.
출처: 과학기술정보통신부·한국인터넷진흥원, 「2026 주요정보통신기반시설 기술적 취약점 분석·평가 방법 상세가이드」, U-04, pp.25-26. 본 게시글은 위 가이드의 판단 기준을 참고하여 작성했으며, 진단 결과와 증적은 개인 실습 환경에서 직접 수집했습니다.

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가 존재하지 않았습니다. 실제 해시값은 수집하지 않았습니다.

U-04 최초진단 현황 증적

6. 조치 방법

pwconv로 /etc/passwd의 비밀번호 정보를 /etc/shadow로 다시 분리하고, 공개 가능한 증적에는 참조 상태만 남겼습니다.

sudo pwconv
sudo pwck -r

Linux 설정 확인 위치: /etc/passwd의 두 번째 필드와 /etc/shadow 존재 여부

U-04 Linux 설정 확인 화면 증적

7. 이행진단 결과

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

U-04 이행진단 현황 증적

8. 실무 주의사항

진단 증적에 /etc/shadow 내용이나 해시 일부를 남기면 안 됩니다. 파일 존재, 소유자, 권한과 /etc/passwd의 x 참조만으로도 충분합니다.

컨설턴트 조언

  • 해시를 화면·로그·보고서에 출력하지 말고 마스킹된 상태값만 수집합니다.
  • 변환 전 계정 DB를 root 전용 위치에 백업하고 복구 콘솔을 확보합니다.
  • NIS·LDAP 등 외부 계정 저장소를 쓰는 경우 로컬 파일만으로 결론 내리지 않습니다.
  • 조치 후 pwck -r, 로그인, sudo와 주요 서비스 계정 인증을 확인합니다.

9. 마무리

비밀번호 해시는 제한된 shadow 파일에 보관하고, 진단 과정에서도 해시 자체를 노출하지 않아야 합니다.

반응형