ナビゲーションリンクをスキップ | |
印刷ビューの終了 | |
Oracle Solaris 11.1 の管理: セキュリティーサービス Oracle Solaris 11.1 Information Library (日本語) |
パート II システム、ファイル、およびデバイスのセキュリティー
10. Oracle Solaris のセキュリティー属性 (参照)
22. Kerberos エラーメッセージとトラブルシューティング
新しい Kerberos 主体を作成するときのデフォルトを設定する方法
Kerberos 管理権限を制限して SEAM ツールを使用する
サービスを提供するすべてのホストには、「キータブ」 (「鍵テーブル」の短縮名) と呼ばれるローカルファイルが必要です。キータブには、「サービス鍵」と呼ばれる該当するサービスの主体が格納されます。サービス鍵は、KDC に対してサービス自身を認証するときに使用され、Kerberos とそのサービスだけが認識します。たとえば、Kerberos NFS サーバーを使用する場合、そのサーバーには nfs サービス主体を含むキータブが必要です。
キータブファイルにサービス鍵を追加するには、kadmin の ktadd コマンドを使用して、適切なサービス主体をホストのキータブファイルに追加します。サービス主体をキータブファイルに追加するときは、Kerberos データベースにあらかじめ主体を登録し、kadmin がその存在を検証できるようにする必要があります。Kerberos サービスを提供するアプリケーションサーバーでは、キータブファイルのデフォルトの位置は /etc/krb5/krb5.keytab です。
キータブはユーザーのパスワードに似ています。ユーザーの場合は、自分のパスワードを保護することが重要ですが、アプリケーションサーバーの場合は、キータブファイルを保護することが重要です。キータブファイルは常時ローカルディスクに格納し、root ユーザー以外は読み取れないようにしてください。また、キータブファイルは、セキュリティー保護されていないネットワークを介して送信しないでください。
root 主体をホストのキータブファイルに追加する特別な場合もあります。Kerberos クライアント上のユーザーが root と同等のアクセスを必要とする Kerberos NFS ファイルシステムをマウントするようにするには、クライアントの root 主体をクライアントのキータブファイルに追加する必要があります。そうしない場合は、root アクセスで Kerberos NFS ファイルシステムをマウントするたびに、ユーザーは kinit コマンドを root として使用して、クライアントの root 主体の資格を取得する必要があります。これは、オートマウンタを使用している場合でも同様です。
キータブファイルを管理するときに、ktutil コマンドも使用できます。この対話型のコマンドは、Kerberos 管理権限がなくても、ローカルホストのキータブファイルを管理できます。kadmin は Kerberos データベースと対話しますが、ktutil は対話しないためです。つまり、主体をキータブファイルに追加したあとに 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
例 23-16 サービス主体のキータブファイルへの追加
次の例では、denver の host 主体を denver のキータブファイルに追加し、KDC が 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
例 23-17 キータブファイルからのサービス主体の削除
次の例では、denver の host 主体を denver のキータブファイルから削除します。
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
例 23-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
例 23-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