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

5장 주체 및 정책 관리

이 장에서는 주체와 관련 정책을 관리하는 절차와 호스트의 키 테이블을 관리하는 방법에 대해 설명합니다.

이 장은 주체와 정책을 관리해야 하는 사용자에게 필요한 내용입니다. 이 장을 시작하기 전에 계획 문제를 비롯한 주체와 정책에 익숙해져야 합니다. 각각 제 1 장제 2 장의 내용을 참고하십시오.

다음은 이 장의 단계별 지침 목록입니다.

주체 및 정책 관리 방법

마스터 KDC의 Kerberos 데이터베이스에는 영역의 모든 Kerberos 주체, 암호, 정책 및 기타 관리 정보가 포함됩니다. 주체를 작성하거나 삭제하고, 속성을 수정하기 위해 kadmin(1M) 또는 gkadmin(1M) 명령을 사용할 수 있습니다.

kadmin 명령은 Kerberos 주체, 정책, 키 테이블을 관리할 수 있는 대화형 명령행 인터페이스를 제공합니다. kadmin 명령에는 다음과 같은 두 가지 버전이 있습니다. Kerberos 인증을 사용하여 네트워크의 어디에서든 안전하게 작동하는 kadmin과 마스터 KDC에서 직접 실행해야 하는 kadmin.local입니다. kadmin의 경우 Kerberos를 사용하여 사용자를 인증한다는 것만 제외하면, 두 버전의 기능은 동일합니다. 로컬 버전은 원격 버전을 사용할 수 있도록 충분한 데이터베이스를 설치하는 데 필요합니다.

또한, SEAM 제품은 kadmin 명령과 동일한 기능을 제공하는 대화형 그래픽 사용자 인터페이스(GUI)인 SEAM 관리 도구 gkadmin과 함께 제공됩니다. 자세한 내용은 "SEAM 관리 도구"을 참고하십시오.

SEAM 관리 도구

SEAM 관리 도구는 Kerberos 주체와 정책을 관리하는 데 사용되는 대화형 그래픽 사용자 인터페이스(GUI)입니다. 이것은 kadmin 명령과 거의 같은 기능을 제공하지만 키 테이블의 관리는 지원하지 않습니다. kadmin 명령을 사용하여 키 테이블을 관리해야 하며 이것은 "키 테이블 관리"에 설명되어 있습니다.

kadmin 명령처럼, SEAM Tool은 Kerberos 인증과 암호화된 RPC를 사용하여 네트워크 어디에서든 안전하게 작동합니다. SEAM Tool로 다음과 같은 작업을 수행할 수 있습니다.

또한 SEAM Tool은 상황에 맞는 도움말과 일반 온라인 도움말을 제공합니다.

다음 작업 맵은 SEAM Tool로 수행할 수 있는 여러 작업에 대한 설명 위치를 나타냅니다.

SEAM 도구에서 지정하거나 확인할 수 있는 모든 주체와 정책 속성에 대해서는 "SEAM Tool 대화 상자 설명"를 참고하십시오.

SEAM Tool과 동일한 명령행 기능

이 절에는 SEAM Tool과 동일한 기능을 제공하는 동시에 X Window 시스템을 실행하지 않고 사용할 수 있는 kadmin 명령들이 나와 있습니다. 이 장에서는 대부분의 절차에서 SEAM Tool을 사용하지만, 이와 동일한 명령행 기능을 사용한 예도 제시합니다.

표 5-1 SEAM Tool과 동일한 명령행 기능

절차 

kadmin 명령

주체 목록 보기 

list_principals 또는 get_principals

주체 속성 보기 

get_principal

새 주체 작성 

add_principal

주체 복제 

해당 명령행 기능 없음 

주체 수정 

modify_principalchange_password

주체 삭제 

delete_principal

새 주체 작성을 위한 기본값 설정 

해당 명령행 기능 없음 

정책 목록 보기 

list_policies 또는 get_policies

정책 속성 보기 

get_policy

새 정책 작성 

add_policy

정책 수정 

modify_policy

정책 복제 

해당 명령행 기능 없음 

정책 삭제 

delete_policy

SEAM Tool로 수정된 파일

SEAM Tool은 $HOME/.gkadmin 파일만 수정합니다. 이 파일에는 새 주체를 작성하기 위한 기본값이 포함되어 있으며 "편집" 메뉴에서 "등록 정보"를 선택하여 업데이트할 수 있습니다.

SEAM Tool의 인쇄 및 온라인 도움말 기능

SEAM Tool은 인쇄와 온라인 도움말 기능을 모두 제공합니다. "인쇄" 메뉴에서 다음과 같은 사항을 프린터나 파일로 보낼 수 있습니다.

"도움말" 메뉴에서 상황에 맞는 도움말과 일반 도움말을 볼 수 있습니다. "도움말" 메뉴에서 "상황에 맞는 도움말"을 선택하면, "상황에 맞는 도움말" 창이 표시되고 도구가 도움말 모드로 전환됩니다. 도움말 모드에서 창의 필드, 레이블, 버튼을 클릭하면 "도움말" 창에 해당 항목에 대한 도움말이 표시됩니다. 다시 기본 모드로 돌아가려면 "도움말" 창에서 "없애기"를 클릭합니다.

"도움말 목차"를 선택하면 일반 개요와 이 장에서 제공되는 작업 정보에 대한 포인터를 제공하는 HTML 브라우저가 열립니다.

SEAM Tool에서의 대형 목록 작업

사이트에 여러 주체와 정책이 누적되면, SEAM 도구가 주체 및 정책 목록을 로드하고 표시하는 데 걸리는 시간이 점차 길어져 도구 생산성이 낮아집니다. 이 문제는 여러 가지 방법으로 해결할 수 있습니다.

먼저, SEAM 도구가 목록을 로드하지 않도록 하여 목록을 로드하는 데 걸리는 시간을 완전히 없앨 수 있습니다. "편집" 메뉴에서 "등록 정보"를 선택하고 "목록 보기" 필드의 선택을 해제하여 이 옵션을 설정할 수 있습니다. 물론 목록을 로드하지 않으면 목록이 표시되지 않으므로 목록 대화 상자에서 주체나 정책을 선택할 수 없습니다. 대신, 제공된" 새 이름" 필드에 주체나 정책 이름을 입력한 다음 수행할 작업을 선택해야 합니다. 기본적으로 이름을 입력하는 것과 목록에서 항목을 선택하는 것은 동일합니다.

대형 목록을 사용하는 또 다른 방법은 캐싱입니다. 사실상 제한된 시간동안 목록을 캐싱하는 것이 SEAM 도구의 기본 동작으로 설정되어 있습니다. SEAM 도구는 여전히 캐시로 목록을 로드해야 하지만, 목록을 다시 검색하지 않고 캐시를 사용할 수 있습니다. 이렇게 하면 서버에서 목록을 계속 로드하기 위해 시간을 소요할 필요가 없습니다.

또한 "편집" 메뉴에서 "등록 정보"를 선택하여 목록 캐싱을 설정할 수 있습니다. 캐시 설정에는 다음과 같은 두 가지 옵션이 있습니다. 목록을 영구적으로 캐시하거나, 서버에서 캐시로 목록을 다시 읽어야 할 때 시간 제한을 지정할 수 있습니다.

목록을 캐싱해도 여전히 목록 대화 상자를 사용하여 주체나 정책을 선택할 수 있기 때문에 첫번째 옵션처럼 SEAM Tool 사용에 영향을 주지 않습니다. 또한, 다른 사용자의 변경 내용은 볼 수 없지만, 사용자 자신이 변경한 내용은 서버와 캐시 모두에서 목록을 업데이트하기 때문에 변경 내용에 기반한 최신 목록 정보를 볼 수 있습니다. 캐시를 업데이트하여 다른 사용자의 변경 내용을 보고 목록의 최신 복사본을 가져오려면, 서버에서 캐시를 화면에 재생할 때마다 "화면 재생" 메뉴를 사용합니다.

