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

印刷ビューの終了

更新: 2017 年 3 月
 
 

Kerberos クライアントを手動で構成する方法

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

  • レルム名 = EXAMPLE.COM

  • DNS ドメイン名 = example.com

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

  • スレーブ KDC = kdc2.example.com

  • NFS サーバー = denver.example.com

  • クライアント = client.example.com

  • admin 主体 = kws/admin

  • ユーザー主体 = mre

  • オンラインヘルプ URL = http://docs.oracle.com/cd/E23824_01/html/821-1456/aadmin-23.html

始める前に

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

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

    Kerberos 構成ファイル内のレルム名とサーバー名を変更します。

    kdc1# pfedit /etc/krb5/krb5.conf
    [libdefaults]
    default_realm = EXAMPLE.COM
    
    [realms]
         EXAMPLE.COM = {
            kdc = kdc1.example.com
            kdc = kdc2.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 暗号化タイプを参照してください。
  2. (オプション) KDC の検出に使用されるプロセスを変更します。

      デフォルトでは、Kerberos レルムから KDC へのマッピングは次の順番で決められます。

    • krb5.conf 内の realms セクションでの定義

    • DNS 内の SRV レコードの検索

    この動作は、krb5.conf ファイルの libdefaults セクションに dns_lookup_kdc または dns_fallback を追加することによって変更できます。詳細は、krb5.conf(4) を参照してください。常にリフェラルが最初に試行されます。

  3. (オプション) ホストのレルムの決定に使用されるプロセスを変更します。

      デフォルトでは、ホストからレルムへのマッピングは次の順番で決められます。

    • KDC がリフェラルをサポートしている場合は、KDC からクライアントに、ホストが属しているレルムが通知されることがあります。

    • krb5.conf ファイル内の domain_realm の定義。

    • ホストの DNS ドメイン名。

    • デフォルトレルム。

    この動作は、krb5.conf ファイルの libdefaults セクションに dns_lookup_kdc または dns_fallback を追加することによって変更できます。詳細は、krb5.conf(4) のマニュアルページを参照してください。常にリフェラルが最初に試行されます。

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

    認証が成功するには、すべてのクロックが、krb5.conf ファイルの libdefaults セクションで定義されているデフォルトの時間内に収まっている必要があります。

  5. Kerberos 主体を作成します。
    denver # /usr/sbin/kadmin -p kws/admin
    Enter password: xxxxxxxx
    kadmin: 

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

    1. (オプション) ユーザー主体が存在しない場合は、ユーザー主体を作成します。

      このホストに関連付けられているユーザーに主体が割り当てられていない場合にのみ、ユーザー主体を作成してください。

      kadmin: addprinc mre
      Enter password for principal mre@EXAMPLE.COM:/** Type strong password **/
      Re-enter password for principal mre@EXAMPLE.COM: xxxxxxxx
      kadmin: 
    2. (オプション) root 主体を作成し、その主体をサーバーのキータブファイルに追加します。

      注 -  クライアントが NFS マウントしたリモートファイルシステムへの root アクセスを必要としない場合は、この手順をスキップできます。

      cron ジョブを root として実行する場合など、非対話的な root アクセスが必要な場合は、この手順を実行します。

      root 主体は、2 つのコンポーネントから成る主体にしてください。レルム全体にわたる root 主体が作成されないようにするために、2 番目のコンポーネントは Kerberos クライアントシステムのホスト名にしてください。主体のインスタンスがホスト名である場合、FQDN は、ネームサービスでのドメイン名の大文字小文字には関係なく小文字で指定する必要があります。

      kadmin: addprinc -randkey root/client.example.com
      Principal "root/client.example.com" created.
      kadmin: ktadd root/client.example.com
      Entry for principal root/client.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 root/client.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 root/client.example.com with kvno 3, encryption type Triple DES cbc
      mode with HMAC/sha1 added to keytab WRFILE:/etc/krb5/krb5.keytab.
      kadmin: 
    3. host 主体を作成し、その主体をサーバーのキータブファイルに追加します。

      host 主体は、認証を提供するためにリモートアクセスサービスによって使用されます。keytab ファイル内にまだ資格が存在しない場合は、この主体により、root が資格を取得できるようになります。

      kadmin: addprinc -randkey host/denver.example.com
      Principal "host/denver.example.com@EXAMPLE.COM" created.
      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.
      kadmin:
    4. (オプション) サーバーの NFS サービス主体をサーバーのキータブファイルに追加し、kadmin を終了します。

      この手順は、クライアントが Kerberos 認証を使用して NFS ファイルシステムにアクセスする必要がある場合にのみ必要です。

      kadmin: ktadd nfs/denver.example.com
      Entry for principal nfs/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 nfs/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 nfs/denver.example.com with kvno 3, encryption type Triple DES cbc
      mode with HMAC/sha1 added to keytab WRFILE:/etc/krb5/krb5.keytab.
      kadmin: quit
  6. (オプション) NFS での Kerberos を有効にします。
    1. /etc/nfssec.conf ファイル内の Kerberos セキュリティーモードを有効にします。

      /etc/nfssec.conf ファイルで、Kerberos セキュリティーモードをコメントアウトしている「#」を削除します。

      # pfedit /etc/nfssec.conf
      .
      .
      #
      # Uncomment the following lines to use Kerberos V5 with NFS
      #
      krb5            390003  kerberos_v5     default -               # RPCSEC_GSS
      krb5i           390004  kerberos_v5     default integrity       # RPCSEC_GSS
      krb5p           390005  kerberos_v5     default privacy         # RPCSEC_GSS
    2. DNS を有効にします。

      svc:/network/dns/client:default サービスが有効でない場合は、それを有効にします。詳細は、resolv.conf(4) のマニュアルページを参照してください。

      # svcadm enable network/dns/client:default
    3. gss サービスを再起動します。
      # svcadm restart network/rpc/gss
  7. (オプション) クライアントが TGT を自動的に更新するか、または Kerberos チケットの有効期限切れに関してユーザーに警告するようにするには、/etc/krb5/warn.conf ファイル内にエントリを作成します。

    詳細は、warn.conf(4) のマニュアルページおよび すべてのチケット認可チケットの自動的な更新を参照してください。

使用例 9  マルチマスター KDC と連携するための Oracle Solaris クライアントの構成

Microsoft Active Directory (AD) Kerberos サービスは、マルチマスターサーバー上で動作する KDC を提供します。Oracle Solaris クライアントが情報を更新するには、/etc/krb5/krb5.conf ファイル内の admin_server または kpasswd_server のどちらかの宣言にすべてのサーバーが記載されている必要があります。この例は、クライアントが kdc1kdc2 で共有される KDC に関する情報を更新できるようにする方法を示しています。

[realms]
EXAMPLE.COM = {
kdc = kdc1.example.com
kdc = kdc2.example.com
admin_server = kdc1.example.com
admin_server = kdc2.example.com
}
使用例 10  Oracle Solaris 以外の KDC のための Kerberos クライアントの構成

/etc/krb5/krb5.conf ファイル内の realms セクションに 1 行を追加することによって、Oracle Solaris 以外の KDC と連携するように Kerberos クライアントを設定できます。この行を追加すると、クライアントが Kerberos パスワード変更サーバーとの通信に使用するプロトコルが変更されます。次のコード例は、この行の形式を示しています。

[realms]
EXAMPLE.COM = {
kdc = kdc1.example.com
kdc = kdc2.example.com
admin_server = kdc1.example.com
kpasswd_protocol = SET_CHANGE
}
使用例 11  ホストおよびドメイン名の Kerberos レルムへのマッピングのための DNS TXT レコード
@ IN SOA kdc1.example.com root.kdc1.example.com (
1989020501   ;serial
10800        ;refresh
3600         ;retry
3600000      ;expire
86400 )      ;minimum

IN      NS      kdc1.example.com.
kdc1                    IN      A       192.146.86.20
kdc2                    IN      A       192.146.86.21

_kerberos.example.com.             IN      TXT     "EXAMPLE.COM"
_kerberos.kdc1.example.com.        IN      TXT     "EXAMPLE.COM"
_kerberos.kdc2.example.com.        IN      TXT     "EXAMPLE.COM"
使用例 12  Kerberos サーバーの場所を記録する DNS SRV レコード

この例では、それぞれ KDC、admin サーバー、および kpasswd サーバーの場所のレコードを定義します。

@ IN SOA kdc1.example.com root.kdc1.example.com (
1989020501   ;serial
10800        ;refresh
3600         ;retry
3600000      ;expire
86400 )      ;minimum

IN      NS      kdc1.example.com.
kdc1                               IN      A       192.146.86.20
kdc2                               IN      A       192.146.86.21

_kerberos._udp.EXAMPLE.COM         IN      SRV 0 0 88  kdc2.example.com
_kerberos._tcp.EXAMPLE.COM         IN      SRV 0 0 88  kdc2.example.com
_kerberos._udp.EXAMPLE.COM         IN      SRV 1 0 88  kdc1.example.com
_kerberos._tcp.EXAMPLE.COM         IN      SRV 1 0 88  kdc1.example.com
_kerberos-adm._tcp.EXAMPLE.COM     IN      SRV 0 0 464 kdc1.example.com
_kpasswd._udp.EXAMPLE.COM          IN      SRV 0 0 464 kdc1.example.com