- 패스워드 복잡성 설정 취약점 개요
- 패스워드 복잡성 설정이 되어 있지 않은 사용자 계정 패스워드 존재 시
비인가자가 각종 공격 (무작위 대입 공격, 사전 대입 공격 등)을 통해
취약한 패스워드가 설정된 사용자 계정의 패스워드를 획득하여 해당 시스템에 접근할 수 있는 위험
- 보안대책
- 양호 :
- 영문, 숫자, 특수문자를 조합하여 2종류 조합 시 10자리 이상
- 3종류 이상 조합 시 8자리 이상의 패스워드가 설정된 경우 (공공기관 9자리 이상)
- 취약 :
- 영문, 숫자, 특수문자를 조합하지 않거나 2종류 조합 시 10자리 미만
- 3종류 이상 조합 시 8자리 미만의 길이가 패스워드로 설정된 경우(공공기관 9자리 미만)
- 보안 설정 방법
- 1. 패스워드의 최소 길이 설정
- vi /etc/login.efs
- PASS_MIN_LEN 8
- 2. 패스워드 Min Age 최소 유지기간 설정
- vi /etc/login.efs
- PASS_MIN_DAYS 7
- 3. 패스워드 Max Age 최대 유지기간 설정
- vi /etc/login.efs
- PASS_MAX_DAYS 90
- 추가설명 : (PASS_WARN_AGE (패스워드 기간 만료 경고 기간(일))
- 4. 패스워드 복잡성 설정
권장 값 |
기능 |
설명 |
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 |
아이디와 패스워드 동일 검증 |
아이디와 동일한 패스워드 사용 불가 |
DIGIT or SPECIAL 설정되어 있을 경우 NONALPHA 설정이 되지 않습니다.
- LINUX - RHEL5 (레드햇5)
- 1. 패스워드 복잡성 설정 파일 확인
- vi /etc/pam.d/system-auths
- /etc/login.defs
- vi /etc/pam.d/system-auth 파일 설정
- password requisite /lib/security/$ISA/pam_cracklib.so retry=3 minlen=8 lcredit=-1 ucredit=-1 dcredit=-1 ocredit=-1
권장 값 |
기능 |
설명 |
lcredit=-1 |
최소 소문자 요구 |
소문자 최소 1자 이상 요구 |
ucredit=-1 |
최소 대문자 요구 |
최소 대문자 1자 이상 요구 |
dcredit=-1 |
최소 숫자 요구 |
최소 숫자 1자 이상 요구 |
ocredit=-1 |
최소 특수문자 요구 |
최소 특수문자 1자 이상 요구 |
minlen=8 |
최소 패스워드 길이 설정 |
최소 8자리 이상 설정 |
difok=N |
기존 패스워드와 비교 |
기본값 10(50%)) |
권장 값 |
기능 |
설명 |
dictionlist=/usr/share/dict/words |
unix 명령어 포함 여부 |
검증경로 설정 |
histexpire=26 |
동일한 패스워드 재사용 기간 |
26주 후 사용가능 |
histsize=10 |
이전 패스워드 기억 개수 |
이전 10개 패스워드 기억(사용불가 |
maxrepeats=2 |
반복 가능한 동일 문자의 최대 수 |
2개이상 동일문자 사용 금지 |
minalpha=2 |
최소 알파벳 문자 포함 |
2개 이상 알파벳 사용 |
minother=2 |
최소 알파벳 문자 이외의 문자 수 |
2개 이상 숫자, 특수문자 사용 |
mindiff=4 |
이전 패스워드와 동일문자 수 |
이전 패스워드와 4개까지 동일문자 사용 |
minlen=8 |
패스워드 최소 길이 |
8자리 이상 패스워드 작성 |
권장 값 |
기능 |
설명 |
MIN_PASSWORD_LENGTH=8 |
암호의 최소 길이 |
최소 8자리 패스워드 |
PASSWORD_MIN_UPPER_CASE_CHARS=1 |
최소 대문자 필요 개수 |
최소 1개의 대문자 |
PASSWORD_MIN_LOWER_CASE_CHARS=1 |
최소 소문자 필요 개수 |
최소 1개의 소문자 |
PASSWORD_MIN_DIGIT_CHARS=1 |
최소 숫자 필요 개수 |
최소 1개의 숫자 |
PASSWORD_MIN_SPECIAL_CHARS=1 |
최소 특수문자 필요 개수 |
최소 1개의 특수문자 |
패스워드 변경 시 Web, WAS, DB연동 구간에서 문제가 발생할 수 있으므로 연 동 구간에 미칠 수 있는 영향을 고려하여 적용 필요
댓글