Solaris のシステム管理 (セキュリティサービス)

Kerberos 主体の管理

この節では、SEAM ツールを使用して主体を管理する手順について説明します。また、対応するコマンド行がある場合は、その例も示します。

Kerberos 主体の管理 (作業マップ)

作業 

説明 

参照先 

主体の一覧を表示します。 

「Principals」タブをクリックして、主体の一覧を表示します。 

「Kerberos 主体の一覧を表示する方法」

主体の属性を表示します。 

「Principal List」の「Principal」を選択し、「Modify」ボタンをクリックして、主体の属性を表示します。 

「Kerberos 主体の属性を表示する方法」

新しい主体を作成します。 

「Principal List」パネルの「Create New」ボタンをクリックして、新しい主体を作成します。 

「新しい Kerberos 主体を作成する方法」

主体を複製します。 

「Principal List」から複製する主体を選択し、「Duplicate」ボタンをクリックして、主体を複製します。 

「Kerberos 主体を複製する方法」

主体を変更します。 

「Principal List」から変更する主体を選択し、「Modify」ボタンをクリックして、主体を変更します。 

主体名は変更できません。主体名を変更するときは、主体を複製し、新しい名前を指定して保存してから、古い主体を削除する必要があります。 

「Kerberos 主体を変更する方法」

主体を削除します。 

「Principal List」から削除する主体を選択し、「Delete」ボタンをクリックして、主体を削除します。 

「Kerberos 主体を削除する方法」

新しい主体を作成するときのデフォルトを設定します。 

「Edit」メニューから「Properties」を選択して、新しい主体を作成するときのデフォルトを設定します。 

「新しい Kerberos 主体を作成するときのデフォルトを設定する方法」

Kerberos 管理権限 (kadm5.acl ファイル) を変更します。

コマンド行のみ。Kerberos 管理権限により、主体が Kerberos データベースに対して実行できる操作 (追加、変更など) が決定されます。

各主体の Kerberos 管理権限を変更するときは、/etc/krb5/kadm5.acl ファイルを編集する必要があります。

「Kerberos 管理権限を変更する方法」

新しい Kerberos 主体の自動作成

SEAM Toolは簡単に使用できますが、新しい主体を自動作成することができません。10 個または 100 個などの新しい主体を短時間で作成する場合は、自動作成を利用すると便利です。Bourne シェルスクリプトで kadmin.local コマンドを使用すると、主体を自動作成できます。

次のシェルスクリプト行は、新しい主体を自動作成する方法の例を示します。


awk '{ print "ank +needchange -pw", $2, $1 }' < /tmp/princnames | 
        time /usr/sbin/kadmin.local> /dev/null

この例は、見やすいように 2 行に分割しています。このスクリプトは、princnames というファイルを読み込んで、そこに含まれている主体名とそのパスワードを Kerberos データベースに追加します。princnames ファイルをあらかじめ作成する必要があります。このファイルの各行には、主体とそのパスワードを 1 つ以上の空白で区切って指定します。主体に +needchange オプションを指定すると、ユーザーがその主体を使用して初めてログインしたときに、新しいパスワードを要求するプロンプトが表示されます。この方法を使用すると、princnames ファイル内のパスワードのセキュリティーが向上します。

より複雑なスクリプトも作成できます。たとえば、ネームサービスの情報を使用して、主体名に対応するユーザー名の一覧を取得できます。必要な作業とその方法は、使用環境要件とスクリプト使用技術によって決まります。

ProcedureKerberos 主体の一覧を表示する方法

対応するコマンド行の例は、この手順のあとに示します。

  1. 必要に応じて、SEAM ツールを起動します。

    詳細は、「SEAM ツールを起動する方法」を参照してください。


    $ /usr/sbin/gkadmin
    
  2. 「Principals」タブをクリックします。

    主体の一覧が表示されます。

    「Seam Administration Tool」というタイトルのダイアログボックスに、主体の一覧と一覧のフィルタが表示されています。「Modify」、「Create New」、「Delete」、「Duplicate」ボタンが表示されています。
  3. 特定の主体を表示するか、主体の部分リストを表示します。

    「Filter」フィールドにフィルタ文字列を入力して、Return キーを押します。フィルタが正常終了すると、フィルタに一致する主体の一覧が表示されます。

    フィルタ文字列は、1 文字以上の文字列である必要があります。フィルタメカニズムでは大文字と小文字が区別されるため、大文字と小文字を正しく指定する必要があります。たとえば、フィルタ文字列に ge と入力すると、主体名に文字列 ge を含む主体 (georgeedge など) だけが表示されます。

    すべての主体を表示するには、「Clear Filter」をクリックします。


