VirtualBox Debian - pam_cracklib, chage (패스워드 정책 설정)

2021. 6. 10. 00:48Linux \ UNIX

계정의 보안을 위해

암호의 만료 기간, 이전 암호와의 중복성 검사 등

암호 정책을 설정하고자 한다.

 

먼저,

 

chage -l <user>

 

위 명령을 통해 기본적인 암호 정책을 확인할 수 있다.

 

 

마지막 암호 변경일과, 패스워드 만료일이 30일 차이가 나는 것을 볼 수 있다.

Maximum number of days between password change

부분이 바로 이 설정에 관한 것이고,

 

chage -M <days> <user>

 

위 명령을 통해 변경 가능하다.

chage의 여러가지 옵션들

 

다른 여러가지 패스워드 정책을 확인하기 위해 다음 파일을 살펴보자.

 

/etc/pam.d/common-password

 

/etc/pam.d/common-password 의 초기 설정

 

먼저, 패스워드 정책 설정을 위해 다음 모듈을 설치한다.

apt install libpam-cracklib

 

 

이 모듈은 사용자가 입력한 암호가 시스템의 사전과 여러 규칙들로 패스워드 강도를 검사한다.

패스워드를 입력받고, 검사에서 문제가 없으면 패스워드를 재입력받는다.

문제가 없으면 패스워드가 후속 모듈로 전달되고, 새 인증 토큰으로 설치된다.

 

pam_cracklib 행이 추가되었다.

 

/etc/pam.d/common-password 파일에 추가된 행에서

모듈의 패스워드 정책 옵션을 설정할 수 있다!

 

옵션은 더 보기 클릭.

 

더보기

retry=N                      암호 입력 재시도 가능 횟수

difok=N                      이전 암호와의 비교. 최소 N개 이상의 문자가 달라야 함

minlen=N                   암호의 최소 길이

 

dcredit=N                  (N < 0) 암호가 포함해야 하는 숫자의 최소 개수
                                   (N >= 0) 숫자에 주어지는 credit 값

ucredit=N                  알파벳 대문자

lcredit=N                   알파벳 소문자

ocredit=N                  숫자 / 알파벳을 제외한 기타 문자

 

minclass=N               암호에 있어야 하는 최소 문자 종류. (숫자, 대문자, 소문자, 기타 문자) 의 네 종류 중 N 가지가 있어야 함

maxrepeat=N           연속된 같은 문자를 N개까지만 허용 

maxsequence=N      단순한 나열의 문자가 N개 이상 있는 암호 거부. N=5 인 경우 'abcde', N=4 인 경우 '9876' 등을 거부함

maxclassrepeat=N   같은 종류의 문자를 N개까지만 허용. N=4 인 경우 abcD는 가능하나 abcd 를 거부함

 

reject_username       암호가 계정의 이름을 포함하는지 검사.  root의 경우, root123 / Toor 등을 거부함

enforce_for_root       root 계정에도 상기의 옵션들은 적용.

                                   하지만, root에게는 이전 암호를 묻지 않으므로 difok 은 적용되지 않음

 

 

 

 

최소 10글자의 길이,

숫자, 소문자, 대문자를 하나씩 포함하고

이전 패스워드와 7글자 이상이 다르며

계정명을 포함하지 않고,

같은 글자의 반복을 3자까지만 허용하는

패스워드 정책을 설정한 모습이다.