목차
PAM 개요
PAM은 리눅스 시스템에서 사용되는 인증 모듈.
다양한 응용 프로그램에 대한 사용자의 접근 권한을 제어하고, 인증 방식을 유연하게 관리하기 위한 목적으로 사용.
쉽게 말해, PAM은 여러 개의 다른 문 자물쇠를 하나의 문에 연결하여, 필요에 따라 다양한 열쇠로 문을 열 수 있도록 해주는 역할을 수행. 이처럼 PAM은 다양한 인증 방식을 하나의 시스템에서 사용할 수 있도록 해주는 융통성을 제공함
PAM 주요 기능
`1. 다양한 인증 방식 지원` : 비밀번호, 지문 인식, 스마트 카드 등 다양한 인증 방식을 지원
`2. 중앙 집중 관리` : 시스템 전체의 인증 정책을 하나의 파일에서 관리할 수 있어 편리함
`3. 모듈화된 구조` : 새로운 인증 방식이 추가되더라도 기존 시스템에 영향을 미치지 않고 모듈만 교체하면 됨
`4. 확장성` : 다양한 추가 기능을 모듈 형태로 개발하여 시스템에 통합할 수 있음
PAM의 구성
PAM은 크게 다음 같은 구성요소로 이루어짐
`1. PAM 설정 파일` : `/etc/pam.d` 디렉터리에 위치하며, 각 응용 프로그램 별로 PAM 모듈의 실행 순서와 조건을 설정
`2. PAM 모듈` : 실제 인증 작업을 수행하는 라이브러리 파일
`3. 응용 프로그램` : PAM을 호출하여 인증 작업을 위임하는 프로그램
PAM 설정 파일
type | control | module-path | module-arguments |
1 | 2 | 3 | 4 |
`1` : type : 모듈 타입 종류
- account : 사용자 신원을 확인하는 과정을 담당. 일반적으로 사용자 ID와 비밀번호를 비교하여 유효한 사용자인지 확인
- auth : 사용자 계정 상태를 확인하고, 접근 권한을 부여하는 과정을 담당. 계정의 만료 여부, 시간 제한, 특정 서비스에 대한 접근 권한 등을 검사
- password : 사용자가 비밀번호를 변경하거나, 새로운 비밀번호를 설정할 때 사용. 비밀번호 강도 검사, 임시 비밀번호 설정 등의 기능을 제공
- session : 사용자가 시스템에 로그인하거나 로그아웃 할 때, 수행되는 작업을 담당. 로그인 시 홈 디렉터리 생성, 로그아웃 시 세션 정보 삭제 등의 기능을 제공
`2` : control : 각 모듈 실행 후, 성공 or 실패에 따른 PAM 행동 결정
종류 | 설명 |
required | - 해당 모듈이 실패하면 전체 인증이 실패 - 다른 모듈의 결과와 상관없이 반드시 성공해야 함 - 가장 일반적으로 사용되는 flag |
sufficient | - 해당 모듈이 성공하면 전체 인증이 성공, 이후의 모듈은 실행되지 않음 - 여러 개의 sufficient 모듈 중 하나라도 성공하면 전체 인증 성공 |
optional | - 해당 모듈이 실패해도 전체 인증에 영향을 미치지 않음 - 추가적인 검증이나 로그 기록 등을 위해 사용 |
requisite | - 해당 모듈이 실패하면, 이후의 모듈은 실행되지 않고 전체 인증 실패 - required와 유사하지만, requisite는 다음 모듈의 실행 여부에 영향을 미침 |
`3` : module-path : PAM 설정 파일에서 사용되는 필드, 실제 PAM 모듈이 위치한 경로를 지정하는 역할
`4` : module-arguments : 모듈에 전달되는 인수를 의미하며, 모듈의 기본적인 동작을 변경, 추가적인 기능을 활성화 할 수 있음
PAM 설정 파일 (/etc/pam.d 파일의 일반적 형식)
#%PAM-1.0
auth required pam.unix.so
account sufficient pam.unix.so
password require pam.unix.so
session optional pam.unix.so
`auth`, `account`, `password`, `session` : 각각 인증, 계정, 비밀번호, 세션 관리에 대한 설정을 의미
`required` : 해당 모듈이 실패하면 최종 인증이 실패, 다른 라인의 모듈은 실행
`sufficeint` : 해당 모듈이 성공하면 인증이 성공하고, 다음 모듈이 실행되지 않음
`requisite` : 해당 모듈이 실패할 경우, 즉시 인증이 실패
`optional` : 해당 모듈이 실패해도 인증이 계속 진행
`pam_unix.so` : 실제 인증을 수행하는 PAM 모듈, PAM에서 사용할 실제 모듈 파일이 위치한 경로를 위미
'공부 > 정보보안기사' 카테고리의 다른 글
<정보보안기사> 1. 시스템 이론 - 버퍼 오버플로우 공격(Buffer Overflow Attack) (0) | 2024.11.27 |
---|---|
<정보보안기사> 1. 시스템 이론 - 시스템 로그 설정(utmp, wtmp, btmp, last, sulog, acct/pacct) (0) | 2024.11.26 |
<정보보안기사> 네트워크 보안 <간단 노트1> (0) | 2024.11.22 |
<정보보안기사> 1. 시스템 이론 - xinetd 슈퍼데몬 (1) | 2024.11.21 |
<정보보안기사> 1. 시스템 이론 - 작업 스케줄 관리(cron, crontab 명령어) (0) | 2024.11.20 |
댓글