본문 바로가기
정보보안

unix 서버취약점 > 계정관리 > 패스워드 복잡성 설정

by PUPPLESHARK 2022. 12. 29.
반응형

U2

 

 

점검내용 시스템 정책에 사용자 계정(root 및 일반 계정 모두 해당) 패스워드 복잡성 관련 설정이 되어 있는지 점검
점검목적 패스워드 복잡성 관련 정책이 설정되어 있는지 점검하여 비인가자의 공격(작위 대입 공격, 사전 대입 공격 )에 대비가 되어 있는지 확인하기 위함
보안위협 패스워드 복잡성 설정이 되어 있지 않은 사용자 계정 패스워드 존재 시 비 인가자가 각종 공격(무작위 대입 공격, 사전 대입 공격 )을 통해 취약한 패스워드가 설정된 사용자 계정의 패스워드를 획득하여 획득한 사용자 계정 정보를 통해 해당 사용자 계정의 시스템에 접근할 있는 위험이 존재함
참고 패스워드 복잡성: 사용자 패스워드 설정 시 영문(대문자, 소문자), 숫자, 특수문자가 혼
합된 패스워드로 설정하는 방법
공공기관인 경우 국가정보보안기본지침에 의해 패스워드를 9자리 이상의 길이로 설정 해야함
대상
SOLARIS, LINUX, AIX, HP-UX
조치방법 계정과 유사하지 않은 8자 이상의 영문, 숫자, 특수문자의 조합으로 암호 설정     패스워드 복잡성 옵션 설정
점검 및 조치 사례
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
 
 
   

 

SOLARIS, LINUX, AIX, HP-UX

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

1.   사전에 나오는 단어나 이들의 조합

2.   길이가 너무 짧거나, NULL(공백) 패스워드

3.   키보드 자판의 일련의 나열 () abcd, qwert, etc

4.   사용자 계정 정보에서 유지 가능한 단어들

() 지역명, 부서명, 계정명, 사용자 이름의 이니셜, root, rootroot, root123, admin

< 패스워드 관리 방법 >

1.   영문, 숫자, 특수문자를 조합하여 계정명과 상이한 8자 이상의 패스워드 설정

다음 각 목의 문자 종류 중 2종류 이상을 조합하여 최소 10자리 이상 또는, 3종류 이상을 조합하여 최소 8자리 이상의 길이로 구성 (공공기관 9자리 이상)

. 영문 대문자(26) . 영문 소문자(26) . 숫자(10)

라. 특수문자(32개)

2.   시스템마다 상이한 패스워드 사용

3.   패스워드를 기록해 5경우 변형하여 기록

4.   가급적 자주 패스워드를 변경할

 

< 패스워드 설정 파일 정리 >

SOLARIS [10 이상 버전]

Step 1) 패스워드 복잡성 설정

#/etc/default/passwd 내용을 내부 정책에 맞도록 편집

maxweeks = 4 (최대 사용 기간 설정) 최대 4주까지 설정된 패스워드 사용 가능 minweeks = 3 (최소 사용 기간 설정)

최소 3주까지 설정된 패스워드 사용

사용자에게 3 ~ 4주 사이에 암호를 변경하도록 요구함

passlength = 8 (최소 길이 설정)

최소 8자 이상의 암호를 요구

아래 설정값은 솔라리스 10부터 추가 적용된 설정값임

HISTORY = 10 (이전 패스워드 기억 개수)

10개의 암호를 기억함

MINDIFF = 4 (이전 암호와 차이)

 

이전 암호와 4자 이상 차이를 요구

MINALPHA = 1 (최소 문자 요구)

최소 1자 이상 문자 요구

MINNONALPHA = 1 (최소 숫자 또는 특수문자 요구)

최소 숫자 또는 특수문자 1자 이상 요구

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

MINUPPER=1 (최소 대문자 요구)

최소 1자 이상 대문자 요구

MINLOWER=1 (최소 소문자 요구)

최소 1자 이상 소문자 요구

MAXREPEATS=0 (연속문자 사용 허용) 0경우 문자 연속 사용이 불가능

MINSPCIAL=1 (최소 특수문자 요구)

최소 1자 이상 특수문자 요구

MINDIGIT=1 (최소 숫자 요구)

최소 1 이상 숫자 요구

NAMECHECK=YES (아이디와 패스워드 동일 검증)

아이디와 동일한 패스워드 사용 불가

 

LINUX - RHEL5

Step 1) 패스워드 복잡성 설정 파일 확인

#/etc/pam.d/system-auth, /etc/login.defs 내용을 내부 정책에 맞도록 편집

