IMG-LOGO
공지사항 :

리눅스에서 패스워드 정책(password policy)

lmkfox - 2025-04-16 06:55:39 133 Views 0 Comment

리눅스에서 패스워드 정책(password policy) 을 설정하는 것은 보안상 매우 중요해. 일반적으로 사용자의 패스워드 복잡성, 길이, 만료 기간 등을 설정해서 강력한 보안을 유지할 수 있어. 주요 설정 방법은 다음과 같아.


1. 패스워드 복잡성 및 품질 설정 (PAM 사용)

리눅스는 PAM(Pluggable Authentication Modules)을 사용해서 패스워드 정책을 설정해. 보통 다음 파일을 수정하게 돼:

/etc/pam.d/common-password

 (Debian/Ubuntu 계열)

/etc/pam.d/system-auth

 (Red Hat/CentOS/Fedora 계열)

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


2. 비밀번호 만료 정책 설정

명령어: 

chage

chage 명령을 사용하면 사용자의 패스워드 만료 주기 등을 설정할 수 있어.

sudo chage -M 90 -m 7 -W 14 username

옵션 설명:

  • -M 90 : 최대 사용 기간 90일

  • -m 7 : 최소 7일은 비밀번호 변경 불가

  • -W 14 : 만료 14일 전에 경고

모든 사용자의 기본 정책 설정 (CentOS/RHEL 계열)

파일: /etc/login.defs

PASS_MAX_DAYS   90
PASS_MIN_DAYS   7
PASS_WARN_AGE   14


3. 패스워드 기록(이전 비밀번호 재사용 금지)

password sufficient pam_unix.so remember=5

  • 마지막 5개의 비밀번호를 기억해서 재사용 방지

  • /etc/security/opasswd 파일에 저장됨

위 항목도 /etc/pam.d/common-password 혹은 system-auth에 추가해야 함


4. 사용자 비밀번호 변경 명령

passwd username

  • 현재 사용자의 비밀번호 변경 시는 passwd 단독으로 사용

  • root 권한으로 다른 사용자의 비밀번호도 변경 가능


5. 강제로 비밀번호 만료 시키기

sudo chage -d 0 username

  • 다음 로그인 시 비밀번호를 반드시 변경해야 함


예시: 보안 정책을 종합적으로 적용한 PAM 설정 줄

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 연동 환경이라면 따로 설명해줄게.

어떤 배포판을 사용하는지 알려주면 더 구체적인 설정 방법도 알려줄 수 있어.


댓글