리눅스에서 패스워드 정책(password policy) 을 설정하는 것은 보안상 매우 중요해. 일반적으로 사용자의 패스워드 복잡성, 길이, 만료 기간 등을 설정해서 강력한 보안을 유지할 수 있어. 주요 설정 방법은 다음과 같아.
리눅스는 PAM(Pluggable Authentication Modules)을 사용해서 패스워드 정책을 설정해. 보통 다음 파일을 수정하게 돼:
password requisite pam_pwquality.so retry=3 minlen=12 ucredit=-1 lcredit=-1 dcredit=-1 ocredit=-1
옵션 설명:
retry=3 : 비밀번호 설정 실패 시 3번 재시도 가능
minlen=12 : 최소 길이 12자
ucredit=-1 : 최소 1개의 대문자 필요
lcredit=-1 : 최소 1개의 소문자 필요
dcredit=-1 : 최소 1개의 숫자 필요
ocredit=-1 : 최소 1개의 특수문자 필요
위 설정은 libpam-pwquality 패키지가 설치되어 있어야 작동함.
설치 명령 예:
sudo apt install libpam-pwquality # Ubuntu/Debian
sudo dnf install pam_pwquality # Fedora
sudo yum install libpwquality # CentOS/RHEL
chage 명령을 사용하면 사용자의 패스워드 만료 주기 등을 설정할 수 있어.
sudo chage -M 90 -m 7 -W 14 username
옵션 설명:
-M 90 : 최대 사용 기간 90일
-m 7 : 최소 7일은 비밀번호 변경 불가
-W 14 : 만료 14일 전에 경고
파일: /etc/login.defs
PASS_MAX_DAYS 90
PASS_MIN_DAYS 7
PASS_WARN_AGE 14
password sufficient pam_unix.so remember=5
마지막 5개의 비밀번호를 기억해서 재사용 방지
/etc/security/opasswd 파일에 저장됨
위 항목도 /etc/pam.d/common-password 혹은 system-auth에 추가해야 함
passwd username
현재 사용자의 비밀번호 변경 시는 passwd 단독으로 사용
root 권한으로 다른 사용자의 비밀번호도 변경 가능
sudo chage -d 0 username
다음 로그인 시 비밀번호를 반드시 변경해야 함
password requisite pam_pwquality.so retry=3 minlen=12 ucredit=-1 lcredit=-1 dcredit=-1 ocredit=-1
password sufficient pam_unix.so remember=5 use_authtok sha512 shadow
필요하다면 기업/기관 수준에서 CIS Benchmark 기준에 맞춰 설정할 수도 있어. 더 고급 설정, 예를 들어 LDAP/AD 연동 환경이라면 따로 설명해줄게.
어떤 배포판을 사용하는지 알려주면 더 구체적인 설정 방법도 알려줄 수 있어.