SEAM Tool 시작 방법

  1. gkadmin 명령을 사용하여 SEAM Tool을 시작합니다.


    $ /usr/krb5/sbin/gkadmin
    

    "로그인" 창이 표시됩니다.

    Graphic
  2. 기본값을 사용하지 않으려면 새 값을 지정합니다.

    "로그인" 창에는 자동으로 기본값이 표시됩니다. 기본 주체 이름은 USER 환경 변수의 현재 ID에 /admin을 추가하여(username/admin) 지정됩니다. 기본 "영역" 및 "마스터 KDC" 필드는 /etc/krb5/krb5.conf 파일에서 선택됩니다. 기본값으로 되돌리려면 "시작"을 클릭합니다.


    주 -

    주체 이름이 수행할 수 있는 관리 작업은 Kerberos ACL 파일(/etc/krb5/kadm5.acl)에서 지정됩니다. 제한된 권한에 대한 내용은 "제한된 Kerberos 관리 권한으로 SEAM Tool 사용"을 참고하십시오.


  3. 지정한 주체 이름의 암호를 입력합니다.

  4. "확인"을 클릭합니다.

    다음 창이 나타납니다.

    Graphic

주체 관리

이 절에서는 SEAM Tool을 사용하여 주체를 관리하는 단계별 지침을 제공합니다. 또한 해당되는 경우, 각 절차 다음에 kadmin 명령을 사용하여 동일한 명령행 기능의 예를 제공합니다.

주체 관리 작업 맵

표 5-2 주체 관리 작업 맵

작업 

설명 

참고할 위치 

주체 목록 보기 

"주체" 탭을 클릭하여 주체 목록을 표시합니다. 

"주체 목록 보기 방법"

주체 속성 보기 

"주체 목록"에서 주체를 선택하고 "수정" 버튼을 클릭하여 주체의 속성을 표시합니다. 

"주체 속성 보기"

새 주체 작성 

"주체 목록" 대화 상자에서 "새로 작성" 버튼을 클릭하여 새 주체를 작성합니다. 

"새 주체 작성 방법"

주체 복제 

"주체 목록"에서 복제할 주체를 선택하고 "복제" 버튼을 클릭하여 주체를 복제합니다. 

"주체 복제 방법"

주체 수정 

"주체 목록"에서 수정할 주체를 선택하고 "수정" 버튼을 클릭하여 주체를 수정합니다. 

주체 이름은 수정할 수 없습니다. 주체 이름을 변경하려면 주체를 복제하여 새로운 이름을 지정하고 저장한 다음 이전 주체를 삭제합니다. 

"주체 수정 방법"

주체 삭제 

"주체 목록"에서 삭제할 주체를 선택하고 "삭제" 버튼을 클릭하여 주체를 삭제합니다. 

"주체 삭제 방법"

새 주체 작성을 위한 기본값 설정 

"편집" 메뉴에서 "등록 정보"를 선택하여 새 주체를 작성하기 위한 기본값을 설정합니다. 

"새 주체 작성을 위한 기본값 설정 방법"

Kerberos 관리 권한 수정(kadm5.acl 파일)

명령행에만 해당합니다. Kerberos 관리 권한은 주체가 Kerberos 데이터베이스에 수행할 수 있는 작업의 종류(예: 추가, 수정 등)를 결정합니다. /etc/krb5/kadm5.acl 파일을 편집하여 각 주체의 Kerberos 관리 권한을 수정할 수 있습니다.

"Kerberos 관리 권한 수정 방법"

새 주체 작성 자동화

SEAM Tool은 사용하기 쉽지만 새 주체를 자동으로 작성하는 방법은 제공하지 않습니다. 자동화는 단시간 내에 10~100개의 새 주체를 추가해야 할 때 특히 유용합니다. Bourne 셸 스크립트에서 kadmin.local 명령을 사용하면 새 주체 작성을 자동화할 수 있습니다.

다음 셸 스크립트 행은 이러한 방법의 예입니다.

sed -e 's/^\(.*\)$/ank +needchange -pw \1 \1/' < princnames |
        time /usr/krb5/sbin/kadmin.local> /dev/null

이 예는 읽기 쉽도록 두 행으로 분할되어 있습니다. 이 스크립트는 주체 이름과 암호를 포함하고 이것을 Kerberos 데이터베이스에 추가하는 princnames라는 파일을 읽습니다. 각 행에 한 개 이상의 공백으로 구분된 주체 이름과 암호가 포함되도록 princnames 파일을 작성해야 합니다. +needchange 옵션은 처음 주체를 사용하여 로그인할 때 새 암호를 묻도록 주체를 구성하여 princnames 파일의 암호 보안이 유지되도록 합니다.

이것은 단지 하나의 예일 뿐입니다. 이름 서비스의 정보를 사용하여 주체 이름에 대한 사용자 이름 목록을 가져오는 등 복잡한 스크립트를 작성할 수도 있습니다. 사용자가 수행하는 작업과 그 방법은 사이트의 필요 사항과 사용자의 스크립트 기술에 달려 있습니다.

주체 목록 보기 방법

이 절차 다음에는 이와 동일한 명령행 기능의 예가 나와 있습니다.

  1. 필요한 경우 SEAM Tool을 시작합니다.

    자세한 내용은 "SEAM Tool 시작 방법"을 참고하십시오.

  2. "주체" 탭을 클릭합니다.

    주체 목록이 나타납니다.

    Graphic
  3. 특정 주체나 주체의 하위 목록을 표시하려면 "필터 패턴" 필드에 필터 문자열을 입력하고 <Return> 키를 클릭합니다. 필터가 성공하면, 필터와 일치하는 주체 목록이 표시됩니다.

    필터 문자열은 하나 이상의 문자로 구성되어야 합니다. 필터 메커니즘은 대소문자를 구분하므로 필터에 적절한 대소문자를 사용해야 합니다. 예를 들어, 필터 문자열 ge를 입력하면 ge 문자열을 포함하는 주체만 표시됩니다(예: george 또는 edge).

    주체 목록 전체를 나타내려면 "필터 지우기"를 클릭합니다.

예-주체 목록 보기(명령행)

다음 예에서는 kadminlist_principals 명령을 사용하여 test*와 일치하는 모든 주체를 나열합니다. 와일드카드는 list_principals 명령과 함께 사용할 수 있습니다.


kadmin: list_principals test*
test1@ACME.COM
test2@ACME.COM
kadmin: quit

주체 속성 보기

이 절차 다음에는 이와 동일한 명령행 기능의 예가 나와 있습니다.

  1. 필요한 경우 SEAM Tool을 시작합니다.

    자세한 내용은 "SEAM Tool 시작 방법"를 참고하십시오.

  2. "주체" 탭을 클릭합니다.

  3. 목록에서 원하는 주체를 선택하고 "수정"을 클릭합니다.

    일부 주체 속성이 포함된 "주체 기본 사항" 대화 상자가 표시됩니다.

  4. 주체 속성을 모두 보려면 계속 "다음"을 클릭합니다.

    세 개의 창에 속성 정보가 나타납니다. 각 창에서 "도움말" 메뉴의 "상황에 맞는 도움말"을 선택하면 여러 속성에 대한 정보를 얻을 수 있습니다. 주체 속성에 대한 설명을 모두 보려면 "SEAM Tool 대화 상자 설명"을 참고합니다.

  5. 보기가 끝나면 "취소"를 클릭합니다.

예-주체 속성 보기

다음 예는 jdb/admin 주체를 볼 때의 첫번째 창을 나타낸 것입니다.

Graphic

예-주체 속성 보기(명령행)

다음 예에서는 kadminget_principal 명령을 사용하여 jdb/admin 주체의 속성을 표시합니다.


