[2026 주요정보통신기반시설] U-13 안전한 비밀번호 암호화 알고리즘 사용

안전한비밀번호암호화알고리즘을사용여부점검

U-13 안전한 비밀번호 암호화 알고리즘 사용

가이드라인 원문

항목내용
항목코드U-13
점검내용안전한비밀번호암호화알고리즘을사용여부점검
점검대상SOLARIS, LINUX, AIX, HP-UX등
양호기준SHA-2이상의안전한비밀번호암호화알고리즘을사용하는경우
취약기준취약한비밀번호암호화알고리즘을사용하는경우
조치방법SHA-2이상의안전한비밀번호암호화알고리즘적용설정

상세 설명

1. 판단 기준

기본 판단 기준

  • 양호: SHA-2 이상의 안전한 비밀번호 암호화 알고리즘을 사용하는 경우
  • 취약: 취약한 비밀번호 암호화 알고리즘(DES, MD5 등)을 사용하는 경우

경계 케이스 (Edge Case) 처리 방법

상황판단 기준설명
SHA-512 사용양호매우 안전
SHA-256 사용양호안전
yescrypt 사용양호최신 안전 알고리즘
MD5 사용취약즉시 변경 필요
DES 사용취약심각한 보안 위험
Blowfish 사용양호안전 (일부 OS)

권장 설정값

환경항목권장 설정비고
Linux (RHEL)ENCRYPT_METHODSHA512/etc/login.defs
Linux (Debian)ENCRYPT_METHODSHA512 또는 yescrypt/etc/login.defs
SolarisCRYPT_DEFAULT5 또는 6/etc/security/policy.conf
AIXpwd_algorithmssha512chsec 명령어
HP-UXCRYPT_DEFAULT5 또는 6/etc/default/security

2. 점검 방법

Solaris 점검

1
2
3
4
5
6
7
8
# /etc/passwd 파일 내 암호화 필드 값 확인
cat /etc/passwd | grep root

# 암호화 알고리즘 식별자 확인
# $1$: MD5
# $2$: Blowfish
# $5$: SHA-256
# $6$: SHA-512

Linux 점검

1
2
3
4
5
# /etc/shadow 파일 내 암호화 필드 값 확인
cat /etc/shadow | grep root

# /etc/login.defs 파일 내 ENCRYPT_METHOD 값 확인
grep ENCRYPT_METHOD /etc/login.defs

양호 출력 예시:

1
2
3
4
5
# SHA-512 알고리즘 사용
root:$6$rounds=5000$GwQn8qJX$...:18532:0:99999:7:::

# /etc/login.defs 설정
ENCRYPT_METHOD SHA512

취약 출력 예시:

1
2
3
4
5
# MD5 알고리즘 사용 (취약)
root:$1$O3JMY.Tw$AdLMzalf/WTtfjtYSNMJF.:18532:0:99999:7:::

# /etc/login.defs 설정
ENCRYPT_METHOD MD5

AIX 점검

1
2
3
4
# /etc/security/passwd 파일 내 비밀번호 암호화 알고리즘 확인
grep password /etc/security/passwd

# password = {algorithm}hash 형식으로 확인

HP-UX 점검

1
2
3
4
5
# /etc/shadow 파일 내 암호화 필드 값 확인
cat /etc/shadow | grep root

# /etc/default/security 파일 내 CRYPT_DEFAULT 값 확인
grep CRYPT_DEFAULT /etc/default/security

3. 조치 방법

Solaris 설정

1
2
3
4
5
6
7
# /etc/security/policy.conf 파일 내 CRYPT_DEFAULT 값 설정
vi /etc/security/policy.conf

# 다음 내용 추가 또는 수정
CRYPT_DEFAULT = 5  # SHA-256
# 또는
CRYPT_DEFAULT = 6  # SHA-512

Linux (Redhat) 설정

  1. /etc/login.defs 파일 내 ENCRYPT_METHOD 값 설정

    1
    2
    3
    4
    5
    
    vi /etc/login.defs
    
    ENCRYPT_METHOD SHA256
    # 또는
    ENCRYPT_METHOD SHA512
    
  2. /etc/pam.d/system-auth 파일 내 안전한 알고리즘 설정

    1
    2
    3
    4
    5
    
    vi /etc/pam.d/system-auth
    
    password sufficient pam_unix.so sha256
    # 또는
    password sufficient pam_unix.so sha512
    

Linux (Debian) 설정

  1. /etc/login.defs 파일 내 ENCRYPT_METHOD 값 설정

    1
    2
    3
    4
    5
    6
    7
    
    vi /etc/login.defs
    
    ENCRYPT_METHOD SHA256
    # 또는
    ENCRYPT_METHOD SHA512
    # 또는
    ENCRYPT_METHOD yescrypt
    
  2. /etc/pam.d/common-password 파일 내 안전한 알고리즘 설정

    1
    2
    3
    4
    5
    
    vi /etc/pam.d/common-password
    
    password [success=2 default=ignore] pam_unix.so sha256
    # 또는
    password [success=2 default=ignore] pam_unix.so sha512
    

AIX 설정

1
2
3
4
5
6
7
# 안전한 암호화 알고리즘 설정
chsec -f /etc/security/login.cfg -s usw -a pwd_algorithm=ssha256
# 또는
chsec -f /etc/security/login.cfg -s usw -a pwd_algorithm=ssha512

# /etc/security/pwdalg.cfg 파일을 참조하여 OS에서 정의된 암호화 알고리즘 확인 가능
cat /etc/security/pwdalg.cfg

HP-UX 설정

1
2
3
4
5
6
# /etc/default/security 파일 내 CRYPT_DEFAULT 값 설정
vi /etc/default/security

CRYPT_DEFAULT = 5  # SHA-256
# 또는
CRYPT_DEFAULT = 6  # SHA-512

4. 조치 시 주의사항

  • 비밀번호 재설정 필요: 비밀번호 암호화 알고리즘을 변경해도 기존 비밀번호는 새 알고리즘으로 자동 변환되지 않음
  • 계정별 재설정: passwd 명령을 이용하여 모든 계정의 비밀번호를 재설정해야 새 알고리즘 적용
  • HP-UX 제한사항: HP-UX 11i v2 이상이며, PHI 및 shadow password를 사용하지 않는 경우 취약

5. 참고 자료

비밀번호 암호화 알고리즘 식별자:

  • $1$: MD5 (취약)
  • $2$: Blowfish
  • $5$: SHA-256 (안전)
  • $6$: SHA-512 (안전)

알고리즘 비교:

알고리즘보안성권장 여부
DES취약권장하지 않음
MD5취약권장하지 않음
SHA-256안전권장
SHA-512매우 안전권장
yescrypt매우 안전권장 (Debian)

6. 스크립트

  • 취약점 점검 스크립트
    • 이 스크립트는 KISA 주요정보통신기반시설 기술적 취약점 분석·평가 가이드라인(2026)을 준수하여 제작된 자동 점검 도구입니다. 복잡한 단일 파일 방식이 아닌 모듈화된 구조로 설계되어 유지보수가 쉽고 확장이 용이합니다.
Hugo로 만듦
JimmyStack 테마 사용 중