ナビゲーションリンクをスキップ | |
印刷ビューの終了 | |
Oracle Solaris 11.1 の管理: セキュリティーサービス Oracle Solaris 11.1 Information Library (日本語) |
パート II システム、ファイル、およびデバイスのセキュリティー
10. Oracle Solaris のセキュリティー属性 (参照)
22. Kerberos エラーメッセージとトラブルシューティング
24. Kerberos アプリケーションの使用 (タスク)
Kerberos サービスによる DNS および nsswitch サービスとの対話処理方法
暗号化タイプは、暗号処理が実行されるときに使用する暗号アルゴリズムとモードを特定します。aes、des3-cbc-sha1、および rc4-hmac 暗号化タイプによって、より強固な暗号処理のために使用される鍵を作成できます。これらの強固な操作により、Kerberos サービスのセキュリティー全体が向上します。
クライアントが KDC にチケットを要求する場合、KDC はクライアントとサーバーで互換性のある暗号化タイプの鍵を使用する必要があります。Kerberos プロトコルでは、KDC がチケット応答のクライアント部分に対して特定の暗号化タイプを使用するようクライアントが要求することができます。しかし、サーバーが KDC に対して暗号化タイプを指定することはできません。
注 - Solaris 10 が動作していないマスター KDC がインストールされている場合は、マスター KDC をアップグレードする前に、スレーブ KDC を Solaris 10 にアップグレードする必要があります。Solaris 10 のマスター KDC では、古いスレーブが処理できない新しい暗号化タイプが使用されます。
次に、暗号化タイプを変更する前に考慮する必要があるいくつかの問題を説明します。
KDC では、主体データベースのサーバー主体エントリに関連する最初の鍵/暗号化タイプはサーバーによってサポートされているものとします。
KDC 上で、主体に対して生成される鍵が、主体が認証されるシステムと互換性があるかを確認してください。デフォルトで、kadmin コマンドは、サポートされるすべての暗号化タイプの鍵を生成します。主体を使用するシステムがこの暗号化タイプのデフォルトのセットをサポートしていない場合、主体の作成時に暗号化タイプを制限する必要があります。暗号化タイプは、kadmin addprinc で -e フラグを使用するか、または kdc.conf ファイルの supported_enctypes パラメータを設定することで、そのサブセットに制限できます。Kerberos レルムの大部分のシステムがデフォルトの暗号化タイプのサブセットをサポートしている場合に、supported_enctypes パラメータを使用します。supported_enctypes の設定では、kadmin addprinc が特定のレルムに対して主体を作成するときに使用する暗号化タイプのデフォルトのセットが指定されます。一般的に、これら 2 つの方法のうち 1 つを使用して、Kerberos が使用する暗号化タイプを制御します。
システムがサポートする暗号化タイプを決定するときは、システムで実行する Kerberos のバージョンと、サーバー主体の作成対象のサーバーアプリケーションがサポートする暗号アルゴリズムとを考慮します。たとえば、nfs/hostname サービス主体を作成するときは、ホスト上の NFS サーバーがサポートするタイプに暗号化タイプを制限します。Solaris 10 リリースでは、サポートされるすべての Kerberos 暗号化タイプが NFS サーバーでもサポートされることに注意してください。
kdc.conf ファイルの master_key_enctype パラメータを使用して、主体データベースのエントリを暗号化するマスター鍵の暗号化タイプを制御できます。KDC 主体データベースが既に作成済みの場合は、このパラメータを使用しないでください。データベースの作成時に master_key_enctype パラメータを使用して、デフォルトのマスター鍵の暗号化タイプを des-cbc-crc からより強固な暗号化タイプに変更できます。スレーブ KDC を構成するときに、すべてのスレーブ KDC が選択された暗号化タイプをサポートし、それらの kdc.conf に同一の master_key_enctype エントリがあることを確認してください。また、supported_enctypes が kdc.conf で設定されている場合は、master_key_enctype が supported_enctypes の暗号化タイプのうちの 1 つに設定されていることも確認してください。これらの問題のいずれかが適切に処理されない場合、マスター KDC はスレーブ KDC と連携できない可能性があります。
クライアント上で、krb5.conf のパラメータのいくつかを使用して、KDC からチケットを取得するときにクライアントが要求する暗号化タイプを制御できます。default_tkt_enctypes パラメータには、クライアントが KDC からチケット認可チケット (TGT) を要求するときに使用する暗号化タイプを指定します。TGT は、より効果的な方法でほかのサーバーチケットを取得するためにクライアントにより使用されます。default_tkt_enctypes を設定すると、クライアントが TGT を使用してサーバーチケットを要求する (TGS 要求と呼ばれる) ときに、クライアントと KDC 間の通信を保護するために使用される暗号化タイプを一部制御できます。default_tkt_enctypes に指定された暗号化タイプは、KDC 上に格納された主体データベース内の主体鍵の暗号タイプのうち少なくとも 1 つに一致する必要があることに注意してください。一致しない場合、TGT 要求は失敗します。多くの場合、このパラメータは、相互運用性の問題の原因になるため、default_tkt_enctypes を設定しないようにします。デフォルトで、クライアントコードは、サポートされるすべての暗号化タイプと KDC が、KDC により主体データベースで検出された鍵に基づく暗号化タイプを選択するように要求します。
default_tgs_enctypes パラメータは、サーバーチケットの取得に使用される TGS 要求でクライアントが要求する暗号化タイプを制限します。このパラメータは、クライアントとサーバーが共有するセッション鍵を作成するときに KDC が使用する暗号化タイプも制限します。たとえば、NFS をセキュリティー保護するときに 3DES 暗号化のみを使用する場合は、default_tgs_enctypes = des3-cbc-sha1 と設定します。クライアントとサーバーの主体が、主体データベース内に des-3-cbc-sha1 鍵を持っていることを確認してください。default_tkt_enctype と同様に、多くの場合でこの設定をしないようにします。資格が KDC とサーバーの両方で適切に設定されていないと、相互運用性の問題の原因となるためです。
サーバー上で、kdc.conf の permitted_enctypes を使用して、サーバーが受け入れる暗号化タイプを制御できます。さらに、keytab エントリを作成するときに使用される暗号化タイプを指定できます。一般的に、これらの方法のいずれかを使用して暗号化タイプを制御したり、代わりに、使用する暗号化タイプを KDC に決定させたりしないようにします。KDC はサーバーアプリケーションと通信しないで、使用する鍵や暗号化タイプを決定するためです。