2021. 6. 10. 00:48ㆍLinux \ UNIX
계정의 보안을 위해
암호의 만료 기간, 이전 암호와의 중복성 검사 등
암호 정책을 설정하고자 한다.
먼저,
chage -l <user>
위 명령을 통해 기본적인 암호 정책을 확인할 수 있다.
마지막 암호 변경일과, 패스워드 만료일이 30일 차이가 나는 것을 볼 수 있다.
Maximum number of days between password change
부분이 바로 이 설정에 관한 것이고,
chage -M <days> <user>
위 명령을 통해 변경 가능하다.
다른 여러가지 패스워드 정책을 확인하기 위해 다음 파일을 살펴보자.
/etc/pam.d/common-password
먼저, 패스워드 정책 설정을 위해 다음 모듈을 설치한다.
apt install libpam-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자까지만 허용하는
패스워드 정책을 설정한 모습이다.
'Linux \ UNIX' 카테고리의 다른 글
VirtualBox Debian - lighttpd, mariaDB, php로 wordpress 구축 (2) | 2021.06.10 |
---|---|
sudoers - requiretty 옵션 (0) | 2021.06.09 |
cron의 터미널 환경? (0) | 2021.06.09 |
VirtualBox Debian - sudo 및 sudoers (0) | 2021.06.09 |
VirtualBox Debian - AppArmor 프로필 생성 (1) | 2021.06.09 |