例 25–1 Kerberos 主体の一覧の表示 (コマンド行)

次の例では、kadminlist_principals コマンドを使用して、kadmin* と一致するすべての主体を表示します。list_principals コマンドでは、ワイルドカードを使用できます。


kadmin: list_principals kadmin*
kadmin/changepw@EXAMPLE.COM
kadmin/kdc1.example.con@EXAMPLE.COM
kadmin/history@EXAMPLE.COM
kadmin: quit

ProcedureKerberos 主体の属性を表示する方法

対応するコマンド行の例は、この手順のあとに示します。

  1. 必要に応じて、SEAM ツールを起動します。

    詳細は、「SEAM ツールを起動する方法」を参照してください。


    $ /usr/sbin/gkadmin
    
  2. 「Principals」タブをクリックします。

  3. 表示する主体を一覧から選択して、「Modify」をクリックします。

    「Principal Basic」パネルが表示され、主体の属性の一部が示されます。

  4. 「Next」をクリックして、主体のすべての属性を表示します。

    属性情報は、3 つのウィンドウに表示されます。「Help」メニューから「Context-Sensitive Help」を選択すると、各ウィンドウの属性に関する情報が表示されます。主体のすべての属性の説明については、「SEAM ツールパネルの説明」を参照してください。

  5. 表示を終了する場合は、「Cancel」をクリックします。


例 25–2 Kerberos 主体の属性の表示

次の例は、jdb/admin 主体を表示したときの最初のウィンドウです。

「SEAM Administration Tool」というタイトルのダイアログボックスに、jdb/admin 主体のアカウントデータが表示されています。アカウントデータの有効期限とコメントが表示されています。

例 25–3 Kerberos 主体の属性の表示 (コマンド行)

次の例では、kadminget_principal コマンドを使用して、jdb/admin 主体の属性を表示します。


kadmin: getprinc jdb/admin
Principal: jdb/admin@EXAMPLE.COM

Expiration date: [never]
Last password change: [never]

Password expiration date: Wed Apr 14 11:53:10 PDT 2011
Maximum ticket life: 1 day 16:00:00
Maximum renewable life: 1 day 16:00:00
Last modified: Mon Sep 28 13:32:23 PST 2009 (host/admin@EXAMPLE.COM)
Last successful authentication: [never]
Last failed authentication: [never]
Failed password attempts: 0
Number of keys: 1
Key: vno 1, AES-256 CTS mode with 96-bit SHA-1 HMAC, no salt
Key: vno 1, AES-128 CTS mode with 96-bit SHA-1 HMAC, no salt
Key: vno 1, Triple DES with HMAC/sha1, no salt
Key: vno 1, ArcFour with HMAC/md5, no salt
Key: vno 1, DES cbc mode with RSA-MD5, no salt
Attributes: REQUIRES_HW_AUTH
Policy: [none]
kadmin: quit

Procedure新しい Kerberos 主体を作成する方法

対応するコマンド行の例は、この手順のあとに示します。

  1. 必要に応じて、SEAM ツールを起動します。

    詳細は、「SEAM ツールを起動する方法」を参照してください。


    注 –

    新しい主体を作成するときに、新しいポリシーが必要な場合は、新しいポリシーを作成してから新しい主体を作成する必要があります。「新しい Kerberos ポリシーを作成する方法」を参照してください。



    $ /usr/sbin/gkadmin
    
  2. 「Principals」タブをクリックします。

  3. 「New」をクリックします。

    「Principal Basics」パネルが表示され、主体の属性の一部が示されます。

  4. 主体名とパスワードを指定します。

    主体名とパスワードは必須です。

  5. 主体の暗号化タイプを指定します。

    暗号化鍵タイプフィールドの右にあるボックスをクリックして、使用可能なすべての暗号化鍵タイプを表示する新しいウィンドウを開きます。必須の暗号化タイプを選択してから、「OK」をクリックします。

    「SEAM Encryption Type List Helper」というタイトルのダイアログボックスに、インストール済みのすべての暗号化タイプが表示されます。
  6. 主体のポリシーを指定します。

  7. 主体の属性に値を指定します。「Next」をクリックして、属性の値を必要に応じて指定します。

    属性情報は、3 つのウィンドウに表示されます。「Help」メニューから「Context-Sensitive Help」を選択すると、各ウィンドウの属性に関する情報が表示されます。主体のすべての属性の説明については、「SEAM ツールパネルの説明」を参照してください。

  8. 主体を保存する場合は、「Save」をクリックします。または、最後のパネルで「Done」をクリックします。

  9. 必要に応じて、新しい主体の Kerberos 管理権限を /etc/krb5/kadm5.acl ファイルに設定します。

    詳細は、「Kerberos 管理権限を変更する方法」を参照してください。


