[Unix 서버] 패스워드 복잡성 설정

 

 

U-02 패스워드 복잡성 설정

 

■ 항목 중요도 :

 

■ 점검내용

 

시스템 정책에 사용자 계정(root 및 일반계정 모두 해당) 패스워드 복잡성 관련 설정이 되어 있는지 점검

 

■ 점검목적

 

패스워드 복잡성 관련 정책이 설정되어 있는지 점검하여 비인가자의 공격(무작위 대입 공격, 사전 대입 공격 등)에

대비가 되어 있는지 확인하기 위함

 

■ 보안위협

 

복잡성 설정이 되어있지 않은 패스워드는 사회공학적인 유추가 가능 할 수 있으며 암호화된 패스워드 해시값을 무작위 대입공격, 사전대입 공격 등으로 단시간에 패스워드 크렉이 가능함

 

■ 참고

 

※ 패스워드 복잡성

사용자 패스워드 설정 시 영문(대문자, 소문자), 숫자, 특수문자가 혼합된 일정 길이 이상으로 패스워드를 설정하는 방법

 

 

점검대상 및 판단기준

 

■ 대상 : SOLARIS, LINUX, AIX, HP-UX 등

 

양호

패스워드 최소길이 8자리 이상, 영문·숫자·특수문자 최소 입력 기능이 설정된 경우

 

취약

패스워드 최소길이 8자리 이상, 영문·숫자·특수문자 최소 입력 기능이 설정된 경우

 

■ 조치방법

 

계정과 유사하지 않은 8자 이상의 영문, 숫자, 특수문자의 조합으로 암호 설정 및 패스워드 복잡성 옵션 설정

 

 

점검 방법

 

■ OS별 점검 파일 위치 및 점검 방법

 

SOLARIS

etc/default/passwd

 

LINUX - RHEL5

/etc/pam.d/system-auth

 

LINUX - RHEL7

/etc/security/pwquality.conf

 

AIX

/etc/security/user


HP-UX

/etc/default/security

OS별 점검 파일을 열어 패스워드 복잡도 관련 설정 확인 후 아래의 보안설정방법에 따라 설정을 변경함

(최소길이, 특수문자, 숫자 포함 등 설정)

 

 SOLARIS, LINUX, AIX, HP-UX

 

< 부적절한 패스워드 유형 >

1. 사전에 나오는 단어나 이들의 조합
2. 길이가 너무 짧거나, NULL(공백)인 패스워드

3. 키보드 자판의 일련의 나열 (예) abcd, qwert, etc
4. 사용자 계정 정보에서 유추 가능한 단어들
(예) 지역명, 부서명, 계정명, 사용자 이름의 이니셜, root, rootroot, root123, admin 등

 

< 패스워드 관리 방법 >
1. 영문, 숫자, 특수문자를 조합하여 계정명과 상이한 8자 이상의 패스워드 설정
※ 다음 각 목의 문자 종류 중 2종류 이상을 조합하여 최소 10자리 이상 또는, 3종류 이상을
조합하여 최소 8자리 이상의 길이로 구성
가. 영문 대문자(26개)
나. 영문 소문자(26개)
다. 숫자(10개)
라. 특수문자(32개)
2. 시스템마다 상이한 패스워드 사용
3. 패스워드를 기록해 놓을 경우 변형하여 기록

 

< 패스워드 설정 파일 정리 >
■ SOLARIS [10 이상버젼]
Step 1) 패스워드 복잡성 설정
#/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 아이디와 패스워드 동일 검증 아이디와 동일한 패스워드 사용 불가

※ DIGIT 이나 SPECIAL 이 설정되어 있을 경우 NONALPHA 설정 안 됨

 

 LINUX - RHEL5


Step 1) 패스워드 복잡성 설정 파일 확인
#/etc/pam.d/system-auth, /etc/login.defs 내용을 내부 정책에 맞도록 편집
Step 2) /etc/pam.d/system-auth 파일 설정
※ 다음 라인에 패스워드 정책을 설정함

- 패스워드 정책 설정 예시

# 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

 

■ LINUX - RHEL7
Step 1) 패스워드 복잡성 설정 파일 확인
#/etc/security/pwquality.conf 파일 수정
※ 다음 라인에 패스워드 정책을 설정함
- 패스워드 정책 설정 예시

# vi /etc/security/pwquality.conf
password requisite pam_cracklib.so try_first_pass retry=3 minlen=8 lcredit=-1
ucredit=-1 dcredit=-1 ocredit=-1

 

※ 각 변수에 대한 설명 / 각 항목에서 -1 값은 반드시 해당하는 문자를 포함시켜야 함

권장 값 기능 설명
lcredit=-1 최소 소문자 요구 소문자 최소 1자 이상 요구
ucredit=-1 최소 대문자 요구 최소 대문자 1자 이상 요구
dcredit=-1 최소 숫자 요구 최소 숫자 1자 이상 요구
ocredit=-1 최소 특수문자 요구 최소 특수문자 1자 이상 요구
minlen=8 최소 패스워드 길이 설정 최소 8자리 이상 설정
difok=N 기존 패스워드와 비교 기본값 10(50%))

 

■ AIX
Step 1) 패스워드 복잡성 설정 파일 확인
#/etc/security/user 파일 내용을 내부 정책에 맞도록 설정

권장 값 기능 설명
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자리 이상 패스워드 작성

 

■ HP-UX
Step 1) 패스워드 복잡성 설정
#/etc/default/security 내용을 내부 정책에 맞도록 편집

권장 값 기능 설명
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연동 구간에서 문제가 발생할 수 있으므로

연동 구간에 미칠 수 있는 영향을 고려하여 적용 필요

 

댓글

Designed by JB FACTORY