[2026 주요정보통신기반시설] U-02 비밀번호 관리 정책 설정

비밀번호 관리 정책 설정 여부 점검

·

U-02 비밀번호 관리 정책 설정

가이드라인 원문

항목내용
항목코드U-02
점검내용비밀번호 관리 정책 설정 여부 점검
점검대상SOLARIS, LINUX, AIX, HP-UX 등
양호기준비밀번호 복잡성, 사용기간, 이력 기억 정책이 설정된 경우
취약기준비밀번호 관리 정책이 설정되지 않은 경우
조치방법root 계정을 포함한 사용자 계정의 비밀번호를 영문, 숫자, 특수문자를 포함하여 최소 8자리 이상 및 최소 사용기간 1일, 최대 사용기간 90일, 최근 비밀번호 기억 4회 이상으로 설정

심사 기준과 일반 권고는 구분합니다. 위의 90일·문자 조합은 이 글에 인용된 점검 항목의 서술이며 적용 원전의 판본·페이지는 여기서 확인되지 않았습니다. 아래 설정 예시는 기관에 이 기준이 실제로 적용될 때만 참고하고 그대로 실행하지 마세요. 현행 NIST SP 800-63B-4는 문자 종류 강제나 침해 증거 없는 정기 변경을 요구하지 않습니다. 일반 권고로는 충분한 길이, 흔하거나 유출된 비밀번호 차단, 시도 제한, MFA와 침해 시 변경을 우선합니다.

상세 설명

1. 판단 기준

인용된 점검 기준(적용 대상 한정)

  • 원문상 양호: 인용된 복잡성·사용기간·이력 정책이 모두 실제로 적용되는 경우
  • 원문상 취약: 적용 대상인데 요구 정책이 누락된 경우. 적용 여부가 확인되지 않았다는 이유만으로 보편적으로 취약하다고 판단하지 않습니다.

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

상황판단 기준설명
복잡성 정책만 미설정적용 기준 확인별도 심사 기준에 요구되는 경우에만 평가
사용기간만 미설정적용 기준 확인주기 변경이 필수인지 판본·범위 확인
enforce_for_root 미적용주의root 계정에 정책 미적용 여부 확인
PAM 모듈 순서 오류취약정책이 실제로 동작하지 않음

정책 값 예시(해당 심사 기준이 적용될 때만)

다음 수치는 모든 Unix 계열의 보편적 권장값이 아닙니다. 조직에 실제 적용되는 요구사항과 벤더 지원 범위를 확인한 뒤, 각 플랫폼의 인증 정책을 선택하세요.

환경항목글에 인용된 기준의 예시값
Linux(RHEL)PASS_MAX_DAYS / PASS_MIN_DAYS90 / 1
Linux(RHEL)minlen / 문자 종류 / remember8 / 각 종류 1자 / 4
SolarisPASSLENGTH / MAXDAYS8 / 90
AIXmaxage12주
HP-UXPASSWORD_MAXDAYS90

2. 점검 방법

Linux (Redhat/CentOS) 점검

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
# 비밀번호 사용기간 확인
cat /etc/login.defs | grep -E "PASS_MAX_DAYS|PASS_MIN_DAYS"

# 비밀번호 복잡성 확인
cat /etc/security/pwquality.conf | grep -E "minlen|dcredit|ucredit|lcredit|ocredit"

# 비밀번호 기억 확인
cat /etc/security/pwhistory.conf | grep remember

# PAM 설정 확인
cat /etc/pam.d/system-auth | grep -E "pam_pwquality.so|pam_pwhistory.so"

설정 출력 예시(해당 기준 적용 환경):

1
2
3
4
PASS_MAX_DAYS 90
PASS_MIN_DAYS 1
minlen = 8
remember = 4

비밀번호 만료가 요구되지 않는 환경에서는 PASS_MAX_DAYS 99999만으로 취약이라 단정하지 않습니다. PAM 정책, 인증 제공자, 유출 비밀번호 차단과 MFA의 실제 적용 상태를 함께 검토하세요.

Linux (Debian/Ubuntu) 점검

1
2
3
4
5
# 비밀번호 복잡성 확인
cat /etc/security/pwquality.conf | grep -E "minlen|dcredit|ucredit|lcredit|ocredit"

# PAM 설정 확인
cat /etc/pam.d/common-password | grep -E "pam_pwquality.so|pam_pwhistory.so"

Solaris 점검

