linux/CentOS

[리눅스 기본 보안 설정] 패스워드 복잡성 설정

IT공부 2019. 12. 31. 20:48
반응형

패스워드 복잡성을 설정하는 이유는 비인가자가 brute force attac(무차별 대입 공격)과 dictionary attack(사전 대입 공격)을 통해 취약한 패스워드가 설정된 사용자 계정에 패스워드를 획득할 수 있기 때문입니다. 

 

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

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

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

3. 키보드 패턴의 일련의 나열 예) asdf, qwer

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

 

 

패스워드의 유효기간은 90일  패스워드 최소 길이 8로 설정 

vi /etc/login.defs

PASS_MAX_DAYS 90 //패스워드의 최대 우효기간 

PASS_MIN_DAYS 0   //패스워드를 바꿀 수 있는 최소한의 날짜

PASS_MIN_LEN   8   //패스워드 최소 길이 

PASS_WARN_AGE    //패스워드 만료일전에 경고를 하는 날짜 

 

CentOS 6 패스워드 복잡도 설정 

패스워드에 대문자, 소문자, 숫자, 특수기호(대소문자, 숫자를 제외한 기타 문자)를 반드시 입력하도록 설정한다. 

vi /etc/pam.d/system-auth

credit 설명 

retry=N  //패스워드 입력 실패 시 재입력 횟수 

difok=N //기존패스워드와 비교 기본값 10(50%)

minlen=N //패스워드 최소 길이 

dcredit=N //숫자에 주어지는 크레디트 값

ucredit=N //영어 대문자에 주어지는 크레디트 값

lcredit=N //영어 소문자에 주어지는 크레디트 값

ocredit=N //숫자, 영어 대/소문자를 제외한 기타 문자 

각 항목에서 -1을 주면 반드시 해당하는 문자를 포함시켜야 한다. 

 

CentOS 7일 경우 

vi /etc/security/pwquality.conf

minlen = 8 

minclass = -1

maxrepeate = 0

maxclassrepeat = 0

lcredit = -1

ucredit = -1

dcredit = -1

ocredit = -1