例 25–4 新しい Kerberos 主体の作成

次の例は、pak という新しい主体を作成するときの「Principal Basics」パネルです。ポリシーには、testuser が設定されています。

「SEAM Administration Tool」というタイトルのダイアログボックスに、pak 主体のアカウントデータが表示されています。パスワード、アカウントの有効期限、および testuser のポリシーが表示されています。

例 25–5 新しい Kerberos 主体の作成 (コマンド行)

次の例では、kadminadd_principal コマンドを使用して、 pak という新しい主体を作成します。この主体のポリシーには、testuser が設定されています。


kadmin: add_principal -policy testuser pak
Enter password for principal "pak@EXAMPLE.COM": <Type the password>
Re-enter password for principal "pak@EXAMPLE.COM": <Type the password again>
Principal "pak@EXAMPLE.COM" created.
kadmin: quit

ProcedureKerberos 主体を複製する方法

この手順では、既存の主体の一部またはすべてを使用して、新しい主体を作成する方法について説明します。この手順に対応するコマンド行はありません。

  1. 必要に応じて、SEAM ツールを起動します。

    詳細は、「SEAM ツールを起動する方法」を参照してください。


    $ /usr/sbin/gkadmin
    
  2. 「Principals」タブをクリックします。

  3. 複製する主体を一覧から選択して、「Duplicate」をクリックします。

    「Principal Basics」パネルが表示されます。選択した主体のすべての属性が複製されます。ただし、「Principal Name」と「Password」フィールドは複製されず、空で表示されます。

  4. 主体名とパスワードを指定します。

    主体名とパスワードは必須です。選択した主体をそのまま複製するときは、「Save」をクリックして、手順 7 に進みます。

  5. 主体の属性に別の値を指定します。「Next」をクリックして、属性の値を必要に応じて指定します。

    属性情報は、3 つのウィンドウに表示されます。「Help」メニューから「Context-Sensitive Help」を選択すると、各ウィンドウの属性に関する情報が表示されます。主体のすべての属性の説明については、「SEAM ツールパネルの説明」を参照してください。

  6. 主体を保存する場合は、「Save」をクリックします。または、最後のパネルで「Done」をクリックします。

  7. 必要に応じて、主体の Kerberos 管理権限を /etc/krb5/kadm5.acl ファイルに設定します。

    詳細は、「Kerberos 管理権限を変更する方法」を参照してください。

ProcedureKerberos 主体を変更する方法

対応するコマンド行の例は、この手順のあとに示します。

  1. 必要に応じて、SEAM ツールを起動します。

    詳細は、「SEAM ツールを起動する方法」を参照してください。


    $ /usr/sbin/gkadmin
    
  2. 「Principals」タブをクリックします。

  3. 変更する主体を一覧から選択して、「Modify」をクリックします。

    「Principal Basic」パネルが表示され、主体の属性の一部が示されます。

  4. 主体の属性を変更します。「Next」をクリックして、必要に応じて属性を変更します。

    属性情報は、3 つのウィンドウに表示されます。「Help」メニューから「Context-Sensitive Help」を選択すると、各ウィンドウの属性に関する情報が表示されます。主体のすべての属性の説明については、「SEAM ツールパネルの説明」を参照してください。


    注 –

    主体名は変更できません。主体名を変更するときは、主体を複製し、新しい名前を指定して保存してから、古い主体を削除する必要があります。


  5. 主体を保存する場合は、「Save」をクリックします。または、最後のパネルで「Done」をクリックします。

  6. /etc/krb5/kadm5.acl ファイルで、主体の Kerberos 管理権限を変更します。

    詳細は、「Kerberos 管理権限を変更する方法」を参照してください。


例 25–6 Kerberos 主体のパスワードの変更 (コマンド行)

次の例では、kadminchange_password コマンドを使用して、jdb 主体のパスワードを変更します。change_password コマンドでは、主体のパスワード履歴に存在するパスワードには変更できません。


kadmin: change_password jdb
Enter password for principal "jdb": <Type the new password>
Re-enter password for principal "jdb": <Type the password again>
Password for "jdb@EXAMPLE.COM" changed.
kadmin: quit

主体のその他の属性を変更するには、kadminmodify_principal コマンドを使用する必要があります。


ProcedureKerberos 主体を削除する方法

