42seoul Born2beRoot 프로젝트 Mandatory에서 요구하는 패스워드 정책 설정 과정이다.
Subject의 내용
먼저 패스워드 정책 설정을 위해 passwd
설정 파일을 확인한다.
$ sudo vi /etc/login.defs
다음과 같이 설정을 변경한다.
PASS_MAX_DAYS 30
PASS_MIN_DAYS 2
PASS_WARN_AGE 7
PASS_MAX_DAYS 30
PASS_MIN_DAYS 2
PASS_WARN_AGE 7
이후 추가적인 패스워드 정책을 설정하기 위해 다음 패키지를 설치한다.
$ sudo apt install libpam-pwquality
libpam-pwdquality
libpam-pwdquality
을 통해 패스워드 정책을 설정하기 위해 다음 설정 파일을 확인한다.
$ sudo vi /etc/pam.d/common-passwd`
retry=3
뒤에 다음을 추가한다.
minlen=10 difok=7 ucredit=-1 lcredit=-1 dcredit=-1 reject_username enforce_for_root maxrepeat=3
retry=3
minlen = 10
difok=7
root
의 경우 이전 패스워드를 저장하기 않기 때문에 root
에는 적용되지 않는다.ucredit=-1
lcredit=-1
dcredit=-1
reject_username
enfore_for_root
root
에도 적용maxrepeat=3
패스워드 정책의 경우 정책 설정 이후에 생성된 패스워드에 대해서만 적용된다. 따라서 기존 유저와 root
에 대해 아래 2가지 사항을 적용시켜야 한다.
강화된 패스워드를 적용하기 위해 다음 명령어를 실행한다.
$ passwd -e [user_name]
passwd
: 사용자의 패스워드 변경하는 명령어
-e
: 강제적으로 사용자의 암호를 만료시키는 옵션위 명령어를 실행할 경우 다음 로그인 시 패스워드가 만료되어 패스워드를 변경해야지만 로그인이 가능하다.
이후 패스워드 기간이 적용되지 않은 root
와 기존 유저에 대해 subject에서 요구하는 패스워드 기간을 설정하기 위해 다음 명령어를 실행한다.
$ chage -m 2 -M 30 -W 7 [user_name]
chage
: 시스템 보안을 위해 사용자 패스워드의 만기일을 설정하너가 변경하는 명령어
-m
: 패스워드 변경 후 다시 변경할 수 있는 최소 날짜 설정 옵션-M
: 패스워드가 유효한 최대 날짜 설정 옵션-W
: 경고 메세지 기간 설정 옵션비밀번호 관련 설정들이 저장된 /etc/shadow
에 가보면,
$ sudo vi /etc/shadow
root
와 기본 유저의 4, 5, 6번째 필드가 각각 설정해준 패스워드 최소 사용 일자 / 패스워드 유효 기간 / 경고 메세지 기간 으로 변경되어 있는 것을 확인할 수 있다.