Security Practice Archive

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

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

categories 글 모아보기
Browse topics

주제별로 빠르게 이동

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

약 1분

[인프라진단] #U-13 안전한 비밀번호 암호화 알고리즘 사용

반응형

1. 항목 설명

MD5와 같은 오래된 비밀번호 해시 알고리즘은 빠른 연산과 알려진 취약점 때문에 탈취된 해시의 크래킹에 취약합니다. SHA-2 이상 또는 yescrypt 같은 강한 방식을 사용해야 합니다.

판단 기준: SHA-2 이상의 안전한 비밀번호 암호화 알고리즘을 사용하면 양호, MD5 등 취약한 알고리즘을 사용하면 취약입니다.

2026 가이드 근거

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

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. 취약 상태 구성

/etc/login.defs의 ENCRYPT_METHOD와 PAM의 pam_unix.so 옵션을 MD5로 지정했습니다. 기존 사용자 해시 원문은 확인하거나 증적에 수집하지 않았습니다.

이 구성은 인터넷과 분리된 실습 VM에서 관리자 권한으로만 수행했습니다.

구성 방법

# /etc/login.defs
ENCRYPT_METHOD MD5

# /etc/pam.d/common-password의 pam_unix.so 옵션
password [success=1 default=ignore] pam_unix.so obscure use_authtok try_first_pass md5

구성 후 다음 명령으로 실제 상태를 확인했습니다.

sudo grep '^ENCRYPT_METHOD' /etc/login.defs
sudo grep -E '^[^#].*pam_unix.so' /etc/pam.d/common-password

5. 최초진단 결과

  • 판정: 취약
  • VM 콘솔 판정 근거: ENCRYPT_METHOD MD5와 pam_unix.so ... md5가 활성 설정으로 확인되었습니다.

U-13 최초진단 현황 증적

6. 조치 방법

기본 암호화 정책을 SHA-512로 변경하고 Ubuntu PAM에는 가이드가 허용하는 yescrypt를 적용했습니다. 해시 정책 변경은 기존 비밀번호를 자동 변환하지 않으므로 실제 운영에서는 비밀번호 재설정이 추가로 필요합니다.

# /etc/login.defs
ENCRYPT_METHOD SHA512

# /etc/pam.d/common-password
password [success=1 default=ignore] pam_unix.so obscure use_authtok try_first_pass yescrypt

Linux 설정 확인 위치: /etc/login.defs, /etc/pam.d/common-password (해시 원문은 수집하지 않음)

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

7. 이행진단 결과

  • 판정: 양호
  • VM 콘솔 판정 근거: ENCRYPT_METHOD SHA512와 Debian 계열에서 허용되는 yescrypt 설정이 확인되었습니다.

U-13 이행진단 현황 증적

8. 실무 주의사항

알고리즘 설정을 바꿔도 기존 /etc/shadow 해시는 사용자가 비밀번호를 변경할 때까지 그대로입니다. 이행 완료 판단에는 기존 계정 재설정 계획이 포함되어야 합니다.

컨설턴트 조언

  • 설정 파일만 확인하지 말고 기존 계정의 해시 식별자는 값 자체를 노출하지 않는 방식으로 집계합니다.
  • yescrypt 지원 여부와 오래된 장비·인증 모듈의 호환성을 사전 시험합니다.
  • 정책 변경 후 기존 계정의 단계적 비밀번호 재설정과 서비스 계정 교체 계획을 수립합니다.
  • 증적에는 해시 원문, 솔트와 비밀번호를 절대 포함하지 않고 알고리즘 종류와 정책만 남깁니다.

9. 마무리

안전한 해시 정책을 적용한 뒤 기존 계정 비밀번호까지 재설정해야 실제 전환이 완료됩니다.

반응형