솔솔
[Linux] PAM으로 리눅스 비밀번호 정책 설정하기 본문
반응형
🍀 PAM란?
리눅스 시스템에서 PAM (Pluggable Authentication Modules)이란 Linux 시스템에서 사용하는 “착탈형 인증 모듈”로 응용 프로그램(서비스)에 대한 사용자의 사용 권한을 제어하는 모듈
Linux 시스템 관리자가 사용자를 인증하는
방법을 구성할 수 있도록 하는 라이브러리 모음입니다 . 이는 애플리케이션 코드를 변경하는 대신 구성 파일을 사용하여 보안 애플리케이션에 대한 인증 방법을 전환하는 유연하고 중앙 집중화된 방법을 제공 - Wikipedia
🍀 사용자의 인증을 담당하는 모듈을 사용하여 비밀번호를 8자리 이상으로 규제하기
방법 ①
1. login.defs 설정 파일 수정
username@servername:/etc/pam.d$ sudo vi /etc/login.defs
2. 아래 코드 추가
- PASS_MIN_LEN : 비밀번호 최소 길이
PASS_MIN_LEN 8
방법 ②
1. common-password 설정 파일 수정
username@servername:/etc/pam.d$ sudo vi /etc/pam.d/common-password
2. 아래 코드 추가
password requisite pam_pwquality.so minlen=8
password sufficient pam
🧨 방법② 트러블 슈팅
아래와 같이 비밀번호 변경 시 Module is unknown
username@servername:/etc/pam.d$ passwd username
Changing password for username.
Current password:
passwd: Module is unknown
passwd: password unchanged
1. 로그 확인
→ 몇 가지 모듈을 찾지 못해 나오는 에러로 판단
username@servername:/etc/pam.d$ cat /var/log/auth.log
...
Sep 20 15:08:42 servername sudo: PAM adding faulty module: pam_pwquality.so
Sep 20 15:08:42 servername sudo: PAM unable to dlopen(pam): /lib/security/pam: cannot open shared object file: No such file or directory
Sep 20 15:08:42 servername sudo: PAM adding faulty module: pam
Sep 20 15:08:42 servername sudo: username : TTY=pts/1 ; PWD=/etc/pam.d ; USER=root ; COMMAND=/usr/bin/apt-get install libpam-pwdfile libpam-modules
Sep 20 15:08:42 servername sudo: pam_unix(sudo:session): session opened for user root(uid=0) by username(uid=1000)
Sep 20 15:08:51 servername sudo: pam_unix(sudo:session): session closed for user root
Sep 20 15:08:57 servername passwd[1649]: PAM unable to dlopen(pam_pwquality.so): /lib/security/pam_pwquality.so: cannot open shared object file: No such file or directory
Sep 20 15:08:57 servername passwd[1649]: PAM adding faulty module: pam_pwquality.so
Sep 20 15:08:57 servername passwd[1649]: PAM unable to dlopen(pam): /lib/security/pam: cannot open shared object file: No such file or directory
Sep 20 15:08:57 servername passwd[1649]: PAM adding faulty module: pam
2. 모듈 설치
- libpam-cracklib : 사용자가 비밀번호를 설정할 때, 비밀번호의 복잡성과 강도를 검사하는 PAM 모듈
- libpam-pwquality : 밀번호 품질을 보장하는 PAM 모듈, 비밀번호의 복잡성 규칙(최소 길이, 문자 조합, 이전 비밀번호와의 유사성 등)을 설정할 수 있으며, 비밀번호 설정 시 추가적인 제약을 제공
sudo apt-get install libpam-cracklib
sudo apt-get install libpam-pwquality
3. 테스트
비밀번호 1234입력 시 The password is shorter than 8 characters 나옴
username@servername:/etc/pam.d$ passwd username
Changing password for username.
Current password:
New password: 1234 입력
BAD PASSWORD: The password is shorter than 8 characters
New password:
🍀 테스트
1. 비밀번호 변경 시 새로운 비밀번호를 1234로 입력 시 아래와 같이 나옴 (비밀번호 4자리 입력)
You must choose a longer password.
username@servername:/etc/pam.d$ passwd username
Changing password for username.
Current password:
New password: 1234 입력
Retype new password: 1234 입력
You must choose a longer password.
2. 비밀번호 변경 시 새로운 비밀번호를 12345678로 입력 시 아래와 같이 나옴 (비밀번호 8자리 입력)
password updated successfully
username@servername:/etc/pam.d$ passwd username
Changing password for username.
Current password:
New password: 12345678 입력
Retype new password: 12345678 입력
passwd: password updated successfully
'나의보물들 > Linux' 카테고리의 다른 글
[Linux] grep과 정규 표현식 (0) | 2024.09.24 |
---|---|
[Linux]Oracle VM에서 동일 IP 가상 머신 분리 및 외부 접근 설정 방법 (2) | 2024.09.20 |
[Linux] 우분투 서버에 도커 설치 및 도커를 이용한 오라클 데이터베이스 설치 (1) | 2024.07.28 |
[Linux] 우분투 서버의 MySQL을 DB 툴로 연결하는 방법 (0) | 2024.07.28 |
[Linux] Mac에서 가상머신 위에 Linux(Ubuntu) 설치하기 (0) | 2024.07.21 |