PAM (Pluggable Authentication Modules)은 리눅스 및 유닉스 시스템에서 다양한 인증 방법을 관리하고 확장할 수 있게 도와주는 보안 인증 시스템입니다. PAM을 사용하면 시스템의 인증 방식(예: 로그인, sudo, SSH 접속 등)을 모듈 방식으로 쉽게 교체하거나 추가할 수 있습니다. 이는 시스템 관리자가 보안 정책을 유연하게 설정하고 유지할 수 있도록 합니다.
PAM은 기본적으로 모듈, 파일, 구성의 세 가지 주요 요소로 구성됩니다.
/etc/pam.d
디렉토리 내에 있는 여러 설정 파일을 통해 다양한 인증 모듈을 사용할 수 있습니다./etc/pam.d/
디렉토리에 위치하며, 각 서비스(로그인, SSH, su 등)에 대해 인증 방식을 정의합니다. 이 파일들은 각 서비스의 인증 프로세스를 제어합니다.PAM은 다양한 인증 모듈을 통해 인증 절차를 제어하며, 주로 아래와 같은 모듈들이 사용됩니다:
pam_unix.so
(유닉스 표준 인증), pam_google_authenticator.so
(2단계 인증).pam_tally.so
(로그인 실패 횟수 체크), pam_nologin.so
(사용자가 로그인할 수 있는지 체크).pam_unix.so
(표준 비밀번호 변경), pam_pwquality.so
(비밀번호 복잡성 요구사항 설정).pam_limits.so
(세션 리소스 제한), pam_mkhomedir.so
(홈 디렉토리 자동 생성).PAM 설정 파일은 /etc/pam.d/
디렉토리에 위치하고, 각 서비스마다 별도의 파일이 있습니다. 예를 들어:
각 파일에서 설정은 다음과 같은 형식으로 이루어집니다:
<모듈 유형> <모듈 경로> <설정 옵션> <설정 값>
예를 들어, SSH에 대한 기본 PAM 설정을 살펴보면:
|
|
|
account |
|
|
password |
|
|
session |
|
|
/etc/pam.d/sshd
파일에서 pam_unix.so
모듈을 사용하여 기본적인 비밀번호 인증을 설정합니다.pam_google_authenticator.so
모듈을 auth
항목에 추가하여 설정할 수 있습니다.auth required pam_google_authenticator.so
pam_tally.so
모듈을 사용하여 이를 설정할 수 있습니다.auth required pam_tally.so onerr=fail deny=3 unlock_time=900
PAM은 리눅스 및 유닉스 시스템에서 인증 시스템을 유연하고 확장 가능하게 만들어주는 핵심 기능입니다. 다양한 인증 방식, 계정 관리, 세션 관리 등을 모듈화하여 시스템에 쉽게 추가하거나 변경할 수 있습니다. PAM 설정 파일을 잘 관리하면 시스템 보안을 강화하고, 인증 절차를 쉽게 조정할 수 있습니다.
오늘은 AI 생태계에 혁신적인 변화를 가져올 것으로 예상되는 MCP(Model Context Protocol)에 대해 상세히 알아보겠습니다. 2024년…
1. TPM이란? TPM(Trusted Platform Module)은 국제 표준 기반의 보안 하드웨어 칩으로, 컴퓨터나 디지털 장비 내에서…
시즌2, 기대했는데... 실망도 두 배!두뇌싸움을 기대했는데, 전략도 없는 자기들만의 감정에 따른 편가르기, 정치싸움이 되어 버린…
BPF(Berkeley Packet Filter) 도어는 해커가 관리자 몰래 뒷문을 새로 만든 것입니다.해커가 명령을 내려 특정 데이터들을 뒷문을…
1. IPC의 개념과 목적 1.1 IPC란 무엇인가? IPC (Inter-Process Communication)는 운영체제 내의 서로 독립적인 프로세스…