리눅스 서버를 안전하게 운영하려면 가장 기본적이면서 중요한 보안 요소 중 하나는 사용자 비밀번호의 강도입니다. 약한 비밀번호는 공격자가 서버를 우회하는 가장 쉬운 경로가 되므로, 정기적으로 비밀번호 강도를 점검하는 것은 필수입니다. 이번 글에서는 Red Hat 계열 서버(CentOS, AlmaLinux, Rocky 등)에서 비밀번호 정책을 확인하고 읽기 전용으로 점검하는 방법을 안내합니다.
리눅스 서버에서 비밀번호의 강도를 확인하는 실질적인 방법을 소개합니다.
대부분의 리눅스 배포판은 PAM을 통해 사용자 인증을 관리합니다. 다음 파일들에서 pam_pwquality.so
설정을 확인하면 현재 적용된 비밀번호 정책을 알 수 있습니다.
/etc/pam.d/common-password
/etc/pam.d/system-auth
일반적인 설정 예시는 다음과 같습니다:
password requisite pam_pwquality.so retry=3 minlen=12 ucredit=-1 lcredit=-1 dcredit=-1 ocredit=-1
위 설정은 비밀번호가 다음 조건을 만족해야 함을 의미합니다:
minlen=12
: 최소 12자 이상ucredit=-1
: 최소 1개의 대문자 포함lcredit=-1
: 최소 1개의 소문자 포함dcredit=-1
: 최소 1개의 숫자 포함ocredit=-1
: 최소 1개의 특수문자 포함이 정책을 벗어나는 비밀번호는 변경 시도 자체가 거부됩니다.
Red Hat 계열 서버에서는 /etc/pam.d/system-auth
파일을 통해 비밀번호 정책이 관리됩니다. Debian 계열에서 사용되는 common-password
는 존재하지 않아도 문제 없습니다.
현재 정책 확인 명령어:
grep pam_pwquality.so /etc/pam.d/system-auth
현재 서버 출력 예시:
password requisite pam_pwquality.so try_first_pass local_users_only retry=3 authtok_type=
해석:
현재 세부 옵션(minlen, ucredit, lcredit, dcredit, ocredit
)이 없으므로, 기본 정책만 적용되어 있습니다. 즉, 길이, 대문자/소문자/숫자/특수문자 혼합 여부는 별도 강화가 필요합니다.
설치 후, 임시 비밀번호 강도를 확인할 수 있습니다. Bash에서 특수문자(!
등) 오류를 방지하려면 작은따옴표를 사용해야 합니다.
echo 'MySuperStrongPassword!123' | cracklib-check
출력 예시:
MySuperStrongPassword!123: OK
대규모 서버나 고객 서버에서는 설정을 변경하지 않고 점검만 해야 합니다. 다음 스크립트는 읽기 전용으로 현재 정책을 확인하고, 예시 비밀번호를 테스트합니다.
#!/bin/bash
echo "=== 현재 비밀번호 정책 확인 (/etc/pam.d/system-auth) ==="
grep pam_pwquality.so /etc/pam.d/system-auth
echo "=== 임시 비밀번호 테스트 ==="
echo 'MySuperStrongPassword!123' | cracklib-check
스크립트를 실행하면 화면에 바로 결과값이 출력되며, 서버 설정이나 계정에는 아무런 영향이 없습니다.
/var/log/auth.log
에서 인증 실패 기록 확인리눅스 서버에서 비밀번호 강도를 확인하고 관리하는 것은 서버 보안의 기초입니다. 정기적인 점검과 정책 강화로 안전한 서버 운영을 유지하세요.
리눅스 서버 해킹 당했을 때 pstree 명령어로 숨은 악성 프로세스 찾는 법 (0) | 2025.09.05 |
---|---|
지원 종료(EOL)된 CentOS 6에서 YUM 안될때 다시 사용하는 방법 (0) | 2025.09.04 |
리눅스 파일 찾기 완전 실무 가이드 find, locate, grep 활용법 (0) | 2025.08.31 |
리눅스 서비스 관리 완벽 정리 systemctl과 service 차이 (0) | 2025.08.31 |
리눅스 파일 권한 완벽 가이드 기본값과 변경법 총정리 (1) | 2025.08.28 |