Go to main content
Oracle® Solaris 11.3 での Kerberos およびその他の認証サービスの管理

印刷ビューの終了

更新: 2017 年 3 月
 
 

マスター KDC を手動で構成する方法

    この手順では、増分伝播を構成します。この手順では、次の構成パラメータを使用します。

  • レルム名 = EXAMPLE.COM

  • DNS ドメイン名 = example.com

  • マスター KDC = kdc1.example.com

  • admin 主体 = kws/admin

始める前に

ホストが DNS を使用するように構成されています。マスター KDC を入れ替え可能にする場合の手順については、マスター KDC とスレーブ KDC の入れ替えを参照してください。

root 役割になる必要があります。詳細は、Oracle Solaris 11.3 でのユーザーとプロセスのセキュリティー保護 の 割り当てられている管理権利の使用を参照してください。

  1. KDC パッケージをインストールします。

    KDC パッケージをインストールする方法の手順に従います。

  2. (オプション) FIPS 140-2 モードで実行するように Kerberos を構成します。

    FIPS 140-2 モードでレルムを実行する予定の場合は、マスター KDC サーバーを構成する際に、暗号化タイプを指定します。FIPS 140-2 モードで実行するように Kerberos を構成する方法を参照してください。

  3. Kerberos 構成ファイル krb5.conf を編集します。

    このファイルについては、krb5.conf(4) のマニュアルページを参照してください。

    この例では、管理者は default_realmkdcadmin_server、およびすべての domain_realm エントリの行を変更し、help_url エントリを編集します。

    kdc1# pfedit /etc/krb5/krb5.conf
    ...
    [libdefaults]
         default_realm = EXAMPLE.COM
    
    [realms]
         EXAMPLE.COM = {
            kdc = kdc1.example.com
            admin_server = kdc1.example.com
         }
    
    [domain_realm]
         .example.com = EXAMPLE.COM
    #
    # if the domain name and realm name are equivalent,
    # this entry is not needed
    #
    [logging]
         default = FILE:/var/krb5/kdc.log
         kdc = FILE:/var/krb5/kdc.log

    注 -  古い Kerberos システムと通信する必要がある場合は、暗号化タイプの制限が必要になることがあります。暗号化タイプの制限に関する問題については、Kerberos 暗号化タイプを参照してください。
  4. KDC 構成ファイル kdc.conf 内のレルムを指定します。

    このファイルについては、kdc.conf(4) のマニュアルページを参照してください。

    この例では、管理者はレルム名の定義に加えて、増分伝播とロギングのデフォルト値を変更します。

    kdc1# pfedit /etc/krb5/kdc.conf
    [kdcdefaults]
         kdc_ports = 88,750
    
    [realms]
         EXAMPLE.COM = {
            profile = /etc/krb5/krb5.conf
            database_name = /var/krb5/principal
            acl_file = /etc/krb5/kadm5.acl
            kadmind_port = 749
            max_life = 8h 0m 0s
            max_renewable_life = 7d 0h 0m 0s
            sunw_dbprop_enable = true
            sunw_dbprop_master_ulogsize = 1000
         }

    注 -  古い Kerberos システムと通信する必要がある場合は、暗号化タイプの制限が必要になることがあります。暗号化タイプの制限に関する問題については、Kerberos 暗号化タイプを参照してください。
  5. kdb5_util コマンドを使用して KDC データベースを作成します。

    kdb5_util コマンドは、KDC データベースを作成します。–s オプションを指定すると、kadmindkrb5kdc デーモンが起動する前に、KDC の認証に使用される stash ファイルが作成されます。詳細は、kdb5_util(1M)kadmind(1M)、および krb5kdc(1M) のマニュアルページを参照してください。

    kdc1# /usr/sbin/kdb5_util create -s
    Initializing database '/var/krb5/principal' for realm 'EXAMPLE.COM'
    master key name 'K/M@EXAMPLE.COM'
    You will be prompted for the database Master Password.
    It is important that you NOT FORGET this password.
    Enter KDC database master key:/** Type strong password **/
    Re-enter KDC database master key to verify: xxxxxxxx

    ヒント  -  この手順が失敗した場合は、KDC 主体がその FQDN で識別されることを確認してください。
    # getent hosts IP-address-of-KDC
    IP-address-of-KDC kdc/** This entry does not include FQDN **/
    次に、その FQDN を /etc/hosts ファイル内の最初の KDC のエントリとして追加します。次に例を示します。
    10.1.2.3 kdc1.example.com kdc

  6. 管理主体をデータベースに追加します。

    必要な数の admin 主体を追加できます。KDC 構成処理を完了するには、1 つ以上の admin 主体を追加する必要があります。この例では、kws/admin 主体を追加します。「kws」の代わりに、適切な主体名で置き換えることができます。

    kadmin.local: addprinc kws/admin
    Enter password 
    for principal kws/admin@EXAMPLE.COM:/** Type strong password **/
    Re-enter password 
    for principal kws/admin@EXAMPLE.COM: xxxxxxxx
    Principal "kws/admin@EXAMPLE.COM" created.
    kadmin.local: 

    詳細は、kadmin(1M) のマニュアルページを参照してください。

  7. Kerberos アクセス制御リストファイル kadm5.acl を編集します。

    生成されたあと、/etc/krb5/kadm5.acl ファイルには、KDC を管理することを許可されたすべての主体名が含まれている必要があります。

    kws/admin@EXAMPLE.COM   *

    前のエントリにより、EXAMPLE.COM レルム内の kws/admin 主体は KDC 内の主体やポリシーを変更できるようになります。デフォルトの主体エントリはアスタリスク (*) です。これは、すべての admin 主体に一致します。このエントリはセキュリティーリスクになる場合があります。すべての admin 主体とその権利を明示的に記載するように、このファイルを変更してください。詳細は、kadm5.acl(4) のマニュアルページを参照してください。

  8. KDC および kadmin サービスを有効にします。
    kdc1# svcadm enable -r network/security/krb5kdc
    kdc1# svcadm enable -r network/security/kadmin
  9. さらに主体を追加します。
    kdc1# /usr/sbin/kadmin -p kws/admin
    Enter password: xxxxxxxx
    kadmin:
    1. マスター KDC の host 主体を作成し、それをキータブファイルに追加します。

      ホスト主体は、変更をスレーブ KDC に伝播するために、kprop などの Kerberos アプリケーションによって使用されます。この主体はまた、ssh などのネットワークアプリケーションを使用して KDC サーバーにセキュアなリモートアクセスを提供するためにも使用されます。主体のインスタンスがホスト名である場合、FQDN は、ネームサービスでのドメイン名の大文字小文字には関係なく小文字で指定する必要があることに注意してください。

      kadmin: addprinc -randkey host/kdc1.example.com
      Principal "host/kdc1.example.com@EXAMPLE.COM" created.
      kadmin: 

      keytab ファイルにホスト主体を追加すると、自動的に、sshd などのアプリケーションサーバーがこの主体を使用できるようになります。

      kadmin: ktadd host/kdc1.example.com
      Entry for principal host/kdc1.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/kdc1.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/kdc1.example.com with kvno 3, encryption type Triple DES cbc
      mode with HMAC/sha1 added to keytab WRFILE:/etc/krb5/krb5.keytab.
      kadmin: 
    2. (オプション) clntconfig 主体を作成し、それに kclient タスクを実行するのに十分な特権を付与します。

      この主体は、Kerberos クライアントのインストール中に kclient ユーティリティーで使用されます。このユーティリティーを使用しない場合は、主体に追加する必要はありません。kclient ユーティリティーのユーザーは、このパスワードを使用する必要があります。

      kadmin: addprinc clntconfig/admin
      Enter password for principal clntconfig/admin@EXAMPLE.COM:/** Type strong password **/
      Re-enter password for principal clntconfig/admin@EXAMPLE.COM: xxxxxxxx
      Principal "clntconfig/admin@EXAMPLE.COM" created.
      kadmin: quit

      注 - このパスワードを安全な場所に保存および保管してください。
      # pfedit /etc/krb5/kadm5.acl
      ...
      clntconfig/admin@EXAMPLE.COM  acdilm 

      詳細は、kclient(1M) のマニュアルページを参照してください。

  10. このシステムのクロックをレルム内のほかのクロックと同期します。

    認証が成功するには、すべてのクロックが、krb5.conf ファイルの libdefaults セクションで定義されているデフォルトの時間内に収まっている必要があります。詳細は、krb5.conf(4) のマニュアルページおよびKDC と Kerberos クライアントのクロックの同期化を参照してください。


    注 -  マスター KDC をクロック同期サーバーにすることはできません。
  11. 追加の KDC を構成します。