주요정보통신기반기설 기술적 취약점 분석 평가 방법 상세가이드/UNIX 서버 진단

1.2. 패스워드 복잡성 설정 [U-02] (상) - 주요정보통신기반시설 기술적 취약점 분석 평가 방법 상세가이드(2021)

재민스 2021. 10. 28. 17:13

가. 취약점 개요

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

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

■    보안 위협

복잡성 설정이 되어있지 않은 패스워드는 사회공학적인 유추가 가능 할 수 있으며 암호화된 패스워드 해시값을 무작위 대입공격, 사전대입 공격 등으로 단시간에 패스워드 크렉이 가능함 참고 : 윈도우즈 Guest 계정은 삭제가 불가능한 built-in 계정으로 보안 강화 목적으로 반드시 비활성화 처리 하여야 함

■    참고

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

 

나. 점검방법

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

■    판단기준

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

-      취약 : 패스워드 최소길이 8자리 이상, 영문·숫자·특수문자 최소 입력 기능이 설정되지 않은 경우

    점검 명령어

[표 : OS 별 패스워드 설정 점검 파일]

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

 

다. 조치방법

■    조치방법

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

■    부적절한 패스워드 유형

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개의 특수문자

 

라. 조치시 영향 : 일반적인 경우 영향 없음