対応するコマンド行の例は、この手順のあとに示します。

  1. 必要に応じて、SEAM ツールを起動します。

    詳細は、「SEAM ツールを起動する方法」を参照してください。


    $ /usr/sbin/gkadmin
    
  2. 「Principals」タブをクリックします。

  3. 削除する主体を一覧から選択して、「Delete」をクリックします。

    削除を確定すると、主体が削除されます。

  4. Kerberos アクセス制御リスト (ACL) ファイル /etc/krb5/kadm5.acl から主体を削除します。

    詳細は、「Kerberos 管理権限を変更する方法」を参照してください。


例 25–7 Kerberos 主体の削除 (コマンド行)

次の例では、kadmindelete_principal コマンドを使用して、jdb 主体を削除します。


kadmin: delete_principal pak
Are you sure you want to delete the principal "pak@EXAMPLE.COM"? (yes/no): yes
Principal "pak@EXAMPLE.COM" deleted.
Make sure that you have removed this principal from all ACLs before reusing.
kadmin: quit

Procedure新しい Kerberos 主体を作成するときのデフォルトを設定する方法

この手順に対応するコマンド行はありません。

  1. 必要に応じて、SEAM ツールを起動します。

    詳細は、「SEAM ツールを起動する方法」を参照してください。


    $ /usr/sbin/gkadmin
    
  2. 「Edit」メニューから「Properties」を選択します。

    「Properties」ウィンドウが表示されます。

    「Properties」というタイトルのダイアログボックスに、新しい主体とリストコントロールのデフォルトが表示されています。主体のデフォルトには、セキュリティーやその他のオプションが含まれます。
  3. 新しい主体を作成するときに使用するデフォルトを選択します。

    「Help」メニューから「Context-Sensitive Help」を選択すると、各ウィンドウの属性に関する情報が表示されます。

  4. 「Save」をクリックします。

ProcedureKerberos 管理権限を変更する方法

使用する環境には、多くのユーザー主体が登録されていると思われます。しかし、Kerberos データベースの管理者は通常、少数のユーザーだけに割り当てます。Kerberos データベースを管理する権限は、Kerberos アクセス制御リスト (ACL) ファイル (kadm5.acl) によって判断されます。kadm5.acl ファイルを使用すると、主体ごとに権限を設定できます。主体名にワイルドカード (*) を使用すると、複数の主体に権限を指定できます。

  1. マスター KDC 上でスーパーユーザーになります。

  2. /etc/krb5/kadm5.acl ファイルを編集します。

    kadm5.acl ファイルのエントリは、次の書式で記述する必要があります。


    principal privileges [principal-target]

    principal

    権限を与える主体を指定します。主体名の任意の場所にワイルドカード (*) を使用できます。複数の主体グループに同じ権限を与えるときに使用します。たとえば、admin インスタンスを持つすべての主体を指定する場合は、*/admin@realm を使用します。

    admin インスタンスは通常、個別の権限 (Kerberos データベースへの管理アクセス権など) を個別の Kerberos 主体に許可するときに使用します。たとえば、ユーザー jdb が、jdb/admin という管理目的の主体を持つとします。この場合、ユーザー jdb は、この権限を実際に使用するときにだけ、jdb/admin チケットを取得します。

    privileges

    主体が実行できる操作または実行できない操作を指定します。このフィールドは、次に示す 1 つまたは複数の文字列 (またはその大文字) の組み合わせから構成されます。大文字の指定、または指定なしは許可されません。小文字の指定は許可されます。 

     

    a

    主体またはポリシーの追加を許可する/しない。 

     

    d

    主体またはポリシーの削除を許可する/しない。 

     

    m

    主体またはポリシーの変更を許可する/しない。 

     

    c

    主体のパスワードの変更を許可する/しない。 

     

    i

    Kerberos データベースの照会を許可する/しない。 

     

    l

    Kerberos データベース内の主体またはポリシーの一覧表示を許可する/しない。 

     

    x または *

    すべての権限 (admcil) を許可する。

    principal-target

    このフィールドに主体を指定すると、principal の操作が principal-target の場合にだけ、privilegesprincipal に適用されます。主体名の任意の場所にワイルドカード (*) を使用できます。主体をグループ化するときに使用します。


例 25–8 Kerberos 管理権限の変更

kadm5.acl ファイル内の次のエントリは、EXAMPLE.COM レルム内で admin インスタンスを持つ すべての主体に対して、Kerberos データベース上のすべての権限を与えます。


*/admin@EXAMPLE.COM *

kadm5.acl ファイル内の次のエントリは、jdb@EXAMPLE.COM 主体に対して、root インスタンスを持つすべての主体に関する追加、一覧表示、および照会の権限を与えます。


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