PAM - Pluggable Authentication Modules

Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Support HackTricks

Basic Information

**PAM (Pluggable Authentication Modules)**는 컴퓨터 서비스에 접근하려는 사용자의 신원을 확인하는 보안 메커니즘으로, 다양한 기준에 따라 접근을 제어합니다. 이는 디지털 게이트키퍼와 유사하여, 권한이 있는 사용자만 특정 서비스에 참여할 수 있도록 보장하며, 시스템 과부하를 방지하기 위해 사용을 제한할 수 있습니다.

Configuration Files

  • Solaris 및 UNIX 기반 시스템은 일반적으로 /etc/pam.conf에 위치한 중앙 구성 파일을 사용합니다.

  • Linux 시스템은 디렉토리 방식을 선호하며, /etc/pam.d 내에 서비스별 구성을 저장합니다. 예를 들어, 로그인 서비스의 구성 파일은 /etc/pam.d/login에 있습니다.

로그인 서비스에 대한 PAM 구성 예시는 다음과 같을 수 있습니다:

auth required /lib/security/pam_securetty.so
auth required /lib/security/pam_nologin.so
auth sufficient /lib/security/pam_ldap.so
auth required /lib/security/pam_unix_auth.so try_first_pass
account sufficient /lib/security/pam_ldap.so
account required /lib/security/pam_unix_acct.so
password required /lib/security/pam_cracklib.so
password required /lib/security/pam_ldap.so
password required /lib/security/pam_pwdb.so use_first_pass
session required /lib/security/pam_unix_session.so

PAM 관리 영역

이 영역 또는 관리 그룹에는 auth, account, password, session이 포함되며, 각각 인증 및 세션 관리 프로세스의 다양한 측면을 담당합니다:

  • Auth: 사용자 신원을 검증하며, 종종 비밀번호 입력을 요구합니다.

  • Account: 그룹 멤버십이나 시간 제한과 같은 조건을 확인하여 계정 검증을 처리합니다.

  • Password: 복잡성 검사 또는 사전 공격 방지를 포함하여 비밀번호 업데이트를 관리합니다.

  • Session: 서비스 세션의 시작 또는 종료 시 작업을 관리하며, 디렉토리 마운트 또는 리소스 제한 설정과 같은 작업을 포함합니다.

PAM 모듈 제어

제어는 모듈의 성공 또는 실패에 대한 반응을 결정하며, 전체 인증 프로세스에 영향을 미칩니다. 여기에는 다음이 포함됩니다:

  • Required: 필수 모듈의 실패는 결국 실패로 이어지지만, 모든 후속 모듈이 확인된 후에만 발생합니다.

  • Requisite: 실패 시 즉시 프로세스를 종료합니다.

  • Sufficient: 성공하면 동일 영역의 나머지 검사를 우회하지만, 후속 모듈이 실패할 경우는 제외됩니다.

  • Optional: 스택에서 유일한 모듈인 경우에만 실패를 유발합니다.

예시 시나리오

여러 auth 모듈이 있는 설정에서 프로세스는 엄격한 순서를 따릅니다. pam_securetty 모듈이 로그인 터미널이 승인되지 않았다고 판단하면 root 로그인이 차단되지만, "required" 상태로 인해 모든 모듈이 여전히 처리됩니다. pam_env는 환경 변수를 설정하여 사용자 경험을 향상시킬 수 있습니다. pam_ldappam_unix 모듈은 함께 작동하여 사용자를 인증하며, pam_unix는 이전에 제공된 비밀번호를 사용하려고 시도하여 인증 방법의 효율성과 유연성을 높입니다.

References

Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Support HackTricks

Last updated