kadmin: getprinc jdb/admin
주체: jdb/admin@ACME.COM
만기일: 8월 25일 금요일 17:19:05 PDT 2000
마지막 암호 변경일: [사용 안함]
암호 만기일: 4월 14일 수요일 11:53:10 PDT 1999
최대 티켓 유효 기간: 1일 16:00:00
최대 갱신 유효 기간: 1일 16:00:00
마지막 수정일: 1월 14일 목요일 11:54:09 PST 1999 (admin/admin@ACME.COM)
마지막 인증일: [사용 안함]
마지막 인증 실패일: [사용 안함]
실패한 암호: 0
키 수: 1
키: vno 1, CRC-32의 DES cbc 모드, 솔트 없음
속성: REQUIRES_HW_AUTH
정책: [없음]
kadmin: quit

새 주체 작성 방법

이 절차 다음에는 이와 동일한 명령행 기능의 예가 나와 있습니다.

  1. 필요한 경우 SEAM Tool을 시작합니다.

    자세한 내용은 "SEAM Tool 시작 방법"을 참고하십시오.


    주 -

    새 정책이 필요한 새 주체를 작성하려면 새 주체를 작성하기 전에 새 정책을 만들어야 합니다. 자세한 내용은 "새 정책 작성 방법"을 참고합니다.


  2. "주체" 탭을 클릭합니다.

  3. "신규"를 클릭합니다.

    일부 주체 속성이 포함된 "주체 기본 사항" 대화 상자가 표시됩니다.

  4. 주체 이름과 암호를 지정합니다.

    주체 이름과 암호는 필수 항목입니다.

  5. 주체의 속성 값을 지정하고 계속 "다음"을 클릭하여 다른 속성들을 지정합니다.

    세 개의 창에 속성 정보가 나타납니다. 각 창에서 "도움말" 메뉴의 "상황에 맞는 도움말"을 선택하면 여러 속성에 대한 정보를 얻을 수 있습니다. 주체 속성에 대한 설명을 모두 보려면 "SEAM Tool 대화 상자 설명"을 참고합니다.

  6. "저장"을 클릭하여 주체를 저장하거나 마지막 대화 상자에서 "완료"를 클릭합니다.

  7. 필요하면 /etc/krb5/kadm5.acl 파일에서 새 주체에 Kerberos 관리 권한을 설정합니다.

    자세한 내용은 "Kerberos 관리 권한 수정 방법"을 참고하십시오.

예-새 주체 작성

다음 예는 pak라는 새 주체를 작성할 경우의 "주체 기본 사항" 대화 상자를 나타낸 것입니다. 현재 정책은 testuser로 설정되어 있습니다.

Graphic

예-새 주체 작성(명령행)

다음 예에서는 kadminadd_principal 명령을 사용하여 pak라는 새 주체를 작성합니다. 주체의 정책은 testuser로 설정됩니다.


kadmin: add_principal -policy testuser pak
"pak@ACME.COM" 주체의 암호 입력: <암호를 입력하십시오>
"pak@ACME.COM" 주체의 암호 다시입력:  <암호를 다시 입력하십시오>
"pak@ACME.COM" 주체가 작성되었습니다.
kadmin: quit

주체 복제 방법

다음은 기존 주체의 모든 속성이나 일부 속성을 사용하여 새 주체를 작성하는 방법입니다. 이 절차에 해당하는 명령행 기능이 없습니다.

  1. 필요한 경우 SEAM Tool을 시작합니다.

    자세한 내용은 "SEAM Tool 시작 방법"을 참고하십시오.

  2. "주체" 탭을 클릭합니다.

  3. 목록에서 복제할 주체를 선택하고 "복제"를 클릭합니다.

    "주체 기본 사항" 대화 상자가 표시됩니다. 비어 있는 "주체 이름"과 "암호" 필드를 제외한 선택한 주체의 모든 속성이 복제됩니다.

  4. 주체 이름과 암호를 지정합니다.

    주체 이름과 암호는 필수 항목입니다. 선택한 주체와 똑같이 복제하려면 "저장"을 클릭하고 마지막 단계로 건너뜁니다.

  5. 주체의 속성에 다른 값을 지정하고 계속 "다음"을 클릭하여 다른 속성들을 지정합니다.

    세 개의 창에 속성 정보가 나타납니다. 각 창에서 "도움말" 메뉴의 "상황에 맞는 도움말"을 선택하면 여러 속성에 대한 정보를 얻을 수 있습니다. 주체 속성에 대한 설명을 모두 보려면 "SEAM Tool 대화 상자 설명"을 참고합니다.

  6. "저장"을 클릭하여 주체를 저장하거나 마지막 대화 상자에서 "완료"를 클릭합니다.

  7. 필요하면 /etc/krb5/kadm5.acl 파일에서 주체에 Kerberos 관리 권한을 설정합니다.

    자세한 내용은 "Kerberos 관리 권한 수정 방법"을 참고하십시오.

주체 수정 방법

이 절차 다음에는 이와 동일한 명령행 기능의 예가 나와 있습니다.

  1. 필요한 경우 SEAM Tool을 시작합니다.

    자세한 내용은 "SEAM Tool 시작 방법"를 참고하십시오.

  2. "주체" 탭을 클릭합니다.

  3. 목록에서 수정할 주체를 선택하고 "수정"을 클릭합니다.

    일부 주체 속성이 포함된 "주체 기본 사항" 대화 상자가 표시됩니다.

  4. 주체의 속성을 수정하고 계속 "다음"을 클릭하여 다른 속성을 수정합니다.

    세 개의 창에 속성 정보가 나타납니다. 각 창에서 "도움말" 메뉴의 "상황에 맞는 도움말"을 선택하면 여러 속성에 대한 정보를 얻을 수 있습니다. 주체 속성에 대한 설명을 모두 보려면 "SEAM Tool 대화 상자 설명"을 참고합니다.


    주 -

    주체 이름은 수정할 수 없습니다. 주체 이름을 변경하려면 주체를 복제하여 새로운 이름을 지정하고 저장한 다음, 이전 주체를 삭제합니다.


  5. "저장"을 클릭하여 주체를 저장하거나 마지막 대화 상자에서 "완료"를 클릭합니다.

  6. /etc/krb5/kadm5.acl 파일에서 주체의 Kerberos 관리 권한을 수정합니다.

    자세한 내용은 "Kerberos 관리 권한 수정 방법"을 참고하십시오.

예-주체 암호 수정(명령행)

다음 예에서는 kadminchange_password 명령을 사용하여 jdb 주체의 암호를 수정합니다. 이 때 change_password는 주체의 암호 사용 기록에 있는 암호로 변경할 수 없게 합니다.


kadmin: change_password jdb
"jdb" 주체의 암호 입력: <새 암호를 입력하십시오>
"jdb" 주체의 암호 확인: <암호를 다시 입력하십시오>
"jdb@ACME.COM"의 암호가 변경되었습니다.
 kadmin: quit

주체의 다른 속성을 수정하려면 kadminmodify_principal 명령을 사용해야 합니다.

주체 삭제 방법

이 절차 다음에는 이와 동일한 명령행 기능의 예가 나와 있습니다.

  1. 필요한 경우 SEAM Tool을 시작합니다.

    자세한 내용은 "SEAM Tool 시작 방법"을 참고하십시오.

  2. "주체" 탭을 클릭합니다.

  3. 목록에서 삭제할 주체를 지정하고 "삭제"를 클릭합니다.

    삭제를 확인하면 해당 주체가 삭제됩니다.

  4. Kerberos ACL 파일(/etc/krb5/kadm5.acl)에서 주체를 삭제합니다.

    자세한 내용은 "Kerberos 관리 권한 수정 방법"을 참고하십시오.

예-주체 삭제(명령행)

다음 예에서는 kadmindelete_principal 명령을 사용하여 jdb 주체를 삭제합니다.


