TACF-PAM 연동 모듈

본 장에서는 TACF-PAM 연동 모듈에 대해 설명한다.

1. 개요

사용자가 PAM과 연동해서 인증하는 경우 해당 기능을 사용한다.

TACF에서 PAM(Pluggable Authentication Module)과 연동하여 로그인하는 경우 먼저 safp라는 툴을 사용하여 PAM 인증을 처리한다. 인증에 성공하면 다시 tacf 인증을 수행하고, PAM과 TACF 인증을 모두 성공하면 로그인한 사용자의 세션을 TACF에서 관리하게 된다. 따라서 PAM에 등록되어 있는 사용자 ID는 TACF에도 등록되어 있어야 한다.

로그인할 때 생성된 사용자와 TACF 사이의 세션 정보를 이용, TACF에서 리소스 접근 제어 관리를 할 수 있다.

2. TACF 환경설정

PAM 인증을 하기 위해서는 OpenFrame 환경설정의 saf 서브젝트, AUTH_METHOD 섹션의 PAM_AUTH 키의 VALUE 항목을 YES로 설정해야 한다.

$ ofconfig list -s saf -sec AUTH_METHOD -k PAM_AUTH

===================================================================================
  SUBJECT   |     SECTION      |         KEY         |            VALUE
===================================================================================
    saf     |   AUTH_METHOD    |       PAM_AUTH      |             YES
===================================================================================

saf 서브젝트 설정방법에 대한 자세한 내용은 OpenFrame Base "환경설정 안내서"를 참고한다.

3. safp

safp는 PAM 사용자 인증을 위해 TACF에서 제공하는 프로그램으로, 다음과 같은 기능을 수행한다.

  • 사용자를 인증한다.

  • 사용자의 계정의 유효여부를 확인한다.

  • 비밀번호를 인증하고 해당 계정이 만료되었는지 검사한다.

safp의 동작을 위해 환경 파일을 생성해야 한다. /etc/pam.d/safp 또는 /etc/pam.conf에 다음과 같이 기술한다. (Linux에서 환경 파일을 생성하는 예)

# safp authorization
auth    required    pam_unix.so
account required    pam_unix.so

safp로 사용자 인증을 하기 위해서는 수퍼유저의 권한이 필요하다.

다음은 setuid를 ROOT로 설정하는 예이다.

chown root:root safp     /* owner를 root로 변경한다. */
chmod u+s safp           /* setuid를 root로 설정한다. */
사용법

safp를 직접 실행해서 PAM 인증을 수행하는 경우 다음의 옵션을 사용할 수 있다.

safp [-d userid passwd | -v]
  • 옵션

    옵션 설명

    [-d userid passwd ]

    디버그를 위한 옵션으로 PAM에 등록된 사용자인 경우는 통과하고, 등록되지 않은 사용자인 경우 에러 메시지를 출력한다.

    [-v]

    help 메시지 확인을 위한 옵션이다.

4. 주의사항

다음은 TACF-PAM 연동 모듈 사용하는 경우에 대한 주의사항이다.

  • TACF에서는 USERID 길이에 대한 제한이 있다(최대 8자). 따라서 PAM에 등록하는 USERID 길이도 이 제한을 넘어서서는 안 된다.

  • PAM 모듈에 접근하기 위해서는 ROOT 권한이 필요하기 때문에 PAM인증 관련 모듈은 setuid를 ROOT로 설정해야 한다.

  • safp는 사용자 인증과 사용자 계정의 유효성 체크 기능을 제공하지만 세션 관리와 비밀번호 관리 기능은 제공하지 않는다.