ナビゲーションリンクをスキップ | |
印刷ビューの終了 | |
![]() |
Solaris のシステム管理: セキュリティーサービス Oracle Solaris 10 1/13 Information Library (日本語) |
パート II システム、ファイル、およびデバイスのセキュリティー
13. Oracle Solaris の暗号化フレームワーク (概要)
14. Oracle Solaris の暗号化フレームワーク (タスク)
24. Kerberos エラーメッセージとトラブルシューティング
新しい Kerberos 主体を作成するときのデフォルトを設定する方法
Kerberos 管理権限を制限して SEAM ツールを使用する
26. Kerberos アプリケーションの使用 (タスク)
サービスを提供するすべてのホストには、キータブ (「鍵テーブル」の短縮名) と呼ばれるローカルファイルが必要です。キータブには、「サービス鍵」と呼ばれる該当するサービスの主体が格納されます。サービス鍵は、KDC に対してサービス自身を認証するときに使用され、Kerberos とそのサービスだけが認識します。たとえば、Kerberos NFS サーバーが存在する場合、そのサーバーには nfs サービス主体を含むキータブファイルが必要です。
キータブファイルにサービス鍵を追加するには、kadmin の ktadd コマンドを使用して、適切なサービス主体をホストのキータブファイルに追加します。サービス主体をキータブファイルに追加しているため、kadmin がその存在を確認できるように、その主体がすでに Kerberos データベース内に存在している必要があります。マスター KDC では、キータブファイルのデフォルトの位置は /etc/krb5/kadm5.keytab です。Kerberos サービスを提供するアプリケーションサーバーでは、キータブファイルのデフォルトの位置は /etc/krb5/krb5.keytab です。
キータブはユーザーのパスワードに似ています。ユーザーの場合は、自分のパスワードを保護することが重要ですが、アプリケーションサーバーの場合は、キータブファイルを保護することが重要です。キータブファイルは常時ローカルディスクに格納し、root ユーザー以外は読み取れないようにしてください。また、キータブファイルは、セキュリティー保護されていないネットワークを介して送信しないでください。
また、root 主体をホストのキータブファイルに追加する特殊な場合も存在します。Kerberos クライアント上のユーザーが root と同等のアクセスを必要とする Kerberos NFS ファイルシステムをマウントするようにするには、クライアントの root 主体をクライアントのキータブファイルに追加する必要があります。それ以外の場合は、root アクセスで Kerberos NFS ファイルシステムをマウントしようとする場合は常に、オートマウンタを使用している場合であっても、ユーザーは root として kinit コマンドを使用して、クライアントの root 主体の資格を取得する必要があります。
キータブファイルを管理するために使用できる別のコマンドに、ktutil コマンドがあります。kadmin とは異なり、ktutil は Kerberos データベースと対話しないため、この対話型のコマンドを使用すると、Kerberos 管理権限を持っていなくてもローカルホストのキータブファイルを管理できます。つまり、主体をキータブファイルに追加したあとに ktutil を使用すると、キータブファイル内のキー一覧を表示したり、サービスの認証を一時的に無効にしたりできます。
注 - kadmin の ktadd コマンドを使用してキータブファイル内の主体を変更すると、新しい鍵が生成され、キータブファイルに追加されます。
|
詳細は、「Kerberos 主体の一覧を表示する方法」を参照してください。
# /usr/sbin/kadmin
kadmin: ktadd [-e enctype] [-k keytab] [-q] [principal | -glob principal-exp]
krb5.conf ファイルで定義された暗号化タイプの一覧をオーバーライドします。
キータブファイルを指定します。デフォルトでは、/etc/krb5/krb5.keytab が使用されます。
冗長な情報を表示しません。
キータブファイルに追加する主体を指定します。追加できるサービス主体は、次のとおりです: host、root、nfs、および ftp。
主体表現を指定します。principal-exp に一致するすべての主体が、キータブファイルに追加されます。主体表現の規則は、kadmin の list_principals コマンドと同じです。
kadmin: quit
例 25-16 サービス主体のキータブファイルへの追加
次の例では、kadmin/kdc1.example.com および changepw/kdc1.example.com 主体をマスター KDC のキータブファイルに追加しています。この例のキータブファイルは、kdc.conf ファイルで指定されている必要があります。
kdc1 # /usr/sbin/kadmin.local kadmin.local: ktadd -k /etc/krb5/kadm5.keytab kadmin/kdc1.example.com changepw/kdc1.example.com Entry for principal kadmin/kdc1.example.com with kvno 3, encryption type AES-256 CTS mode with 96-bit SHA-1 HMAC added to keytab WRFILE:/etc/krb5/kadm5.keytab. Entry for principal kadmin/kdc1.example.com with kvno 3, encryption type AES-128 CTS mode with 96-bit SHA-1 HMAC added to keytab WRFILE:/etc/krb5/kadm5.keytab. Entry for principal kadmin/kdc1.example.com with kvno 3, encryption type Triple DES cbc mode with HMAC/sha1 added to keytab WRFILE:/etc/krb5/kadm5.keytab. Entry for principal kadmin/kdc1.example.com with kvno 3, encryption type ArcFour with HMAC/md5 added to keytab WRFILE:/etc/krb5/kadm5.keytab. Entry for principal kadmin/kdc1.example.com with kvno 3, encryption type DES cbc mode with RSA-MD5 added to keytab WRFILE:/etc/krb5/kadm5.keytab. Entry for principal changepw/kdc1.example.com with kvno 3, encryption type AES-256 CTS mode with 96-bit SHA-1 HMAC added to keytab WRFILE:/etc/krb5/kadm5.keytab. Entry for principal changepw/kdc1.example.com with kvno 3, encryption type AES-128 CTS mode with 96-bit SHA-1 HMAC added to keytab WRFILE:/etc/krb5/kadm5.keytab. Entry for principal changepw/kdc1.example.com with kvno 3, encryption type Triple DES cbc mode with HMAC/sha1 added to keytab WRFILE:/etc/krb5/kadm5.keytab. Entry for principal changepw/kdc1.example.com with kvno 3, encryption type ArcFour with HMAC/md5 added to keytab WRFILE:/etc/krb5/kadm5.keytab. Entry for principal changepw/kdc1.example.com with kvno 3, encryption type DES cbc mode with RSA-MD5 added to keytab WRFILE:/etc/krb5/kadm5.keytab. kadmin.local: quit
次の例では、KDC が denver のネットワークサービスを認証できるように、denver の host 主体が denver のキータブファイルに追加されます。
denver # /usr/sbin/kadmin kadmin: ktadd host/denver.example.com Entry for principal host/denver.example.com with kvno 3, encryption type AES-256 CTS mode with 96-bit SHA-1 HMAC added to keytab WRFILE:/etc/krb5/krb5.keytab. Entry for principal host/denver.example.com with kvno 3, encryption type AES-128 CTS mode with 96-bit SHA-1 HMAC added to keytab WRFILE:/etc/krb5/krb5.keytab. Entry for principal host/denver.example.com with kvno 3, encryption type Triple DES cbc mode with HMAC/sha1 added to keytab WRFILE:/etc/krb5/krb5.keytab. Entry for principal host/denver.example.com with kvno 3, encryption type ArcFour with HMAC/md5 added to keytab WRFILE:/etc/krb5/krb5.keytab. Entry for principal host/denver.example.com with kvno 3, encryption type DES cbc mode with RSA-MD5 added to keytab WRFILE:/etc/krb5/krb5.keytab. kadmin: quit
# /usr/sbin/kadmin
詳細な手順は、「キータブファイル内のキー一覧 (主体) を表示する方法」を参照してください。
kadmin: ktremove [-k keytab] [-q] principal [kvno | all | old ]
キータブファイルを指定します。デフォルトでは、/etc/krb5/krb5.keytab が使用されます。
冗長な情報を表示しません。
キータブファイルから削除する主体を指定します。
指定された主体のうち、鍵のバージョン番号が kvno と一致する主体のすべてのエントリを削除します。
指定された主体のすべてのエントリを削除します。
指定した主体のすべてのエントリを削除します。ただし、鍵のバージョン番号が最上位の主体は削除しません。
kadmin: quit
例 25-17 キータブファイルからのサービス主体の削除
次の例では、denver のキータブファイルから denver の host 主体が削除されます。
denver # /usr/sbin/kadmin kadmin: ktremove host/denver.example.com@EXAMPLE.COM kadmin: Entry for principal host/denver.example.com@EXAMPLE.COM with kvno 3 removed from keytab WRFILE:/etc/krb5/krb5.keytab. kadmin: quit
注 - ほかのユーザーによって所有されるキータブファイルを作成できますが、キータブファイルのデフォルトの場所を使用するには root 所有権が必要です。
# /usr/bin/ktutil
ktutil: read_kt keytab
ktutil: list
現在のキー一覧バッファーが表示されます。
ktutil: quit
例 25-18 キータブファイル内のキー一覧 (主体) の表示
次の例では、denver ホストの /etc/krb5/krb5.keytab ファイル内のキー一覧を表示します。
denver # /usr/bin/ktutil ktutil: read_kt /etc/krb5/krb5.keytab ktutil: list slot KVNO Principal ---- ---- --------------------------------------- 1 5 host/denver@EXAMPLE.COM ktutil: quit
ネットワークアプリケーションサーバー上で、サービスの認証メカニズム (rlogin や ftp など) を一時的に無効にすることが必要になる場合があります。たとえば、保守作業中は、ユーザーがシステムにログインできないようにする必要があります。ktutil コマンドを使用すると、kadmin 特権を必要とすることなく、サーバーのキータブファイルからサービス主体を削除することによってこのタスクを実行できます。認証を再度有効にするには、保存した元のキータブファイルを元の位置にコピーするだけです。
注 - デフォルトでは、ほとんどのサービスが認証を要求するように設定されています。そのように設定されていないときは、サービスの認証を無効にした場合でもサービスは動作します。
注 - ほかのユーザーによって所有されるキータブファイルを作成できますが、キータブファイルのデフォルトの場所を使用するには root 所有権が必要です。
# /usr/bin/ktutil
ktutil: read_kt keytab
ktutil: list
現在のキー一覧バッファーが表示されます。無効にするサービスのスロット番号を記録します。
ktutil: delete_entry slot-number
この例では、slot-number に、削除するサービス主体のスロット番号を指定します。スロット番号は、list コマンドで表示できます。
ktutil: write_kt new-keytab
ktutil: quit
# mv new-keytab keytab
例 25-19 ホスト上のサービスを一時的に無効にする
次の例では、denver ホスト上の host サービスが一時的に無効になります。denver 上のホストサービスをふたたび有効にするには、krb5.keytab.temp ファイルを /etc/krb5/krb5.keytab ファイルにコピーします。
denver # cp /etc/krb5/krb5.keytab /etc/krb5/krb5.keytab.temp denver # /usr/bin/ktutil ktutil:read_kt /etc/krb5/krb5.keytab ktutil:list slot KVNO Principal ---- ---- --------------------------------------- 1 8 root/denver@EXAMPLE.COM 2 5 host/denver@EXAMPLE.COM ktutil:delete_entry 2 ktutil:list slot KVNO Principal ---- ---- -------------------------------------- 1 8 root/denver@EXAMPLE.COM ktutil:write_kt /etc/krb5/new.krb5.keytab ktutil: quit denver # cp /etc/krb5/new.krb5.keytab /etc/krb5/krb5.keytab