Sun 엔터프라이즈 인증 메커니즘 안내서

SEAM NFS 서버 구성

NFS 서비스에서는 주체를 직접 사용할 수 없고 UNIX UID로 사용자를 확인합니다. 주체를 UID로 변환하려면 사용자 주체를 UNIX UID로 매핑하는 증명서 테이블을 작성해야 합니다. 다음 프로시저는 SEAM NFS 서버를 구성하고, 증명서 테이블을 관리하며, NFS 마운트 파일 시스템의 Kerberos 보안 모드를 시작하기 위해 필요한 작업으로 구성됩니다. 다음 표에는 이 장에서 수행할 작업이 간략히 설명되어 있습니다.

표 3-3 SEAM NFS 서버 구성 작업 맵

작업 

설명 

참고 사항 

SEAM NFS 서버 구성 

 Kerberos 인증이 필요한 파일 시스템을 서버와 공유하도록 설정하는 단계입니다."SEAM NFS 서버 구성 방법"

증명서 테이블의 백엔드 메커니즘 변경 

gsscred에서 사용하는 백엔드 메커니즘을 정의하는 단계입니다.."테이블 gsscred의 백엔드 메커니즘 변경 방법"

증명서 테이블 작성 

 증명서 테이블을 생성하는 단계입니다."증명서 테이블 작성 방법"

사용자 주체를 UNIX UIDs로 매핑하는 증명서 테이블 변경 방법 

 증명서 테이블의 정보를 업데이트하는 단계입니다."증명서 테이블에 단일 항목 추가 방법"

Kerberos 인증으로 파일 시스템 공유 

 Kerberos 인증이 필요하도록 파일 시스템을 보안 모드와 공유하는 단계입니다."다중 Kerberos 보안 모드로 안전한 NFS 환경 설정 방법"

SEAM NFS 서버 구성 방법

이 프로시저를 사용하려면 마스터 KDC가 구성되어 있고, 프로세스를 완전히 테스트하기 위해 여러 개의 클라이언트가 필요합니다. 이 프로시저에는 다음과 같은 구성 매개변수가 사용됩니다.

  1. SEAM NFS 서버 구성에 필요한 조건

    SEAM 클라이언트 소프트웨어를 설치해야 합니다.

  2. 선택 사항: NTP 클라이언트나 기타 클록 동기화 메커니즘을 설치합니다.

    NTP에 대한 자세한 내용은 "KDC와 SEAM 클라이언트의 클록 동기화"를 참고하십시오.

  3. kadmin을 시작합니다.

    주체를 추가하기 위해 SEAM 관리 도구를 사용하려면 "새 주체 작성 방법"을 참고하십시오. 다음 예는 명령행을 사용하여 필요한 주체를 추가하는 방법을 보여 줍니다. 마스터 KDC를 구성할 때 작성한 admin 주체의 이름으로 로그온해야 합니다.


    denver #/usr/krb5/sbin/kadmin -p kws/admin
    암호 입력: <kws/admin 암호를 입력합니다>
    kadmin: 
    1. 서버의 NFS 서비스 주체를 작성합니다.


      kadmin: addprinc -randkey nfs/denver.acme.com
      "nfs/denver.acme.com" 주체가 작성되었습니다.
      kadmin:
    2. 선택 사항: NFS 서버의 root 주체를 작성합니다.


      kadmin: addprinc root/denver.acme.com
      root/denver.acme.com@ACME.COM 주체의 암호 입력: <암호를 입력합니다>
      root/denver.acme.com@ACME.COM 주체의 암호 재입력: <다시 입력합니다>
      "root/denver.acme.com@ACME.COM" 주체가 작성되었습니다.
      kadmin: 
    3. 서버의 NFS 서비스 주체를 서버의 키 테이블에 추가합니다.


      kadmin: ktadd nfs/denver.acme.com
      kadmin: kvno가 3인 nfs/denver.acme.com 주체의 항목,
        DES-CBC-CRC 암호화 유형이 WRFILE:/etc/krb5/krb5.keytab
        키 테이블에 추가되었습니다.
      kadmin: quit
      
    4. kadmin을 종료합니다.


      kadmin: quit
      
  4. gsscred 테이블을 작성합니다.

    자세한 내용은 "증명서 테이블 작성 방법"을 참고하십시오.

  5. Kerberos 보안 모드를 사용하여 NFS 파일 시스템을 공유합니다.

    자세한 내용은 "다중 Kerberos 보안 모드로 안전한 NFS 환경 설정 방법"을 참고하십시오.

  6. 모든 클라이언트에서 사용자 주체와 루트 주체를 인증합니다.

    자세한 내용은 "NFS 파일 시스템을 마운트하기 위해 root 인증 설정"을 참고하십시오.

테이블 gsscred의 백엔드 메커니즘 변경 방법

  1. NFS 서버의 수퍼유저가 됩니다.

  2. /etc/gss/gsscred.conf를 편집하고 메커니즘을 변경합니다.

    files, xfn_files, xfn_nis, xfn_nisplus, 또는xfn 등의 백엔드 메커니즘 중 하나를 선택합니다. 각 메커니즘의 장점에 대해서는 "gsscred 테이블 사용"을 참고하십시오.

증명서 테이블 작성 방법

