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_METHOD | SHA512 | /etc/login.defs |
| Linux (Debian) | ENCRYPT_METHOD | SHA512 또는 yescrypt | /etc/login.defs |
| Solaris | CRYPT_DEFAULT | 5 또는 6 | /etc/security/policy.conf |
| AIX | pwd_algorithm | ssha512 | chsec 명령어 |
| HP-UX | CRYPT_DEFAULT | 5 또는 6 | /etc/default/security |
2. 점검 방법
Solaris 점검
| |
Linux 점검
| |
양호 출력 예시:
| |
취약 출력 예시:
| |
AIX 점검
| |
HP-UX 점검
| |
3. 조치 방법
Solaris 설정
| |
Linux (Redhat) 설정
/etc/login.defs 파일 내 ENCRYPT_METHOD 값 설정
1 2 3 4 5vi /etc/login.defs ENCRYPT_METHOD SHA256 # 또는 ENCRYPT_METHOD SHA512/etc/pam.d/system-auth 파일 내 안전한 알고리즘 설정
1 2 3 4 5vi /etc/pam.d/system-auth password sufficient pam_unix.so sha256 # 또는 password sufficient pam_unix.so sha512
Linux (Debian) 설정
/etc/login.defs 파일 내 ENCRYPT_METHOD 값 설정
1 2 3 4 5 6 7vi /etc/login.defs ENCRYPT_METHOD SHA256 # 또는 ENCRYPT_METHOD SHA512 # 또는 ENCRYPT_METHOD yescrypt/etc/pam.d/common-password 파일 내 안전한 알고리즘 설정
1 2 3 4 5vi /etc/pam.d/common-password password [success=2 default=ignore] pam_unix.so sha256 # 또는 password [success=2 default=ignore] pam_unix.so sha512
AIX 설정
| |
HP-UX 설정
| |
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) |
- FIPS 140-2 - Approved hashing algorithms
- CIS Benchmark - Ensure password hashing algorithm is SHA-512
- NIST 800-63B - Memorized secret verifiers
6. 스크립트
- 취약점 점검 스크립트
- 이 스크립트는 KISA 주요정보통신기반시설 기술적 취약점 분석·평가 가이드라인(2026)을 준수하여 제작된 자동 점검 도구입니다. 복잡한 단일 파일 방식이 아닌 모듈화된 구조로 설계되어 유지보수가 쉽고 확장이 용이합니다.