Step 2) /etc/pam.d/system-auth 파일 설정

다음 라인에 패스워드 정책을 설정함


- 패스워드 정책 설정 예시

 

LINUX - RHEL7

Step 1) 패스워드 복잡성 설정 파일 확인

#/etc/security/pwquality.conf 파일 수정

다음 라인에 패스워드 정책을 설정함


- 패스워드 정책 설정 예시

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

- 패스워드 정책 설정 예시

 
각 변수에 대한 설명 : 각 항목에서 -1 값은 반드시 해당하는 문자를 포함시켜야 함
lcredit=-1 (최소 소문자 요구) 소문자 최소 1자 이상 요구
ucredit=-1 (최소 대문자 요구)
최소 대문자 1이상 요구
dcredit=-1 (최소 숫자 요구)
최소 숫자 1자 이상 요구
ocredit=-1 (최소 특수문자 요구)
최소 특수문자 1자 이상 요구
minlen=8 (최소 패스워드 길이 설정)
최소 8자리 이상 설정
retry=3 (패스워드 입력 실패 시 재시도 횟수) 3번 패스워드 재입력 가능
difok=N (기존 패스워드와 비교. 기본값 10(50%))
Step3) /etc/login.defs 파일 설정
pass_warn_age = 7 (패스워드 기간 만료 경고) 7일이 남은 시점부터 패스워드 변경 알림
pass_max_days = 60 (최대 패스워드 사용 기간 설정) 설정일로부터 60일까지 사용 가능
pass_min_day = 1 (최소 패스워드 변경 기간 설정)
최소 1일 경과 후 패스워드 변경 가능
 
U-02 (상) 1. 계정관리 > 패스워드 복잡성 설정
AIX
Step 1) 패스워드 복잡성 설정 파일 확인
#/etc/security/user 파일 내용을 내부 정책에 맞도록 설정
dictionlist = /usr/share/dict/words (검증경로 설정)
패스워드 내 unix 명령어 포함 여부 검증
histexpire = 26 (몇 주 후에 동일한 패스워드가 재사용될 수 있는지 설정) 26주 후에 동일한 패스워드 사용 가능
histsize   = 10 (최근 사용된 패스워드를 개까지 재사용할 없게 할지를 설정)
최근 10개 패스워드는 재사용할 수 없음
maxage = 4 (패스워드가 몇 주 동안 유효할 수 있는지 정의)
최대 패스워드 사용 기간 4주로 설정
minage = 1 (패스워드를 바꾸기 위해서 경과되어야 하는 최소한의 시간)
최소 1주 이후에 패스워드 변경 가능
maxexpired = 2 (maxage가 지난 다음에 expire 된 패스워드를 변경할 있는 최대 주)
최대 패스워드 사용 기간 경과 후 2주 이내에 패스워드 변경 가능
maxrepeats = 2 (패스워드에 반복 가능한 동일 문자의 최대 수)
2개 이상 동일문자 사용 금지
minalpha = 2 (최소 몇개의 알파벳 문자를 포함해야 하는지 설정)
최소 2개 영문자 포함
minother = 2 (최소 포함해야 할 알파벳 문자 이외의 문자 개수) 영문자 외 다른 문자 최소 2개 필요(숫자, 특수문자)
mindiff   = 4 (이전 패스워드와 신규 패스워드 사이에 최소한의 다른 문자 )
최소 4개 문자 반복 사용 금지
minlen = 8 (패스워드 최소 길이) 패스워드 최소 8자리 이상 사용
pwdwarntime = 5 (패스워드 변경이 필요함을 일전부터 알릴지를 설정) 5일전부터 알림

HP-UX

Step 1) 패스워드 복잡성 설정

#/etc/default/security 내용을 내부 정책에 맞도록 편집

INACTIVITY_MAXDAYS = 100 (사용되지 않아 계정을 만료하기까지의 기간/일 단위) 100일 동안 계정 사용이 없을 경우 만료

PASSWORD_MINDAYS = 1 (암호를 변경할 수 있기까지의 최소 기간/ 단위)

최소 1일 이후 패스워드 변경 가능

PASSWORD_MAXDAYS =90 (암호가 유효한 최대 기간/일 단위)

최대 90일까지 패스워드 사용 가능

PASSWORD_WARNDAYS = 15 (사용자에게 암호 만료를 경고하기까지의 기간/ 단위)

암호 만료 15일 전부터 알림

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_SPCIAL_CHARS = 1 (최소 특수문자 필요 개수)

최소 1개의 특수문자 필요

반응형

댓글