この手順では、次の構成パラメータを使用します。
レルム名 = 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 でのユーザーとプロセスのセキュリティー保護 の 割り当てられている管理権利の使用を参照してください。
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 レルムから KDC へのマッピングは次の順番で決められます。
krb5.conf 内の realms セクションでの定義
DNS 内の SRV レコードの検索
この動作は、krb5.conf ファイルの libdefaults セクションに dns_lookup_kdc または dns_fallback を追加することによって変更できます。詳細は、krb5.conf(4) を参照してください。常にリフェラルが最初に試行されます。
デフォルトでは、ホストからレルムへのマッピングは次の順番で決められます。
KDC がリフェラルをサポートしている場合は、KDC からクライアントに、ホストが属しているレルムが通知されることがあります。
krb5.conf ファイル内の domain_realm の定義。
ホストの DNS ドメイン名。
デフォルトレルム。
この動作は、krb5.conf ファイルの libdefaults セクションに dns_lookup_kdc または dns_fallback を追加することによって変更できます。詳細は、krb5.conf(4) のマニュアルページを参照してください。常にリフェラルが最初に試行されます。
認証が成功するには、すべてのクロックが、krb5.conf ファイルの libdefaults セクションで定義されているデフォルトの時間内に収まっている必要があります。
denver # /usr/sbin/kadmin -p kws/admin Enter password: xxxxxxxx kadmin:
詳細は、kadmin(1M) のマニュアルページを参照してください。
このホストに関連付けられているユーザーに主体が割り当てられていない場合にのみ、ユーザー主体を作成してください。
kadmin: addprinc mre
Enter password for principal mre@EXAMPLE.COM:/** Type strong password **/
Re-enter password for principal mre@EXAMPLE.COM: xxxxxxxx
kadmin:
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:
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:
この手順は、クライアントが 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
/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
svc:/network/dns/client:default サービスが有効でない場合は、それを有効にします。詳細は、resolv.conf(4) のマニュアルページを参照してください。
# svcadm enable network/dns/client:default
# svcadm restart network/rpc/gss
詳細は、warn.conf(4) のマニュアルページおよび すべてのチケット認可チケットの自動的な更新を参照してください。
Microsoft Active Directory (AD) Kerberos サービスは、マルチマスターサーバー上で動作する KDC を提供します。Oracle Solaris クライアントが情報を更新するには、/etc/krb5/krb5.conf ファイル内の admin_server または kpasswd_server のどちらかの宣言にすべてのサーバーが記載されている必要があります。この例は、クライアントが kdc1 と kdc2 で共有される 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