비밀번호 정책 적용
Linux 는 사용자가 강력한 비밀번호를 선택하도록 하여 시스템 보안을 유지하는 데 도움이 되는 여러 도구를 제공하여 비밀번호 정책을 시행합니다. 이 단계에서는 기본적인 비밀번호 정책을 구현하는 방법을 배웁니다.
비밀번호 만료 설정
chage 명령을 사용하면 관리자가 비밀번호 만료 정책을 설정할 수 있습니다. 프로젝트 디렉토리로 이동합니다.
cd ~/project
cyberuser 계정에 대한 최대 비밀번호 사용 기간을 90 일로 설정해 보겠습니다.
sudo chage -M 90 cyberuser
이 명령은 사용자가 비밀번호를 변경해야 하기 전에 비밀번호가 유효한 최대 일수를 설정합니다.
또한 사용자가 너무 자주 비밀번호를 변경하는 것을 방지하는 최소 비밀번호 사용 기간을 설정할 수도 있습니다.
sudo chage -m 7 cyberuser
이 명령은 사용자가 비밀번호를 다시 변경하기 전에 최소 7 일을 기다려야 합니다.
변경 사항을 확인합니다.
sudo chage -l cyberuser
업데이트된 비밀번호 정책 정보를 볼 수 있습니다.
Last password change : Jul 15, 2023
Password expires : Oct 13, 2023
Password inactive : never
Account expires : never
Minimum number of days between password change : 7
Maximum number of days between password change : 90
Number of days of warning before password expires : 7
비밀번호 정책 스크립트 생성
이제 더 고급 비밀번호 정책을 구현하는 스크립트를 만들어 보겠습니다. cyberpolicy.sh라는 새 파일을 만듭니다.
nano ~/project/cyberpolicy.sh
다음 내용을 파일에 추가합니다.
#!/bin/bash
## Enforce password complexity
echo "password requisite pam_pwquality.so retry=3 minlen=8 difok=3" | sudo tee -a /etc/pam.d/common-password
## Set password expiration policy for all new users
echo "PASS_MAX_DAYS 90" | sudo tee -a /etc/login.defs
echo "PASS_MIN_DAYS 7" | sudo tee -a /etc/login.defs
echo "PASS_WARN_AGE 7" | sudo tee -a /etc/login.defs
echo "Password policy has been updated successfully."
Ctrl+O를 누른 다음 Enter를 눌러 파일을 저장하고 Ctrl+X로 nano 를 종료합니다.
스크립트를 실행 가능하게 만듭니다.
chmod +x ~/project/cyberpolicy.sh
이 스크립트는 다음 비밀번호 정책을 설정합니다.
- 비밀번호 복잡성: 최소 8 자, 이전 비밀번호와 최소 3 개의 다른 문자, 3 번의 재시도 허용
- 비밀번호 만료: 90 일 최대 비밀번호 사용 기간
- 비밀번호 변경 제한: 7 일 최소 비밀번호 사용 기간
- 비밀번호 경고: 비밀번호 만료 7 일 전
프로덕션 환경에서는 이러한 정책을 적용하기 위해 이 스크립트를 실행합니다. 그러나 이 랩에서는 비밀번호 정책을 구현하는 방법을 이해하기 위해 내용만 검토합니다.