U-02: 비밀번호 관리정책 설정
분류: 01_unix
중요도: 상
개요
점검 내용
비밀번호 관리 정책 설정 여부 점검
점검 목적
사용자의 비밀번호 복잡성과 주기적 변경을 통해 시스템 보안을 강화하기 위함
보안 위협
비밀번호 관련 정책이 설정되지 않을 경우, 비인가자의 각종 공격(무차별 대입 공격, 사전 대입 공격 등)에 의해 비밀번호가 노출될 위험이 존재함
참고
비밀번호 관리 정책
비밀번호 복잡성 및 길이, 변경 주기 등을 포함한 비밀번호 정책
비밀번호 복잡성
비밀번호 설정 시 영문, 숫자, 특수문자를 포함하여 최소 8자리 이상
점검 대상 및 판단 기준
대상
SOLARIS, LINUX, AIX, HP-UX 등
판단 기준
✅ 양호: 비밀번호 관리 정책이 설정된 경우
❌ 취약: 비밀번호 관리 정책이 설정되지 않은 경우
조치 방법
root 계정을 포함한 사용자 계정의 비밀번호를 영문, 숫자, 특수문자를 포함하여 최소 8자리 이상 및 최소 사용 기간 1일, 최대 사용 기간 90일, 최근 비밀번호 기억 4회 이상으로 설정
조치 시 영향
비밀번호 변경 시 Web, WAS, DB 연동 구간에서 문제가 발생할 수 있으므로 연동 구간에 미칠 수 있는 영향을 고려하여 적용 필요
점검 및 조치 사례
SOLARIS
/etc/default/passwd파일 내에 비밀번호 설정값 수정
| 설정 | 권고값 | 기능 | 설명 |
|---|---|---|---|
| HISTORY | 10 | 이전 비밀번호 기억 개수 | 이전 10개의 암호를 기억함 |
| MINDIFF | 4 | 이전 암호와 차이 | 이전 암호와 4자 이상 차이 요구 |
| MINALPHA | 1 | 최소 문자 요구 | 최소 1자 이상 문자 요구 |
| MINNONALPHA | 1 | 최소 숫자 또는 특수문자 요구 | 숫자 또는 특수문자 1자 이상 요구 |
| MINUPPER | 1 | 최소 대문자 요구 | 최소 1자 이상 대문자 요구 |
| MINLOWER | 1 | 최소 소문자 요구 | 최소 1자 이상 소문자 요구 |
| MAXREPEATS | 0 | 연속 문자 사용 허용 | 0일 경우 문자 연속 사용이 불가 |
| MINSPECIAL | 1 | 최소 특수문자 요구 | 최소 1자 이상 특수문자 요구 |
| MINDIGIT | 1 | 최소 숫자 요구 | 최소 1자 이상 숫자 요구 |
| NAMECHECK | YES | 아이디와 비밀번호 동일 검증 | 아이디와 동일한 비밀번호 사용 불가 |
| MAXDAYS | 90 | 비밀번호 최대 유효일 수 | 최대 90일 비밀번호가 유효 |
| MINDAYS | 1 | 비밀번호 변경 최소일 수 | 비밀번호 최소 1일 후 변경 가능 |
| MAXWEEKS | 12 | 비밀번호 최대 유효 주 수 | 최대 12주 비밀번호가 유효 |
| MINWEEKS | 1 | 비밀번호 변경 최소일 수 | 비밀번호 최소 일주일 후 변경 가능 |
| WARNWEEKS | 1 | 비밀번호 만료 전 알림 주 수 | 비밀번호 만료 일주일 전 알림 |
| PASSLENGTH | 8 | 비밀번호 최소 길이 | 비밀번호 최소 길이 8 |
| WHITESPACE | NO | 비밀번호 공백문자 사용 여부 | 비밀번호에 공백문자 사용 금지 설정 |
참고
- MINDIGIT, MINSPECIAL 설정이 적용되어 있는 경우 MINNONALPHA 설정은 적용되지 않음
- MINDAYS 설정이 적용되어야 MAXDAYS 설정이 적용됨
- 비밀번호 유효일 설정과 비밀번호 유효 주 설정은 중복 설정 불가함
- WHITESPACE 기본값: YES
LINUX
Redhat
/etc/login.defs파일에PASS_MAX_DAYS/PASS_MIN_DAYS값 수정
/etc/security/pwquality.conf파일에 정책 값 수정
/etc/security/pwhistory.conf파일에 값 추가 및 수정
/etc/pam.d/system-auth파일에 값 수정
참고
pam_pwquality.so,pam_pwhistory.so모듈은pam_unix.so모듈 위에 위치해야 적용됨/etc/security/pwquality.conf파일과/etc/pam.d/system-auth파일 중 어느 하나라도 비밀번호 관리 정책이 설정되어 있으면 양호- 비밀번호 복잡성 설정에서 최소 요구 항목의 값은 반드시 -1로 설정되어야 함
/etc/pam.d/system-auth파일에enforce_for_root추가
Debian
/etc/security/pwquality.conf파일에 정책 값 수정
-
/etc/pam.d/common-password파일에 정책 값 수정 -
pam_pwquality.so,pam_pwhistory.so모듈은pam_unix.so모듈 위에 위치해야 적용됨 -
/etc/login.defs파일에 값 수정
| 설정 | 권고값 | 기능 | 설명 |
|---|---|---|---|
| difok | N | 기존 비밀번호와 비교 | 기존 비밀번호에 포함되지 않는 문자를 최소 N개 이상 포함하도록 설정 |
| minlen | 8 | 최소 비밀번호 길이 설정 | 최소 8자리 이상 설정 |
| dcredit | -1 | 최소 숫자 요구 | 최소 숫자 1자 이상 요구 |
| ucredit | -1 | 최소 대문자 요구 | 최소 대문자 1자 이상 요구 |
| lcredit | -1 | 최소 소문자 요구 | 최소 소문자 1자 이상 요구 |
| ocredit | -1 | 최소 특수문자 요구 | 최소 특수문자 1자 이상 요구 |
| remember | N | 최근 비밀번호 기억 | 최근 변경한 비밀번호를 N개 이상 기억하여 동일한 비밀번호로 변경하지 못하도록 설정 |
| PASS_MIN_DAYS | 1 | 비밀번호 최소 사용 기간 설정 | 비밀번호 최소 사용 기간 설정 (단위 : 일) |
| PASS_MAX_DAYS | 90 | 비밀번호 최대 사용 기간 설정 | 비밀번호 최대 사용 기간 설정 (단위 : 일) |
참고
/etc/security/pwquality.conf파일과/etc/pam.d/common-password(/etc/pam.d/system-auth) 파일 중 어느 하나라도 비밀번호 관리 정책이 설정되어 있으면 양호- 비밀번호 복잡성 설정에서 최소 요구 항목의 값은 반드시 -1로 설정되어야 함
/etc/pam.d/system-auth파일에enforce_for_root추가
AIX
etc/security/user파일에 정책 값 수정
default :
minage = 1
maxage = 12
minalpha = 2
minother = 2
minspecialchar = 1
minlen = 8
mindiff = 4
histsize = 4
| 설정 | 권고값 | 기능 | 설명 |
|---|---|---|---|
| histexpire | N | 동일한 비밀번호 재사용 기간 | 비밀번호 재사용에 필요한 시간 (단위 : 주) |
| histsize | 4 | 이전 비밀번호 기억 개수 | 허용 비밀번호 반복 횟수 |
| maxrepeats | 2 | 반복 가능한 동일 문자의 최대 수 | 비밀번호에서 반복될 수 있는 최대 문자 수 |
| minalpha | 2 | 최소 알파벳 문자 포함 | 비밀번호에 필요한 최소 영문자 수 |
| minother | 2 | 최소 알파벳 문자 이외의 문자 수 | 비밀번호에 필요한 최소 알파벳을 제외한 문자 수 |
| minspecialchar | 1 | 최소 특수문자 포함 | 비밀번호에 필요한 최소 특수문자 수 |
| mindiff | 4 | 이전 비밀번호와 동일 문자 수 | 이전 비밀번호와 구별되는 새 비밀번호의 최소 문자 수 |
| minlen | 8 | 비밀번호 최소 길이 | 최소 비밀번호 길이 |
| minage | 1 | 비밀번호 최소 사용 기간 | 비밀번호 변경에 필요한 최소 기간 (단위 : 주) |
| maxage | 12 | 비밀번호 최대 사용 기간 | 비밀번호 변경에 필요한 최대 시간 (단위 : 주) |
HP-UX
/etc/default/security파일에 정책 값 수정
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
| 설정 | 권고값 | 기능 | 설명 |
|---|---|---|---|
| MIN_PASSWORD_LENGTH | 8 | 비밀번호 최소 길이 | 최소 비밀번호 길이 |
| PASSWORD_MIN_UPPER_CASE_CHARS | 1 | 최소 대문자 필요 개수 | 비밀번호에 필요한 최소 대문자 수 |
| PASSWORD_MIN_LOWER_CASE_CHARS | 1 | 최소 소문자 필요 개수 | 비밀번호에 필요한 최소 소문자 수 |
| PASSWORD_MIN_DIGIT_CHARS | 1 | 최소 숫자 필요 개수 | 비밀번호에 필요한 최소 숫자 수 |
| PASSWORD_MIN_SPECIAL_CHARS | 1 | 최소 특수문자 필요 개수 | 비밀번호에 필요한 최소 특수문자 수 |
| PASSWORD_MINDAYS | 1 | 비밀번호 최소 사용 기간 | 비밀번호 변경에 필요한 최소 기간 (단위 : 일) |
| PASSWORD_MAXDAYS | 90 | 비밀번호 최대 사용 기간 | 비밀번호 변경에 필요한 최대 시간 (단위 : 일) |
| HISTORY | 4 | 이전 비밀번호 기억 개수 | 허용 비밀번호 반복 횟수 |
부적절한 비밀번호 유형
- 사전에 나오는 단어나 이들의 조합
- 길이가 너무 짧거나 NULL(공백)인 비밀번호
- 키보드 자판의 일련의 나열(예시 :
abcd,qwert등) - 사용자 계정 정보에서 유추 가능한 단어들(예시 : 지역명, 부서명, 계정명, 사용자 이름 이니셜,
root,admin등)
비밀번호 관리 방법
- 영문, 숫자, 특수문자를 조합하여 계정명과 다른 8자 이상의 비밀번호 설정
- 다음 각 항목의 문자 종류 중 2종류 이상을 조합하여 최소 10자리 이상 또는 3종류 이상을 조합하여 최소 8자리 이상의 길이로 구성
- 가. 영문 대문자(26개)
- 나. 영문 소문자(26개)
- 다. 숫자(10개)
- 라. 특수문자(32개)
- 시스템마다 다른 비밀번호 사용
- 비밀번호를 기록해 놓는 경우 변형하여 기록