gsscred 증명서 테이블은 NFS 서버에서 SEAM 주체를 UID와 매핑하는 데 사용됩니다. NFS 클라이언트가 Kerberos 인증을 사용하여 NFS 서버로부터 파일 시스템을 마운트하려면 이 테이블을 작성하거나 사용할 수 있어야 합니다.

  1. 필요한 서버의 수퍼유저가 됩니다.

    이러한 명령을 어느 서버에서 어떤 ID로 실행한 것인지는 gsscred 테이블을 지원하도록 선택된 백엔드 메커니즘에 따라 달라집니다. xfn_nisplus를 제외한 모든 메커니즘에서 root가 되어야 합니다.

    백엔드 메커니즘 

    실행 서버 

    files

    NFS 서버에서 실행합니다. 

    xfn

    기본 xfn 파일 설정에 따라 호스트를 선택합니다.

    xfn_files

    NFS 서버에서 실행합니다. 

    xfn_nis

    NIS 마스터에서 실행합니다. 

    xfn_nisplus

    NIS+ 데이터 변경 권한이 있는 모든 서버에서 실행할 수 있습니다.  

  2. 선택 사항: /var/fn이 존재하지 않을 때 xfn 옵션을 사용하려면 초기 XFN 데이터베이스를 작성합니다.


    # fnselect files
    # fncreate -t org -o org//
    
  3. gsscred를 사용하여 증명서 테이블을 작성합니다.

    이 명령은 /etc/nsswitch.confpasswd 항목에 나열된 모든 출처로부터 정보를 수집합니다. 증명서 테이블에 로컬 암호 항목이 포함되지 않게 하려면 일시적으로 files 항목을 삭제해야 합니다. 자세한 내용은 gsscred(1M) 매뉴얼 페이지를 참고하십시오.


    # gsscred -m kerberos_v5 -a
    

증명서 테이블에 단일 항목 추가 방법

이 프로시저를 수행하려면 NFS 서버에 gsscred 테이블이 설치되어 있어야 합니다.

  1. NFS 서버의 수퍼유저가 됩니다.

  2. gsscred를 사용하여 테이블에 항목을 추가합니다.


    # gsscred -m [mech] -n [name] -u [uid] -a
    

    mech

    사용할 보안 메커니즘 

    name

    KDC에 정의된 사용자 주체 이름 

    uid

    암호 데이터베이스에 정의된 사용자의 UID 

    -a

    UID를 주체 이름 매핑에 추가하는 옵션  

예-증명서 테이블의 단일 항목 변경

다음 예에서는 UID 3736으로 매핑된 sandy라는 이름의 사용자 항목을 추가합니다. 명령행에서 UID를 지정하지 않으면 암호 파일에서 추출됩니다.


# gsscred -m kerberos_v5 -n sandy -u 3736 -a

다중 Kerberos 보안 모드로 안전한 NFS 환경 설정 방법

  1. NFS 서버의 수퍼유저가 됩니다.

  2. /etc/dfs/dfstab 파일을 편집하고 sec= 옵션에 해당 항목에 필요한 보안 모드를 추가합니다.


    # share -F nfs -o [mode] [filesystem]
    

    mode

    공유 시 사용될 보안 모드입니다. 다중 보안 모드를 사용할 때 autofs에서 목록의 첫번째 모드를 기본적으로 사용합니다. 

    filesystem

    공유할 파일 시스템의 경로입니다. 

    지정한 파일 시스템에 액세스하는 모든 클라이언트는 Kerberos 인증이 필요합니다. 파일을 액세스하려면 NFS 클라이언트의 사용자 주체와 root 주체가 모두 인증을 받아야 합니다.

  3. NFS 서비스가 서버에서 실행 중인지 확인합니다.

    공유 명령이나 공유 명령 집합을 처음으로 실행할 경우에는 NFS 데몬이 실행 중이 아닙니다. 다음 명령을 실행하여 데몬을 종료한 후 다시 시작합니다.


    # /etc/init.d/nfs.server stop
    # /etc/init.d/nfs.server start
    
  4. 선택 사항: autofs가 사용 중이면 auto_master 데이터를 편집하여 기본 모드 이외의 다른 보안 모드를 선택합니다.

    파일 시스템을 액세스할 때 autofs를 사용하지 않거나 기본 보안 모드를 사용할 수 있을 경우에는 다음 프로시저를 수행할 필요가 없습니다.


    /home	  auto_home  -nosuid,sec=krbi
  5. 선택 사항: 기본 모드를 사용하지 않고 파일 시스템에 액세스하기 위해 mount 명령을 수동으로 실행합니다.

    mount 명령을 사용하여 보안 모드를 지정할 수도 있지만 이 방법은 자동 마운트 기능을 사용할 수 없습니다.


    # mount -F nfs -o sec=krb5p /export/home
    

예-단일 Kerberos 보안 모드로 파일 시스템 공유

이 예에서는 파일을 액세스하기 위해 Kerberos 인증이 필요합니다.


# share -F nfs -o sec=krb5 /export/home

예-다중 Kerberos 보안 모드로 파일 시스템 공유

이 예에서는 3개의 Kerberos 보안 모드가 모두 선택되었습니다. 마운트 요청이 있을 때 보안 모드를 지정하지 않으면 모든 NFS V3 클라이언트에서 첫번째로 나열된 모드(이 예의 경우 krb5)가 사용됩니다. 자세한 내용은 "share 명령변경 사항"을 참고하십시오.


# share -F nfs -o sec=krb5:krb5i:krb5p /export/home