1
cat /etc/default/passwd | grep -E "PASSLENGTH|MINDIGIT|MINUPPER|MINLOWER|MINSPECIAL|MAXDAYS|MINDAYS|HISTORY"

AIX 점검

1
cat /etc/security/user | grep -A 20 "default:" | grep -E "minage|maxage|minalpha|minother|minspecialchar|minlen|mindiff|histsize"

HP-UX 점검

1
cat /etc/default/security | grep -E "MIN_PASSWORD_LENGTH|PASSWORD_MIN_|PASSWORD_MAXDAYS|PASSWORD_MINDAYS|HISTORY"

3. 조치 방법(별도 90일 기준이 실제 적용되는 경우에만)

이하의 90일·문자 조합 설정은 위 인용 기준에 맞춘 조건부 예시입니다. 원전 판본·페이지 및 적용 대상 확인 없이 일괄 적용하면 비밀번호 만료로 계정 잠금이나 제어 업무 중단이 발생할 수 있습니다. 운영 변경 승인을 받고 영향 및 복구 절차를 확인한 뒤 설정하세요.

Linux (Redhat/CentOS) 설정

  1. /etc/login.defs 파일에 사용기간 설정

    1
    
    vi /etc/login.defs
    
    1
    2
    
    PASS_MAX_DAYS 90
    PASS_MIN_DAYS 1
    
  2. /etc/security/pwquality.conf 파일에 복잡성 정책 설정

    1
    
    vi /etc/security/pwquality.conf
    
    1
    2
    3
    4
    5
    6
    
    minlen = 8
    dcredit = -1
    ucredit = -1
    lcredit = -1
    ocredit = -1
    enforce_for_root
    
  3. /etc/security/pwhistory.conf 파일에 비밀번호 기억 설정

    1
    
    vi /etc/security/pwhistory.conf
    
    1
    2
    
    enforce_for_root
    remember=4
    
  4. PAM 설정 확인

    1
    
    vi /etc/pam.d/system-auth
    

    pam_pwquality.so와 pam_pwhistory.so 모듈이 pam_unix.so 모듈 위에 위치해야 함

Linux (Debian/Ubuntu) 설정

  1. pwquality.conf 설정

    1
    
    vi /etc/security/pwquality.conf
    
    1
    2
    3
    4
    5
    6
    
    minlen = 8
    dcredit = -1
    ucredit = -1
    lcredit = -1
    ocredit = -1
    enforce_for_root
    
  2. PAM 설정 확인

    1
    
    vi /etc/pam.d/common-password
    

Solaris 설정

1
vi /etc/default/passwd
1
2
3
4
5
6
7
8
HISTORY=4
PASSLENGTH=8
MINDIGIT=1
MINUPPER=1
MINLOWER=1
MINSPECIAL=1
MAXDAYS=90
MINDAYS=1

AIX 설정

1
vi /etc/security/user

default 섹션:

1
2
3
4
5
6
7
8
9
default :
    minage = 1
    maxage = 12
    minalpha = 2
    minother = 2
    minspecialchar = 1
    minlen = 8
    mindiff = 4
    histsize = 4

HP-UX 설정

1
vi /etc/default/security
1
2
3
4
5
6
7
8
MIN_PASSWORD_LENGTH=8
PASSWORD_MIN_UPPER_CASE_CHARS=1
PASSWORD_MIN_LOWER_CASE_CHARS=1
PASSWORD_MIN_DIGIT_CASE_CHARS=1
PASSWORD_MIN_SPECIAL_CASE_CHARS=1
PASSWORD_MAXDAYS=90
PASSWORD_MINDAYS=1
HISTORY=4

4. 참고 자료

5. 스크립트

  • 취약점 점검 스크립트
    • 이 스크립트는 KISA 주요정보통신기반시설 기술적 취약점 분석·평가 가이드라인(2026)을 준수하여 제작된 자동 점검 도구입니다. 복잡한 단일 파일 방식이 아닌 모듈화된 구조로 설계되어 유지보수가 쉽고 확장이 용이합니다.
    • 다양한 환경에서 테스트를 진행했으나, 혹시 점검 로직에 이슈가 발견되거나 개선이 필요한 경우 적극적인 제보를 부탁드립니다.
마지막 수정: 2026년 9월 23일 수요일
이 글은 AI를 사용해 생성 또는 보조 작성되었습니다. 보안·기술 정보는 인용된 원문과 공식 자료에서 다시 확인하세요.