ナビゲーションリンクをスキップ | |
印刷ビューの終了 | |
Oracle Solaris の管理: セキュリティーサービス Oracle Solaris 11 Information Library (日本語) |
パート II システム、ファイル、およびデバイスのセキュリティー
10. Oracle Solaris のセキュリティー属性 (参照)
LDAP データサーバーを使用するように KDC を構成する方法
Kerberos ネットワークアプリケーションサーバーの構成
Kerberos ネットワークアプリケーションサーバーを構成する方法
FTP の実行時に Generic Security Service を Kerberos とともに使用する方法
複数の Kerberos セキュリティーモードで安全な NFS 環境を設定する方法
Kerberos クライアントのインストールプロファイルの作成方法
Active Directory サーバー用に Kerberos クライアントを構成する方法
Kerberos によって保護された NFS ファイルシステムに root ユーザーとしてアクセスする方法
KDC と Kerberos クライアントのクロックの同期化
サーバーのアップグレード後に Kerberos データベースを変換する方法
Kerberos データベースをスレーブ KDC に手動で伝播する方法
Kerberos 主体属性を Kerberos 以外のオブジェクトクラス型に結び付ける方法
辞書ファイルを使用してパスワードセキュリティーを強化する方法
22. Kerberos エラーメッセージとトラブルシューティング
Kerberos クライアントは、Kerberos サービスを使用する同じネットワーク上のすべてのホスト (KDC サーバーを除く) です。このセクションでは、Kerberos クライアントのインストール手順と、root 認証を使用して NFS ファイルシステムをマウントする方法について説明します。
次のタスクマップは、Kerberos クライアントの設定に関連するすべての手順が含まれます。各行には、タスク識別名、そのタスクを行う理由、およびタスクへのリンクが含まれます。
|
この手順は、Kerberos クライアントをインストールする際に使用される kclient プロファイルを作成します。kclient プロファイルを使用することにより、入力エラーの可能性を減らします。また、プロファイルを使用すると、対話型のプロセスと比べて、ユーザーの介入も減ります。
kclient プロファイルの例は、次のようになります。
client# cat /net/denver.example.com/export/install/profile REALM EXAMPLE.COM KDC kdc1.example.com ADMIN clntconfig FILEPATH /net/denver.example.com/export/install/krb5.conf NFS 1 DNSLOOKUP none
始める前に
この手順では、インストールプロファイルを使用します。 「Kerberos クライアントのインストールプロファイルの作成方法」を参照してください。
詳細は、「管理権限を取得する方法」を参照してください。
このプロセスを完了するには、clntconfig 主体のパスワードを入力する必要があります。
client# /usr/sbin/kclient -p /net/denver.example.com/export/install/profile Starting client setup --------------------------------------------------- kdc1.example.com Setting up /etc/krb5/krb5.conf. Obtaining TGT for clntconfig/admin ... Password for clntconfig/admin@EXAMPLE.COM: <Type the password> nfs/client.example.com entry ADDED to KDC database. nfs/client.example.com entry ADDED to keytab. host/client.example.com entry ADDED to KDC database. host/client.example.com entry ADDED to keytab. Copied /net/denver.example.com/export/install/krb5.conf. --------------------------------------------------- Setup COMPLETE. client#
例 21-8 コマンド行指定の優先を利用して Kerberos クライアントを自動的に構成する
次の例は、インストールプロファイルに設定されている DNSARG パラメータと KDC パラメータに対しコマンド行での指定が優先します。
# /usr/sbin/kclient -p /net/denver.example.com/export/install/profile\ -d dns_fallback -k kdc2.example.com Starting client setup --------------------------------------------------- kdc1.example.com Setting up /etc/krb5/krb5.conf. Obtaining TGT for clntconfig/admin ... Password for clntconfig/admin@EXAMPLE.COM: <Type the password> nfs/client.example.com entry ADDED to KDC database. nfs/client.example.com entry ADDED to keytab. host/client.example.com entry ADDED to KDC database. host/client.example.com entry ADDED to keytab. Copied /net/denver.example.com/export/install/krb5.conf. --------------------------------------------------- Setup COMPLETE. client#
この手順では、インストールプロファイルなしで kclient インストールユーティリティーを使用します。Oracle Solaris 11 リリースでは、kclient ユーティリティーの使いやすさと Active Directory サーバーで動作する能力が向上しました。詳細は、「Active Directory サーバー用に Kerberos クライアントを構成する方法」を参照してください。以前のリリースで kclient を実行する例については、例 21-10 を参照してください。
詳細は、「管理権限を取得する方法」を参照してください。
インストールには、次の情報が必要です。
Kerberos レルム名
KDC マスターホスト名
KDC スレーブホスト名
ローカルレルムにマップするドメイン
Kerberos 認証に使用する PAM サービス名およびオプション
このシステムが、Oracle Solaris リリースが動作していない KDC サーバーのクライアントである場合は、KDC が動作しているサーバーのタイプを定義する必要があります。使用できるサーバーは、Microsoft Active Directory、MIT KDC サーバー、Heimdal KDC サーバー、および Shishi KDC サーバーです。
Kerberos 検索に DNS を使用する場合は、使用する DNS 検索オプションを入力する必要があります。有効なオプションは、dns_lookup_kdc、dns_lookup_realm、および dns_fallback です。これらの値の詳細は、krb5.conf(4) のマニュアルページを参照してください。
この情報は、/etc/krb5/krb5.conf 構成ファイルに追加されます。
スレーブ KDC がレルム内に存在する場合は、スレーブ KDC のホスト名を入力する必要があります。この情報は、クライアントの構成ファイルに追加の KDC エントリを作成するために使用されます。
通常は、クライアントシステムが Kerberos サービスをホストしていないかぎり、サービス鍵またはホスト鍵は必要ありません。
クライアントがクラスタのメンバーである場合は、そのクラスタの論理名を入力する必要があります。この論理ホスト名はサービス鍵の作成時に使用されます。これは、クラスタから Kerberos サービスをホストするときに必要です。
このマッピングにより、ほかのドメインをそのクライアントのデフォルトレルムに含めることができます。
クライアントが Kerberos を使用して NFS サービスをホストする場合は、NFS サービス鍵を作成する必要があります。
これにより、認証に Kerberos を使用する PAM サービスを設定できます。サービス名と、Kerberos 認証がどのように使用されるかを示すフラグを入力する必要があります。有効なフラグオプションは次のとおりです。
first – 最初に Kerberos 認証を使用し、Kerberos 認証に失敗した場合にのみ UNIX を使用します
only – Kerberos 認証のみを使用します
optional – オプションで、Kerberos 認証を使用します
このオプションにより、kclient の引数が足りない場合に、特定の構成情報を使用できます。
例 21-9 kclient インストールユーティリティーの実行
client# /usr/sbin/kclient Starting client setup --------------------------------------------------- Is this a client of a non-Solaris KDC ? [y/n]: n No action performed. Do you want to use DNS for kerveros lookups ? [y/n]: n No action performed. Enter the Kerberos realm: EXAMPLE.COM Specify the KDC hostname for the above realm: kdc1.example.com Note, this system and the KDC's time must be within 5 minutes of each other for Kerberos to function. Both systems should run some form of time synchronization system like Network Time Protocol (NTP). Do you have any slave KDC(s) ? [y/n]: y Enter a comma-separated list of slave KDC host names: kdc2.example.com Will this client need service keys ? [y/n]: n No action performed. Is this client a member of a cluster that uses a logical host name ? [y/n]: n No action performed. Do you have multiple domains/hosts to map to realm ? [y/n]: y Enter a comma-separated list of domain/hosts to map to the default realm: engineering.example.com, \ example.com Setting up /etc/krb5/krb5.conf. Do you plan on doing Kerberized nfs ? [y/n]: y Do you want to update /etc/pam.conf ? [y/n]: y Enter a comma-separated list of PAM service names in the following format: service:{first|only|optional}: xscreensaver:first Configuring /etc/pam.conf. Do you want to copy over the master krb5.conf file ? [y/n]: n No action performed. --------------------------------------------------- Setup COMPLETE.
例 21-10 Oracle Solaris 10 リリースでの kclient インストールユーティリティーの実行
次の出力は、kclient コマンドの実行結果を示しています。
client# /usr/sbin/kclient Starting client setup --------------------------------------------------- Do you want to use DNS for kerberos lookups ? [y/n]: n No action performed. Enter the Kerberos realm: EXAMPLE.COM Specify the KDC hostname for the above realm: kdc1.example.com Setting up /etc/krb5/krb5.conf. Enter the krb5 administrative principal to be used: clntconfig/admin Obtaining TGT for clntconfig/admin ... Password for clntconfig/admin@EXAMPLE.COM: <Type the password> Do you plan on doing Kerberized nfs ? [y/n]: n host/client.example.com entry ADDED to KDC database. host/client.example.com entry ADDED to keytab. Do you want to copy over the master krb5.conf file ? [y/n]: y Enter the pathname of the file to be copied: \ /net/denver.example.com/export/install/krb5.conf Copied /net/denver.example.com/export/install/krb5.conf. --------------------------------------------------- Setup COMPLETE ! #
この手順では、インストールプロファイルなしで kclient インストールユーティリティーを使用します。
client# sharectl set -p ddns_enable=true smb
-T オプションで、KDC サーバータイプを選択します。この場合は、Active Directory サーバーが選択されています。
client# kclient -T ms_ad
デフォルトでは、Administrator 主体のパスワードの入力が必要になります。
例 21-11 kclient を使用して Active Directory サーバー用に Kerberos クライアントを構成する
次の出力は、ms_ad (Microsoft Active Directory) サーバータイプ引数を使用した kclient コマンドの実行結果を示しています。クライアントは、EXAMPLE.COM と呼ばれる Active Directory ドメインに結合されます。
client# /usr/sbin/kclient -T ms_ad Starting client setup --------------------------------------------------- Attempting to join 'CLIENT' to the 'EXAMPLE.COM' domain. Password for Administrator@EXAMPLE.COM: <Type the password> Forest name found: example.com Looking for local KDCs, DCs and global catalog servers (SVR RRs). Setting up /etc/krb5/krb5.conf Creating the machine account in AD via LDAP. --------------------------------------------------- Setup COMPLETE. #
この手順では、次の構成パラメータを使用します。
レルム名 = 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://download.oracle.com/docs/cd/E23824_01/html/821-1456/aadmin-23.html
デフォルトの Kerberos ファイルを変更する場合は、レルム名とサーバー名を変更する必要があります。gkadmin のヘルプファイルへのパスも指定する必要があります。
kdc1 # cat /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 [appdefaults] gkadmin = { help_url = http://download.oracle.com/docs/cd/E23824_01/html/821-1456/aadmin-23.html
注 - 暗号化タイプを制限する場合は、default_tkt_enctypes または default_tgs_enctypes の行を設定します。暗号化タイプの制限に関する詳細は、「Kerberos 暗号化タイプの使用」を参照してください。
デフォルトでは、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) のマニュアルページを参照してください。常にリフェラルが最初に試行されます。
Network Time Protocol (NTP) のインストールと使用は必要はありません。ただし、認証が正常終了するには、すべてのクロックが、krb5.conf ファイル内の clockskew 関係指定子で定義されている最大の誤差以内で KDC サーバー上の時刻と同期化されている必要があります。NTP については、「KDC と Kerberos クライアントのクロックの同期化」を参照してください。
Kerberos グラフィカル管理ツールを使って主体を追加する方法については、「新しい Kerberos 主体を作成する方法」を参照してください。追加するときは、マスター KDC を構成するときに作成した admin 主体名を使用してログインする必要があります。ただし、次の例では、コマンド行を使用して、必要な主体を追加しています。
denver # /usr/sbin/kadmin -p kws/admin Enter password: <Type kws/admin password> kadmin:
このホストに関連付けられているユーザーに主体が割り当てられていない場合だけ、ユーザー主体を作成します。
kadmin: addprinc mre Enter password for principal mre@EXAMPLE.COM: <Type the password> Re-enter password for principal mre@EXAMPLE.COM: <Type it again> kadmin:
この手順は、クライアントが NFS サービスによってマウントされたファイルシステムに root アクセスを持つために必要です。また、cron ジョブを root として実行する場合など、非対話的な root アクセスが必要な場合にもこの手順が必要になります。
クライアントが NFS サービスを使用してマウントされているリモートファイルシステムへの root アクセスを必要としない場合は、この手順をスキップできます。root 主体は 2 つのコンポーネント主体とするべきであり、二番目のコンポーネントは Kerberos クライアントシステムのホスト名にして、レルム幅の root 主体の作成を回避します。主体のインスタンスがホスト名のときは、ネームサービス内のドメイン名が大文字であるか小文字であるかに関係なく、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. Entry for principal root/client.example.com with kvno 3, encryption type ArcFour with HMAC/md5 added to keytab WRFILE:/etc/krb5/krb5.keytab. Entry for principal root/client.example.com with kvno 3, encryption type DES cbc mode with RSA-MD5 added to keytab WRFILE:/etc/krb5/krb5.keytab. kadmin:
host 主体は、認証を提供するためにリモートアクセスサービスによって使用されます。キータブファイルにまだ資格が存在しない場合は、この主体によって 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. 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:
この手順が必要になるのは、クライアントが 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. Entry for principal nfs/denver.example.com with kvno 3, encryption type ArcFour with HMAC/md5 added to keytab WRFILE:/etc/krb5/krb5.keytab. Entry for principal nfs/denver.example.com with kvno 3, encryption type DES cbc mode with RSA-MD5 added to keytab WRFILE:/etc/krb5/krb5.keytab. kadmin:
kadmin: quit
/etc/nfssec.conf ファイルを編集して、Kerberos セキュリティーモードの先頭にある「#」を削除します。
# cat /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 restart network/rpc/gss
詳細は、warn.conf(4) のマニュアルページを参照してください。
例 21-12 Solaris 以外の KDC を使用するように Kerberos クライアントを設定する
Solaris 以外の KDC を使用するように Kerberos クライアントを設定することができます。この場合、/etc/krb5/krb5.conf ファイルの realms セクションに 1 行追加する必要があります。この行を追加すると、クライアントが Kerberos パスワード変更サーバーとの通信に使用するプロトコルが変更されます。この行の書式は次のとおりです。
[realms] EXAMPLE.COM = { kdc = kdc1.example.com kdc = kdc2.example.com admin_server = kdc1.example.com kpasswd_protocol = SET_CHANGE }
例 21-13 ホスト名とドメイン名を 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"
例 21-14 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 749 kdc1.example.com _kpasswd._udp.EXAMPLE.COM IN SRV 0 0 749 kdc1.example.com
この手順では、ローカルの /etc/krb5/krb5.keytab ファイルに保存されているホスト主体の KDC とチケット認可チケット (TGT) を発行した KDC が同じであることを確認するセキュリティー検査を無効にします。この検査は DNS の偽装攻撃を防止します。ただし、一部のクライアント構成では、ホスト主体を使用できない場合があるため、クライアントが機能できるようにこの検査を無効にする必要があります。次のような構成では、この検査を無効にする必要があります。
クライアントの IP アドレスが動的に割り当てられる。DHCP クライアントなど。
クライアントはサービスをホストするように構成されていないため、ホスト主体が作成されていない。
クライアントにホスト鍵が保存されていない。
verify_ap_req_nofail オプションが false に設定されている場合、TGT の確認処理は無効になっています。このオプションの詳細については、krb5.conf(4) のマニュアルページを参照してください。
client # cat /etc/krb5/krb5.conf [libdefaults] default_realm = EXAMPLE.COM verify_ap_req_nofail = false ...
注 - verify_ap_req_nofail オプションは、krb5.conf ファイルの [libdefaults] または [realms] セクションに入力できます。このオプションを [libdefaults] セクションに入力すると、設定はすべてのレルムに使用されます。このオプションを [realms] セクションに入力すると、設定は定義したレルムにのみ適用されます。
この手順を実行すると、クライアントは root の ID 特権による Kerberos 認証を必要とする、NFS ファイルシステムにアクセスできるようになります。特に、NFS ファイルシステムが次のようなオプションによって共有されている場合です。-o sec=krb5,root=client1.sun.com
「新しい Kerberos 主体を作成する方法」で説明するように、Kerberos GUI 管理ツールを使って主体を追加できます。追加するときは、マスター KDC を構成するときに作成した admin 主体名を使用してログインする必要があります。ただし、次の例では、コマンド行を使用して、必要な主体を追加しています。
denver # /usr/sbin/kadmin -p kws/admin Enter password: <Type kws/admin password> kadmin:
この主体は、Kerberos 認証を必要とする、NFS マウントされたファイルシステムにスーパーユーザーと同様にアクセスするために使用されます。root 主体は 2 つのコンポーネント主体とすべきであり、二番目のコンポーネントは Kerberos クライアントシステムのホスト名にして、レルム幅の root 主体の作成を回避します。主体のインスタンスがホスト名のときは、ネームサービス内のドメイン名が大文字であるか小文字であるかに関係なく、FQDN は小文字で指定する必要があります。
kadmin: addprinc -randkey root/client.example.com Principal "root/client.example.com" created. kadmin:
NFS サービスを使ってマウントされたファイルシステムにクライアントが root アクセスできるように root 主体を追加する場合にこの手順は必要になります。また、cron ジョブを root として実行する場合など、非対話的な root アクセスが必要な場合にもこの手順が必要になります。
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. Entry for principal root/client.example.com with kvno 3, encryption type ArcFour with HMAC/md5 added to keytab WRFILE:/etc/krb5/krb5.keytab. Entry for principal root/client.example.com with kvno 3, encryption type DES cbc mode with RSA-MD5 added to keytab WRFILE:/etc/krb5/krb5.keytab. kadmin:
kadmin: quit
Kerberos 主体を持たないユーザーを、既存の Kerberos レルムに自動的に移行できます。移行を行うには、/etc/pam.conf のサーバーの認証スタックにある pam_krb5_migrate モジュールの積み重ねにより使用されているサービス用の PAM フレームワークを使用します。
この例では、自動移行を使用するように gdm と other の PAM サービス名が構成されます。この手順では、次の構成パラメータを使用します。
レルム名 = EXAMPLE.COM
マスター KDC = kdc1.example.com
移行サービスをホストするマシン = server1.example.com
移行サービス主体 = host/server1.example.com
始める前に
レルム EXAMPLE.COM の Kerberos クライアントとして server1 を設定します。詳細は、「Kerberos クライアントの構成」を参照してください。
server1 の keytab ファイル内のホストサービス主体は、マスター KDC にサーバーを認証するために使用されます。
server1 # klist -k Keytab name: FILE:/etc/krb5/krb5.keytab KVNO Principal ---- ------------------------------------------------ 3 host/server1.example.com@EXAMPLE.COM 3 host/server1.example.com@EXAMPLE.COM 3 host/server1.example.com@EXAMPLE.COM 3 host/server1.example.com@EXAMPLE.COM
# cat /etc/pam.conf . . # # gdm service # gdm auth requisite pam_authtok_get.so.1 gdm auth required pam_dhkeys.so.1 gdm auth required pam_unix_cred.so.1 gdm auth sufficient pam_krb5.so.1 gdm auth requisite pam_unix_auth.so.1 gdm auth optional pam_krb5_migrate.so.1
新しく作成された Kerberos アカウントでは、Kerberos パスワードの即時の変更を強制するために、パスワードの有効期限が現在時刻 (今) に設定されています。有効期限を現在に設定するには、pam_krb5_migrate モジュールを使用する行に expire_pw オプションを追加します。詳細は、pam_krb5_migrate(5) のマニュアルページを参照してください。
# cat /etc/pam.conf . . gdm auth optional pam_krb5_migrate.so.1 expire_pw
この追加により、Kerberos のパスワードの有効期限でアクセスをブロックできるようになります。
# cat /etc/pam.conf . . # # Default definition for Account management # Used when service name is not explicitly mentioned for account management # other account requisite pam_roles.so.1 other account required pam_krb5.so.1 other account required pam_unix_account.so.1
この追加により、パスワードが期限切れになったらパスワードを更新できるようになります。
# cat /etc/pam.conf . . # # Default definition for Password management # Used when service name is not explicitly mentioned for password management # other password required pam_dhkeys.so.1 other password requisite pam_authtok_get.so.1 other password requisite pam_authtok_check.so.1 other password sufficient pam_krb5.so.1 other password required pam_authtok_store.so.1
次のエントリにより、root ユーザー以外のすべてのユーザーの host/server1.example.com サービス主体に移行および照会権限が付与されます。U 権限を使って、移行すべきでないユーザーを kadm5.acl ファイル内に一覧表示することが重要です。これらのエントリは、permit all または ui エントリの前に置く必要があります。詳細は、kadm5.acl(4) のマニュアルページを参照してください。
kdc1 # cat /etc/krb5/kadm5.acl host/server1.example.com@EXAMPLE.COM U root host/server1.example.com@EXAMPLE.COM ui * */admin@EXAMPLE.COM *
この手順により、kadmind デーモンが新しい kadm5.acl エントリを使用できるようになります。
kdc1 # svcadm restart network/security/kadmin
次のエントリにより、kadmind デーモンが k5migrate PAM サービスを使用して、移行に必要なアカウントの UNIX ユーザーパスワードを検査できるようになります。
# grep k5migrate /etc/pam.conf k5migrate auth required pam_unix_auth.so.1 k5migrate account required pam_unix_account.so.1
denver # /usr/sbin/kadmin -p kws/admin Enter password: <Type kws/admin password> kadmin:
次の例では、add_policy サブコマンドを使って default というポリシーが作成されます。300 秒の間に 3 回の認証エラーが発生すると、900 秒のアカウントロックアウトがトリガーされます。
kadmin: add_policy -maxfailure 3 -failurecountinterval "300 seconds"\ -lockoutduration "900 seconds" default
kadmin: quit
例 21-15 ロックアウトされた主体をロック解除する
次の例では、ユーザー主体がロック解除されます。
# kadmin kadmin: add_policy -unlock principal