Security_Analysis

[정보보안] Unix/Linux_PAM 모듈 본문

[정보보안기사] Study

[정보보안] Unix/Linux_PAM 모듈

Positivie 2023. 4. 16. 22:16
728x90
반응형

PAM 모듈

  • PAM(Pluggable Authentication Modules)
    리눅스 시스템 내에서 사용되는 각종 애플리케이션 인증을 위해 제공되는 다양한 인증용 라이브러리로써, 
    리눅스 로그인, Telnet, FTP 등 각종 프로그램 사용시에 PAM을 통해 인증을 처리할 수 있다. 
    PAM 모듈을 사용함으로써, 인증 방식 및 정책의 유연성과 중앙 통제가 가능하다는 장점이 있다. 

PAM 라이브러리 경로

  • /etc/pam.d : PAM 라이브러리를 이용하는 각 응용 프로그램의 설정 파일이 존재하는 경로
  • /lib/security : PAM 라이브러리가 제공하는 다양한 인증 모듈들이 위치하는 경로
  • /etc/security : PAM 모듈 실행에 필요한 추가 설정파일이 위치하는 경로 

PAM 설정 

  • Type
    • account(계정)
         사용자 계정의 유효성을 검증하는 유형
         유효기간, 접속 가능시간, 서비스 접근 허용여부 등 존재
       
    • auth(인증)
         사용자 계정의 패스워드 검증, 다른 인증 모듈과의 연동 등 사용자 신원확인을 수행하는 유형
         패스워드 인증, OTP/보안카드를 통한 인증등이 존재 
    • password(패스워드)
         사용자 계정의 비밀번호 설정 및 변경 조건을 지정하는 유형
         패스워드 설정/변경 시 최소길이, 복잡도 설정 등이 존재
    • session(세션)
        서비스 사용자 계정의 인증 처리 전후에 수행할 작업을 지정하는 유형
        사용자자 홈 디렉터리 마운트, 메일함 생성 등이 존재 
  • Control
    • requisite
         인증에 실패할 경우 즉시 인증을 거부함 
    • required
         인증에 실패하더라도 다음 라인의 모듈을 실행하지만 최종 결과는 인증에 실패함 
    • sufficient
         이전에 요청된 모듈이 실패하더라도, 여기서 성공하면 PAM은 인증 성공
          단, 이전에 있는 required 모듈이 모두 성공일 경우에만 가능함
    • optional
         모듈의 성공, 실패 결과는 모두 무시됨
  • Module-Path
     PAM에서 사용할 실제 모듈 파일이 위치한 경로를 의미하며, 모듈 이름은 "so" 확장자를 가지고 있으며, /lib/security 경로에서 해당 모듈을 찾는다. 
  • Module-Arguments
     모듈에 전달되는 인수를 의미함.
[root@localhost ~]# cat /etc/pam.d/remote
#%PAM-1.0
#-------------------------------------------------------#
#type      control       module-path    module-arguments#
#-------------------------------------------------------#
auth       required     pam_securetty.so
auth       substack     password-auth
auth       include      postlogin
account    required     pam_nologin.so
account    include      password-auth
password   include      password-auth
session    required     pam_selinux.so close
session    required     pam_loginuid.so
session    required     pam_selinux.so open
session    required     pam_namespace.so
session    optional     pam_keyinit.so force revoke
session    include      password-auth
session    include      postlogin

 

728x90
반응형