kadmin: delete_principal pak
"pak@ACME.COM" 주체를 삭제하시겠습니까? (예/아니오): 
"pak@ACME.COM" 주체가 삭제되었습니다.
다시 사용하기 전에 모든 ACL에서 이 주체를 삭제했는지 확인하십시오.
kadmin: quit

새 주체 작성을 위한 기본값 설정 방법

이 절차에 해당하는 명령행 기능이 없습니다.

  1. 필요한 경우 SEAM Tool을 시작합니다.

    자세한 내용은 "SEAM Tool 시작 방법"을 참고하십시오.

  2. "편집" 메뉴에서 "등록 정보"를 선택합니다.

    "등록 정보" 창이 나타납니다.

    Graphic
  3. 새 주체 작성 시 원하는 기본값을 선택합니다.

    각 창에서 "도움말" 메뉴의 "상황에 맞는 도움말"을 선택하면 여러 속성에 대한 정보를 얻을 수 있습니다.

  4. "저장"을 클릭합니다.

Kerberos 관리 권한 수정 방법

사이트에 사용자 주체가 많이 있을 수도 있지만 대개 소수의 사용자만이 Kerberos 데이터베이스를 관리할 수 있게 됩니다. Kerberos 데이터베이스 관리 권한은 Kerberos 액세스 제어 목록(ACL) 파일인 kadm5.acl(4)에 지정됩니다. 사용자는 kadm5.acl 파일에서 개별 주체에 대해 권한을 허용하거나 허용하지 않을 수 있습니다. 주체 이름에 '*' 와일드카드를 사용하여 주체 그룹에 대한 권한을 지정할 수도 있습니다.

  1. 마스터 KDC의 수퍼유저가 됩니다.

  2. /etc/krb5/kadm5.acl 파일을 편집합니다.

    kadm5.acl 파일의 항목은 다음과 같은 형식이어야 합니다.


    주체   권한  [주체목표]

    주체

    권한이 부여된 주체입니다. 주체 이름의 모든 부분에 '*' 와일드카드를 사용할 수 있으며, 이것은 특정 주체 그룹에 동일한 권한을 부여할 때 유용합니다. 예를 들어, admin 이 포함된 모든 주체를 지정하려면 */admin@realm을 사용합니다. admin은 주로 각 Kerberos 주체에 각기 다른 권한(예: Kerberos 데이터베이스에 대한 관리 액세스)을 부여할 때 사용합니다. 예를 들어, 사용자 jdbjdb/admin이라는 관리 사용 주체를 가질 수 있습니다. 즉, jdb는 이러한 권한이 실제로 필요할 때만 jdb/admin 티켓을 받습니다.

    권한

    주체가 수행할 수 있는 작업과 수행할 수 없는 작업을 지정합니다. 이러한 권한은 다음 목록에 표시된 문자나 해당 문자의 대문자로 구성된 문자열로 표시됩니다. 대문자이거나 지정하지 않을 경우 해당 작업은 허용되지 않고, 소문자이면 작업이 허용됩니다. 

     

    a

    주체나 정책의 추가를 허용합니다[허용하지 않습니다]. 

     

    d

    주체나 정책의 삭제를 허용합니다[허용하지 않습니다]. 

     

    m

    주체나 정책의 수정을 허용합니다[허용하지 않습니다]. 

     

    c

    주체의 암호 변경을 허용합니다[허용하지 않습니다]. 

     

    i

    데이터베이스 조회를 허용합니다[허용하지 않습니다]. 

     

    l

    [데이터베이스의 주체 또는 정책 목록 조회를 허용합니다[허용하지 않습니다]. 

     

    x 또는 *

    모든 권한을 허용합니다(admcil).

    principal_target

    이 필드에 주체를 지정하면, 권한은 주체가 principal_target에서 작동할 경우에만 주체에 적용됩니다. 주체 이름의 모든 부분에 '*' 와일드카드를 사용할 수 있으며, 이것은 주체를 그룹화하는 데 유용합니다.

예-Kerberos 관리 권한 수정

kadm5.acl 파일의 다음 항목은 admin이 있는 ACME.COM 영역의 모든 주체에게 데이터베이스에 대한 모든 권한을 부여합니다.


*/admin@ACME.COM *

kadm5.acl 파일의 다음 항목은 jdb@ACME.COM 주체에게 root가 들어 있는 모든 주체를 추가, 나열, 조회할 수 있는 권한을 부여합니다.


jdb@ACME.COM ali */root@ACME.COM

정책 관리

이 절에서는 SEAM Tool을 사용하여 정책을 관리하는 단계별 지침을 제공합니다. 또한 해당되는 경우, 각 절차 다음에 kadmin 명령을 사용하여 동일한 명령행 기능의 예를 제공합니다.

정책 관리 작업 맵

표 5-3 정책 관리 작업 맵

작업 

설명 

참고 위치 

정책 목록 보기 

"정책" 탭을 클릭하여 정책 목록을 표시합니다. 

"정책 목록 보기 방법"

정책 속성 보기 

"정책 목록"에서 "정책"을 선택하고 "수정" 버튼을 클릭하여 정책의 속성을 표시합니다. 

"정책 속성 보기 방법"

새 정책 작성 

"정책 목록" 대화 상자에서 "새로 작성" 버튼을 클릭하여 새 정책을 작성합니다. 

"새 정책 작성 방법"

정책 복제 

"정책 목록"에서 복제할 정책을 선택하고 "복제" 버튼을 클릭하여 정책을 복제합니다. 

"정책 복제 방법"

정책 수정 

"정책 목록"에서 수정할 정책을 선택하고 "수정" 버튼을 클릭하여 정책을 수정합니다. 

정책 이름은 수정할 수 없습니다. 정책 이름을 변경하려면 정책을 복제하여 새로운 이름을 지정하고 저장한 다음, 이전 정책을 삭제합니다. 

"정책 수정 방법"

정책 삭제 

"정책 목록"에서 삭제할 정책을 선택하고 "삭제" 버튼을 클릭하여 정책을 삭제합니다. 

"정책 삭제 방법"

정책 목록 보기 방법

이 절차 다음에는 이와 동일한 명령행 기능의 예가 나와 있습니다.

  1. 필요한 경우 SEAM Tool을 시작합니다.

    자세한 내용은 "SEAM Tool 시작 방법"을 참고하십시오.

  2. "정책" 탭을 클릭합니다.

    정책 목록이 표시됩니다.

    Graphic
  3. 특정 주체나 정책의 하위 목록을 표시하려면 "필터 패턴" 필드에 필터 문자열을 입력하고 <Return> 키를 클릭합니다. 필터가 성공하면, 필터와 일치하는 정책 목록이 표시됩니다.

    필터 문자열은 하나 이상의 문자로 구성되어야 합니다. 필터 메커니즘은 대소문자를 구분하므로 필터에 적절한 대소문자를 사용해야 합니다. 예를 들어, 필터 문자열 ge를 입력하면 ge 문자열이 포함된 정책만 표시됩니다(예: george 또는 edge).

    정책 목록 전체를 표시하려면 "필터 지우기"를 클릭합니다.

예-정책 목록 보기(명령행)

다음 예에서는 kadminlist_policies 명령을 사용하여 *user*와 일치하는 모든 정책을 나열합니다. 와일드카드는 list_policies 명령과 함께 사용할 수 있습니다.


kadmin: list_policies *user*
testuser
enguser
kadmin: quit

정책 속성 보기 방법

이 절차 다음에는 이와 동일한 명령행 기능의 예가 나와 있습니다.

  1. 필요한 경우 SEAM Tool을 시작합니다.

    자세한 내용은 "SEAM Tool 시작 방법"을 참고하십시오.

  2. "정책" 탭을 클릭합니다.

  3. 목록에서 원하는 정책을 선택하고 "수정"을 클릭합니다.

    "정책 세부 사항" 대화 상자가 표시됩니다.

  4. 보기가 끝나면 "취소"를 클릭합니다.

예-정책 속성 보기

다음 예는 test 정책을 볼 때의 "정책 세부 사항" 대화 상자를 나타낸 것입니다.

Graphic

예-정책 속성 보기(명령행)

다음 예에서는 kadminget_policy 명령을 사용하여 enguser 정책의 속성을 표시합니다.


kadmin: get_policy enguser
정책: enguser
최대 암호 유효 기간: 2592000
최소 암호 유효 기간: 0
최소 암호 길이: 8
최소 암호 문자 클래스 수: 2
유지할 이전 키 수: 3
참조 카운트: 0
kadmin: quit

참조 카운트란 정책을 사용 중인 주체의 수입니다.

새 정책 작성 방법

이 절차 다음에는 이와 동일한 명령행 기능의 예가 나와 있습니다.

  1. 필요한 경우 SEAM Tool을 시작합니다.

    자세한 내용은 "SEAM Tool 시작 방법"을 참고하십시오.

  2. "정책" 탭을 클릭합니다.

  3. "신규"를 클릭합니다.

    "정책 세부 사항" 대화 상자가 표시됩니다.

  4. "정책 이름" 필드에 정책 이름을 지정합니다.

    정책 이름은 필수 항목입니다.

  5. 정책 속성의 값을 지정합니다.

    각 창에서 "도움말" 메뉴의 "상황에 맞는 도움말"을 선택하면 여러 속성에 대한 정보를 얻을 수 있습니다. 정책 속성에 대한 설명을 모두 보려면 표 5-7을 참고합니다.

  6. "저장"을 클릭하여 정책을 저장하거나 "완료"를 클릭합니다.

예-새 정책 작성

다음 예는 build11이라는 새 정책 작성을 보여 줍니다. 현재까지 "최소 암호 클래스"가 3으로 변경되었습니다.

Graphic

예-새 정책 작성(명령행)

다음 예에서는 kadminadd_policy 명령을 사용하여 암호에 최소한 3개의 문자 클래스가 필요한 build11 정책을 작성합니다.


$ kadmin
kadmin: add_policy -minclasses 3 build11
kadmin: quit

정책 복제 방법

이 절차에서는 기존 정책의 일부 또는 전체를 사용하여 새 정책을 작성하는 방법을 설명합니다. 이 절차에 해당하는 명령행 기능이 없습니다.

  1. 필요한 경우 SEAM Tool을 시작합니다.

    자세한 내용은 "SEAM Tool 시작 방법"을 참고하십시오.

  2. "정책" 탭을 클릭합니다.

  3. 목록에서 복제할 정책을 선택하고 "복제" 버튼을 클릭합니다.

    "정책 세부 사항" 대화 상자가 표시됩니다. 비어 있는 "정책 이름" 필드를 제외하고, 선택한 정책의 모든 속성이 복제됩니다.

  4. "정책 이름" 필드에 복제한 정책의 이름을 지정합니다.

    정책 이름은 필수 항목입니다. 선택한 정책과 똑같이 복제하려면 "저장"을 클릭하고 마지막 단계로 건너뜁니다.

  5. 정책 속성에 다른 값을 지정합니다.

    각 창에서 "도움말" 메뉴의 "상황에 맞는 도움말"을 선택하면 여러 속성에 대한 정보를 얻을 수 있습니다. 정책 속성에 대한 설명을 모두 보려면 표 5-7을 참고합니다.

  6. "저장"을 클릭하여 정책을 저장하거나 "완료"를 클릭합니다.

정책 수정 방법

이 절차 다음에는 이와 동일한 명령행 기능의 예가 나와 있습니다.

  1. 필요한 경우 SEAM Tool을 시작합니다.

    자세한 내용은 "SEAM Tool 시작 방법"을 참고하십시오.

  2. "정책" 탭을 클릭합니다.

  3. 목록에서 수정할 정책을 선택하고 "수정"을 클릭합니다.

    "정책 세부 사항" 대화 상자가 표시됩니다.

  4. 정책 속성을 수정합니다.

    각 창에서 "도움말" 메뉴의 "상황에 맞는 도움말"을 선택하면 여러 속성에 대한 정보를 얻을 수 있습니다. 정책 속성에 대한 설명을 모두 보려면 표 5-7을 참고합니다.


    주 -

    정책 이름은 수정할 수 없습니다. 정책 이름을 변경하려면 정책을 복제하여 새로운 이름을 지정하고 저장한 다음, 이전 정책을 삭제합니다.


  5. "저장"을 클릭하여 정책을 저장하거나 "완료"를 클릭합니다.

예-정책 수정(명령행)

다음 예에서는 kadminmodify_policy 명령을 사용하여 build11 정책의 최소 암호 길이를 5자로 수정합니다.


$ kadmin
kadmin: modify_policy -minlength 5 build11
kadmin: quit

정책 삭제 방법

이 절차 다음에는 이와 동일한 명령행 기능의 예가 나와 있습니다.

  1. 필요한 경우 SEAM Tool을 시작합니다.

    자세한 내용은 "SEAM Tool 시작 방법"을 참고하십시오.

  2. "정책" 탭을 클릭합니다.


    주 -

    정책을 삭제하기 전에, 해당 정책을 현재 사용 중인 모든 주체에서 정책을 취소해야 합니다(즉, 주체의 정책 속성을 수정해야 합니다). 주체가 사용 중인 정책은 삭제할 수 없습니다.


  3. 목록에서 삭제할 정책을 지정하고 "삭제"를 클릭합니다.

    삭제를 확인하면 해당 정책이 삭제됩니다.

예-정책 삭제(명령행)

다음 예에서는 kadmin 명령의 delete_policy 명령을 사용하여 build11 정책을 삭제합니다.


kadmin: delete_policy build11  "build11" 정책을 삭제하시겠습니까? (yes/no): 
yes 
kadmin: quit

정책을 삭제하기 전에, 현재 정책을 사용 중인 모든 주체에서 정책을 취소해야 합니다(주체에 kadminmodify_principal -정책 명령을 사용해야 합니다). 해당 정책을 사용 중인 주체가 있으면 delete_policy 명령은 실패합니다.

SEAM Tool 참조

이 절에서는 SEAM Tool에 대한 참조 정보를 제공합니다.

SEAM Tool 대화 상자 설명

이 절에서는 SEAM 도구에서 지정하거나 볼 수 있는 각각의 주체와 정책 속성에 대해 설명합니다. 속성은 각 속성이 표시된 대화 상자에서 구성됩니다.

표 5-4 주체 기본 사항 대화 상자 속성

속성 

설명 

주체 이름 

주체 이름(전체 주체 이름의 primary/instance 부분). 주체는 KDC에서 티켓을 할당할 수 있는 고유한 ID입니다.

주체를 수정하는 경우, 주체 이름은 편집할 수 없습니다. 

암호 

주체의 암호. "임의 암호 생성" 버튼을 사용하여 주체의 암호를 임의로 생성합니다. 

정책 

주체에 사용할 수 있는 정책 메뉴입니다. 

계정 만기일 

주체의 계정이 만기되는 날짜와 시간. 계정이 만기되면 주체는 티켓 부여 티켓(TGT)을 얻을 수 없으며 로그인할 수 없게 됩니다. 

마지막 주체 변경일 

주체 정보가 마지막으로 수정된 날짜. (읽기 전용) 

마지막 변경한 사람 

주체의 계정을 마지막으로 수정한 주체의 이름. (읽기 전용) 

주석 

주체와 관련된 주석(예: '임시 계정') 

표 5-5 주체 세부 사항 대화 상자 속성

속성 

설명 

마지막 성공일 

주체가 최근 로그인에 성공한 날짜와 시간. (읽기 전용) 

마지막 실패일 

주체가 최근 로그인에 실패한 날짜와 시간. (읽기 전용) 

실패 횟수 

주체의 로그인이 실패한 횟수. (읽기 전용) 

마지막 암호 변경일 

주체의 암호가 마지막으로 변경된 날짜와 시간. (읽기 전용) 

암호 만기일 

주체의 현재 암호가 만기되는 날짜와 시간. 

Key 버전 

주체의 key 버전 번호. 이것은 보통 암호가 손상되었을 때만 변경됩니다. 

최대 유효 기간(초) 

갱신 없이 주체에 티켓을 부여할 수 있는 최대 기간. 

최대 갱신 기간(초) 

주체에 대해 기존 티켓을 갱신할 수 있는 최대 기간. 

표 5-6 주체 플래그 대화 상자 속성

속성(라디오 버튼) 

설명 

계정 사용 안함 

이 항목을 선택하면 주체가 로그인할 수 없습니다. 주체 계정을 일시적으로 비활성화할 때 유용하게 사용할 수 있는 방법입니다. 

암호 변경 필요 

이 항목을 선택하면 주체의 현재 암호가 만료되므로 kpasswd명령을 사용하여 새 암호를 작성해야 합니다. 이것은 보안 문제가 발생할 경우 기존 암호를 교체하도록 할 때 유용합니다.

날짜를 늦춰 적은 티켓 허용 

이 항목을 선택하면 주체가 날짜를 늦춰 적은 티켓을 가질 수 있습니다.  

예를 들어, 몇 시간 후 실행해야 하지만 유효 기간이 짧아 티켓을 미리 얻을 수 없는 cron 작업에 대해서는 날짜를 늦춰 적은 티켓을 사용해야 합니다. 

전송 티켓 허용 

이 항목을 선택하면 주체가 전송 티켓을 얻을 수 있습니다. 

전송 가능 티켓은 단일 사인온 세션을 제공하기 위해 원격 호스트로 전송되는 티켓입니다. 예를 들어, 전송 가능 티켓을 사용하고 ftp 또는 rsh를 통해 인증하는 경우, 다른 암호를 입력하지 않고도 NFS 등의 다른 서비스를 사용할 수 있습니다.

갱신 티켓 허용 

이 항목을 선택하면 주체가 갱신 티켓을 얻을 수 있습니다. 

주체는 갱신 티켓의 만기일이나 시간을 자동으로 연장하여 처음 만기일이 지난 후 새 티켓을 얻을 필요가 없습니다. 현재는 NFS 서비스로만 티켓을 갱신할 수 있습니다. 

프록시 가능 티켓 허용 

이 항목을 선택하면 주체가 프록시 가능 티켓을 얻을 수 있습니다. 

프록시 가능 티켓은 클라이언트에 대한 작업을 수행하기 위해 클라이언트 대신 서비스에서 사용할 수 있는 티켓입니다. 프록시 가능 티켓을 사용하면 서비스가 클라이언트의 ID를 사용하여 다른 서비스에 대한 티켓을 얻을 수 있지만, 티켓 부여 티켓은 얻을 수 없습니다. 

서비스 티켓 허용 

이 항목을 선택하면 주체에 대해 서비스 티켓을 발행할 수 있습니다. 

kadmin/hostnamechangepw/hostname 주체에 대해서는 서비스 티켓을 발행할 수 없습니다. 이렇게 하면 이 주체들은 KDC 데이터베이스를 업데이트할 수만 있습니다.

TGT 기반 인증 허용 

이 항목을 선택하면 서비스 주체가 다른 주체에 서비스를 제공할 수 있습니다. 특히 KDC가 서비스 주체에 대해 서비스 티켓을 발행할 수 있습니다. 

이 속성은 서비스 주체에 대해서만 유효합니다. 이 항목을 선택하지 않으면 서비스 주체에 대해 서비스 티켓을 발행할 수 없습니다. 

중복 인증 허용 

이 항목을 선택하면 사용자 주체가 다른 사용자 주체의 서비스 티켓을 얻을 수 있습니다. 

이 속성은 사용자 주체에 대해서만 유효합니다. 이 항목을 선택하지 않아도 사용자 주체는 서비스 주체의 서비스 티켓을 얻을 수 있지만 다른 사용자 주체의 서비스 티켓은 얻을 수 없습니다. 

사전 인증 필요 

이 항목을 선택하면, KDC가 소프트웨어를 통해 실제로 티켓 부여 티켓(TGT)을 요청한 주체라는 것을 확인할 때까지 요청한 TGT를 주체에 보내지 않습니다. 이러한 사전 인증은 주로 추가 암호(예: DES 카드)를 통해 수행됩니다. 

이 항목을 선택하지 않으면 요청한 TGT를 주체로 보내기 전에 KDC가 주체를 사전 인증할 필요가 없습니다. 

하드웨어 사전 인증 필요 

이 항목을 선택하면 KDC가 하드웨어를 통해 실제로 티켓 부여 티켓(TGT)을 요청한 주체라는 것을 확인할 때까지 요청한 TGT를 주체로 보내지 않습니다. 하드웨어 사전 인증은 Java 링 리더 등이 될 수 있습니다. 

이 항목을 선택하지 않으면 요청한 TGT를 주체로 보내기 전에 KDC가 주체를 사전 인증할 필요가 없습니다. 

표 5-7 정책 기본 사항 대화 상자 속성

속성 

설명 

정책 이름 

정책의 이름. 정책이란 주체의 암호와 티켓을 관리하는 일련의 규칙들입니다. 

정책을 수정할 때도 정책 이름은 편집할 수 없습니다. 

최소 암호 길이 

주체 암호의 최소 길이. 

최소 암호 클래스 

주체의 암호를 지정할 때 사용해야 하는 문자 유형의 최소 개수. 

예를 들어, 최소 클래스 값이 2이면 암호를 문자와 숫자(hi2mom) 등 최소 두 가지의 다른 문자 유형으로 지정해야 합니다. 이 값이 3이면 암호를 문자, 숫자, 문장 부호(hi2mom!) 등 최소 세 가지의 다른 문자 유형으로 지정해야 합니다.  

단, 값이 1인 경우에는 기본적으로 암호 문자 유형 수에 제한이 없습니다. 

저장된 암호 내역 

주체에서 사용한 이전 암호의 개수이며 다시 사용할 수 없습니다. 

최소 암호 유효 기간(초) 

암호 사용을 시작해서 변경할 수 있을 때까지의 최소 시간. 

최대 암호 유효 기간(초) 

암호 사용을 시작해서 변경해야 할 때까지의 최대 시간. 

이 정책을 사용하는 주체 

현재 이 정책이 적용된 주체 수. (읽기 전용) 

제한된 Kerberos 관리 권한으로 SEAM Tool 사용

admin 주체에 Kerberos 데이터베이스를 관리할 모든 권한이 있으면 SEAM 관리 도구의 기능을 모두 사용할 수 있습니다. 그러나 주체 목록만을 보거나 주체의 암호를 변경할 수 있는 등 제한된 권한을 가질 수도 있습니다. 제한된 Kerberos 관리 권한을 갖고 있어도 SEAM 관리 도구를 사용할 수는 있지만, SEAM 도구의 각 기능은 사용자의 Kerberos 관리 권한에 따라 달라집니다. 표 5-8에서 SEAM 도구가 Kerberos 관리 권한에 따라 어떻게 변하는지 보여 줍니다.

목록 권한이 없을 때 SEAM 도구가 가장 현저하게 변합니다. 목록 권한이 없으면, "목록" 대화 상자에 조작할 주체 및 정책 목록이 표시되지 않습니다. 대신 "목록" 대화 상자의 "이름" 필드를 사용하여 작업할 주체나 정책을 지정해야 합니다.

SEAM 도구에 로그온하였으나 유용한 작업을 수행할 충분한 권한이 없으면, 다음 메시지가 나타나고 로그인 창으로 복귀하게 됩니다.


권한이 부족하여 gkadmin: ADMCIL을 사용할 수 없습니다. 다른 주체를 사용하여 시도하십시오.

주체가 Kerberos 데이터베이스를 관리하도록 권한을 변경하려면, "Kerberos 관리 권한 수정 방법"을 참고합니다.

표 5-8 제한된 Kerberos 관리 권한으로 SEAM 도구 사용

다음 권한이 없을 경우 

SEAM 도구의 변경 사항 

a (추가)

"주체 목록"과 "정책 목록" 대화 상자에서 "새로 작성" 및 "복제" 버튼을 사용할 수 없습니다. 추가 권한이 없으면, 주체나 정책을 새로 작성하거나 복제할 수 없습니다. 

d (삭제)

"주체 목록"과 "정책 목록" 대화 상자에서 "삭제" 버튼을 사용할 수 없습니다. 삭제 권한이 없으면, 주체나 정책을 삭제할 수 없습니다. 

m (수정)

"주체 목록"과 "정책 목록" 대화 상자에서 "수정" 버튼을 사용할 수 없습니다. 수정 권한이 없으면 주체나 정책을 수정할 수 없습니다.  

암호 변경 권한을 가지고 있어도 "수정" 버튼이 활성화되어 있지 않으면 주체의 암호를 변경할 수 없습니다. 

c (암호 변경)

"주체 기본 사항" 대화 상자의 "암호" 필드는 읽기 전용이므로 변경할 수 없습니다. 암호 변경 권한이 없으면, 주체의 암호를 수정할 수 없습니다.  

암호 변경 권한이 있어도, 수정 권한을 동시에 가지고 있어야 주체의 암호를 변경할 수 있습니다. 

i (데이터베이스 조회)

"주체 목록"과 "정책 목록" 대화 상자에서 "수정" 및 "복제" 버튼을 사용할 수 없습니다. 조회 권한이 없으면, 주체나 정책을 수정하거나 복제할 수 없습니다.  

암호 변경 권한을 가지고 있어도 "수정" 버튼이 활성화되어 있지 않으면 주체의 암호를 변경할 수 없습니다. 

l (목록)

"목록" 대화 상자에서 주체와 정책 목록을 사용할 수 없습니다. 목록 권한이 없으면, "목록" 대화 상자의 "이름" 필드를 사용하여 작업할 주체나 정책을 지정해야 합니다.  

키 테이블 관리

서비스를 제공하는 모든 호스트에는 서비스 키라는 해당 서비스의 주체를 포함하는 키 테이블(keytab - key table의 단축형)이라는 로컬 파일이 있어야 합니다. 서비스 키는 KDC에 서비스를 인증하는 데 사용되며 Kerberos와 해당 서비스에만 알려져 있습니다. 예를 들어, Kerberos 암호화를 지원하는 NFS 서버가 있을 경우 nfs 서비스 주체를 포함하는 키 테이블이 해당 서버에 있어야 합니다

서비스 키를 키 테이블에 추가하려면 kadminktadd 명령을 사용하여 적절한 서비스 주체를 호스트의 키 테이블에 추가합니다. 서비스 주체를 키 테이블에 추가하고 있기 때문에, 주체는 이미 Kerberos 데이터베이스에 존재하며 따라서 kadmin은 그 존재를 확인할 수 있습니다. 마스터 KDC의 경우, 키 테이블 파일은 기본적으로 /etc/krb5/kadm5.keytab에 위치합니다. Kerberos 암호화 지원 서비스를 제공하는 응용 프로그램 서버의 경우, 키 테이블 파일은 기본적으로 /etc/krb5/krb5.keytab에 위치합니다.

키 테이블은 사용자의 암호와 유사합니다. 사용자가 자신의 암호를 보호하는 것이 중요한 것과 마찬가지로 응용 프로그램 서버가 키 테이블을 보호하는 것도 중요합니다. 키 테이블은 항상 로컬 디스크에 저장하고, 루트만 읽을 수 있어야 하며, 보호되지 않는 네트워크를 통해 키 테이블을 전송해서는 안됩니다.

루트 주체를 호스트의 키 테이블에 추가하는 특수한 경우도 있습니다. 기본적으로, SEAM 클라이언트의 사용자가 Kerberos 인증을 사용하여 자동으로 Kerbero 암호화를 지원하는 NFS 파일 시스템을 마운트하도록 하려면, 클라이언트의 루트 주체를 클라이언트의 키 테이블에 추가해야 합니다. 그렇지 않으면, 사용자는 자동 마운터를 사용하는 경우에도 Kerbero 암호화를 지원하는 NFS 파일 시스템을 마운트할 때마다 루트로서 kinit 명령을 사용하여 클라이언트의 루트 주체에 대한 증명서를 얻어야 합니다. 자세한 내용은 "NFS 파일 시스템을 마운트하기 위해 root 인증 설정"을 참고하십시오.


주 -

마스터 KDC를 설치할 때는 kadmindchangepw 주체를 kadm5.keytab 파일에 추가해야 합니다. 이렇게 하면 KDC가 관리자의 Kerberos 티켓을 해독하여 데이터베이스 액세스를 부여할 지 여부를 결정합니다.


키 테이블 관리에는 ktutil 명령을 사용할 수도 있습니다. ktutil은 대화형 명령행 인터페이스 유틸리티로, ktutilkadmin처럼 Kerberos 데이터베이스와 상호 작용하지 않으므로 Kerberos 관리 권한이 없어도 로컬 호스트의 키 테이블을 관리할 수 있습니다. 따라서 주체가 키 테이블에 추가되면, ktutil을 사용하여 키 테이블의 키 목록을 보거나 서비스의 인증을 임시로 비활성화할 수 있습니다.

키 테이블 관리 작업 맵

표 5-9 키 테이블 관리 작업 맵

작업 

설명 

참고 위치 

키 테이블에 서비스 주체 추가 

kadminktadd 명령을 사용하여서비스 주체를 키 테이블에 추가합니다.

"키 테이블에 서비스 주체 추가 방법"

키 테이블에서 서비스 주체 삭제 

kadminktremove 명령을 사용하여 키 테이블에서 서비스를 삭제합니다.

"키 테이블에서 서비스 주체 삭제 방법"

키 테이블에 키 목록(주체) 표시 

ktutil 명령을 사용하여 키 테이블에 키 목록을 표시합니다.

"키 테이블에 키 목록(주체) 표시 방법"

호스트에서 서비스 인증을 임시로 비활성화 

이 절차는 kadmin 권한 없이 호스트에서 서비스 인증을 임시로 비활성화하는 빠른 방법입니다. ktutil을 사용하여 서버의 키 테이블에서 서비스 주체를 삭제하기 전에, 원래 키 테이블을 임시 위치에 복사합니다. 서비스를 다시 활성화하려면 원래 키 테이블을 다시 복사합니다.

"호스트에서 서비스 인증을 임시로 비활성화하는 방법"

키 테이블에 서비스 주체 추가 방법

  1. 주체가 이미 Kerberos 데이터베이스에 있는지 확인합니다.

    자세한 내용은 "주체 목록 보기 방법"을 참고하십시오.

  2. 키 테이블에 주체를 추가해야 하는 호스트의 수퍼유저가 됩니다.

  3. kadmin 명령을 시작합니다.


    # /usr/krb5/sbin/kadmin
    
  4. ktadd 명령을 사용하여 키 테이블에 주체를 추가합니다.


    kadmin: ktadd[-k 키 테이블] [-q] [주체 | -glob principal_exp]

    -k 키 테이블

    키 테이블 파일을 지정합니다. 기본적으로 /etc/krb5/krb5.keytab이 사용됩니다.

    -q

    개괄적 정보를 표시합니다. 

    주체

    키 테이블에 추가될 주체. 호스트, 루트, nfs, ftp 등의 서비스 주체를 추가할 수 있습니다.

    -glob principal_exp

    주체 표현식과 일치하는 모든 주체가 키 테이블에 추가됩니다. 주체 표현식의 규칙은 kadminlist_principals 명령 규칙과 동일합니다.

  5. kadmin 명령을 종료합니다.


    kadmin: quit
    

예-키 테이블에 서비스 주체 추가

다음 예는 kadmin/adminkadmin/changepw 주체를 마스터 KDC 키 테이블에 추가합니다. 이 예에서 키 테이블 파일은 kdc.conf에 지정된 것이어야 합니다.


kdc1 # /usr/krb5/bin/kadmin.local
kadmin.local: ktadd -k /etc/krb5/kadm5.keytab kadmin/admin kadmin/changepw
kvno가 3, 암호화 유형이 DES-CBC-CRC인 kadmin/admin@ACME.COM
주체의 항목이 WRFILE:/etc/krb5/kadm5.keytab 키 테이블에 추가되었습니다.
kvno가 3, 암호화 유형이 DES-CBC-CRC인 kadmin/changepw@ACME.COM
주체의 항목이 WRFILE:/etc/krb5/kadm5.keytab 키 테이블에 추가되었습니다.
kadmin.local: quit

다음 예는 denver호스트주체를 denver의 키 테이블 파일에 추가하며, 따라서 denver의 네트워크 서비스가 KDC에 의해 인증될 수 있습니다.


denver # /usr/krb5/bin/kadmin
kadmin: ktadd host/denver@acme.com@ACME.COM
kadmin: kvno가 2, 암호화 유형이 DES-CBC-CRC인 host/denver@acme.com@ACME.COM
주체의 항목이 WRFILE:/etc/krb5/krb5.keytab 키 테이블에 추가되었습니다.
kadmin: quit

키 테이블에서 서비스 주체 삭제 방법

  1. 키 테이블에서 삭제할 서비스 주체가 있는 호스트의 수퍼유저가 됩니다.

  2. kadmin 명령을 시작합니다.


    # /usr/krb5/bin/kadmin
    
  3. 선택 사항. 키 테이블에서 주체(키)의 현재 목록을 표시하려면 ktutil 명령을 사용합니다.

    자세한 내용은 "키 테이블에 키 목록(주체) 표시 방법"을 참고하십시오.

  4. ktremove 명령을 사용하여 키 테이블에서 주체를 삭제합니다.


    kadmin: ktremove[-k 키 테이블] [-q] 주체 [kvno | 전체 | 이전 ]

    -k 키 테이블

    키 테이블 파일을 지정합니다. 기본적으로 /etc/krb5/krb5.keytab이 사용됩니다.

    -q

    개괄적 정보를 표시합니다. 

    주체

    키 테이블에서 삭제할 주체. 

    kvno

    kvno(키 버전 번호)가 kvno와 일치하는 지정한 주체의 모든 항목을 삭제합니다.

    전체

    지정한 주체의 모든 항목을 삭제합니다. 

    이전

    지정한 주체에서 kvno가 가장 높은 항목을 제외한 모든 항목을 삭제합니다. 

  5. kadmin 명령을 종료합니다.


    kadmin: quit
    

예-키 테이블에서 서비스 주체 삭제

다음 예는 denver호스트 주체를 denver의 키 테이블 파일에서 삭제합니다.


denver # /usr/krb5/bin/kadmin
kadmin: ktremove host/denver.acme.com@ACME.COM
kadmin: kvno가 3인 host/denver.acme.com@ACME.COM 주체의 항목이 WRFILE:/etc/krb5/krb5.keytab 키 테이블에서 삭제되었습니다.
kadmin: quit

키 테이블에 키 목록(주체) 표시 방법

  1. 키 테이블이 있는 호스트의 수퍼유저가 됩니다.


    주 -

    다른 사용자가 소유한 키 테이블을 작성할 수 있지만 키 테이블의 기본 위치에 대한 루트 소유권이 있어야 합니다.


  2. ktutil 명령을 시작합니다.


    # /usr/krb5/bin/ktutil
    
  3. read_kt 명령을 사용하여 키 테이블을 키 목록 버퍼로 읽어 들입니다.


    ktutil: read_kt 키 테이블
    
  4. list 명령을 사용하여 키 목록 버퍼를 표시합니다.


    ktutil: list
    

    현재 키 목록 버퍼가 표시됩니다.

  5. ktutil 명령을 종료합니다.


    ktutil: quit
    

예-키 테이블에 키 목록(주체) 표시

다음 예는 denver 호스트에서 /etc/krb5/krb5.keytab 파일에 키 목록을 표시합니다.


denver # /usr/krb5/bin/ktutil
    ktutil: read_kt /etc/krb5/krb5.keytab
    ktutil: list
slot  KVNO  주체
 ---- ---- --------------------------------------- 
   1    5 host/denver@ACME.COM
     ktutil: quit

호스트에서 서비스 인증을 임시로 비활성화하는 방법

네트워크 응용 프로그램 서버에서 rlogin 또는 ftp와 같은 서비스의 인증 메커니즘을 임시로 비활성화해야 하는 경우가 있습니다. 예를 들어, 유지 보수 프로시저를 수행하는 동안 사용자가 시스템에 로그인할 수 없도록 해야 하는 경우입니다. kadmin 권한 없이도 ktutil명령으로 서버의 키 테이블에서 서비스 주체를 제거하여 로그인을 중지시킬 수 있습니다. 인증을 다시 활성화하려면, 저장했던 원래 키 테이블을 원래 위치로 다시 복사만 하면 됩니다.


주 -

대부분의 서비스는 기본적으로 인증이 필요하도록 설정되어 있습니다. 그렇지 않으면 서비스의 인증을 비활성화해도 서비스가 계속 작동합니다.


  1. 키 테이블이 있는 호스트의 수퍼유저가 됩니다.


    주 -

    다른 사용자가 소유한 키 테이블을 작성할 수 있지만 키 테이블의 기본 위치에 대한 루트 소유권이 있어야 합니다.


  2. 현재 키 테이블을 임시 파일로 저장합니다.

  3. ktutil 명령을 시작합니다.


    # /usr/krb5/bin/ktutil
    
  4. read_kt 명령을 사용하여 키 테이블을 키 목록 버퍼로 읽어 들입니다.


    ktutil: read_kt 키 테이블
    
  5. list 명령을 사용하여 키 목록 버퍼를 표시합니다.


    ktutil: 목록
    

    현재 키 목록 버퍼가 표시됩니다. 비활성화할 서비스의 슬롯 번호를 확인합니다.

  6. 호스트의 서비스를 임시로 비활성화하려면, delete_entry 명령을 사용하여 키 목록 버퍼에서 특정 서비스 주체를 삭제합니다.


    ktutil: delete_entry slot_number
    

    slot_number

    삭제할 서비스 주체의 슬롯 번호로서, list 명령에 의해 표시됩니다.

  7. write_kt 명령을 사용하여 키 목록 버퍼를 키 테이블에 씁니다.


    ktutil: write_kt 키 테이블
    
  8. ktutil 명령을 종료합니다.


    ktutil: quit
    
  9. 서비스를 다시 활성화하려면 임시(원래) 키 테이블을 원래 위치로 다시 복사합니다.

예-호스트에서 서비스를 임시로 비활성화

다음 예는 denver 호스트에서 호스트 서비스를 임시로 비활성화합니다. denver에서 호스트 서비스를 다시 활성화하려면, krb5.keytab.temp 파일을 /etc/krb5/krb5.keytab 파일로 복사합니다.


denver # cp /etc/krb5/krb5.keytab /etc/krb5/krb5.keytab.temp
denver # /usr/krb5/bin/ktutil
    ktutil:read_kt /etc/krb5/krb5.keytab
    ktutil:list
slot  KVNO 주체
---- ---- ---------------------------------------
   1    8 root/denver@ACME.COM
   2    5 host/denver@ACME.COM
    ktutil:delete_entry 2
    ktutil:list
slot KVNO 주체
---- ---- --------------------------------------
   1    8 root/denver@ACME.COM
    ktutil:write_kt /etc/krb5/krb5.keytab
    ktutil: quit