ナビゲーションリンクをスキップ | |
印刷ビューの終了 | |
Oracle Solaris の管理: セキュリティーサービス Oracle Solaris 11 Information Library (日本語) |
パート II システム、ファイル、およびデバイスのセキュリティー
10. Oracle Solaris のセキュリティー属性 (参照)
22. Kerberos エラーメッセージとトラブルシューティング
このセクションでは、Kerberos ソフトウェアのトラブルシューティングについて説明します。
KDC で使用される鍵バージョン番号 (KVNO) と、システム上でホストされるサービスの /etc/krb5/krb5.keytab に格納されているサービス主体鍵が一致しないことがあります。KDC で新しい鍵セットを作成したときにそれらの新しい鍵でキータブファイルを更新しないと、KVNO が同期しなくなることがあります。この問題は、次の手順を使用することで診断できます。
この一覧に主体ごとの KVNO が含まれています。
# klist -k Keytab name: FILE:/etc/krb5/krb5.keytab KVNO Principal ---- -------------------------------------------------------------------------- 2 host/denver.example.com@EXAMPLE.COM 2 host/denver.example.com@EXAMPLE.COM 2 host/denver.example.com@EXAMPLE.COM 2 nfs/denver.example.com@EXAMPLE.COM 2 nfs/denver.example.com@EXAMPLE.COM 2 nfs/denver.example.com@EXAMPLE.COM 2 nfs/denver.example.com@EXAMPLE.COM
# kinit -k
# kvno nfs/denver.example.com nfs/denver.example.com@EXAMPLE.COM: kvno = 3
ここに示されている KVNO は 2 ではなく 3 です。
krb5.conf ファイルが正しくフォーマットされない場合は、次のエラーメッセージが端末ウィンドウに表示されるか、またはログファイルに記録されることがあります。
Improper format of Kerberos configuration file while initializing krb5 library
krb5.conf ファイルの書式に問題があると、関連するサービスが攻撃を受けやすくなる可能性があります。この問題を修正しないと、Kerberos 機能を使用できません。
Kerberos データベースの伝播が失敗した場合、スレーブ KDC とマスター KDC との間で、およびマスター KDC からスレーブ KDC サーバーへ、/usr/bin/rlogin -x を試してみてください。
KDC がアクセスを制限するように設定されていた場合、 rlogin が無効となり、このコマンドを使って問題を解決することができません。KDC で rlogin を有効にするには、eklogin サービスを有効にする必要があります。
# svcadm enable svc:/network/login:eklogin
問題のトラブルシューティングを終了したあと、eklogin サービスを無効にする必要があります。
rlogin が正常に動作しなかった場合、問題の原因は KDC のキータブファイルにある可能性が高くなります。rlogin が正常に動作した場合、問題の原因はキータブファイルやネームサービスにはありません。というのも、rlogin と伝播ソフトウェアは同じ host/host-name 主体を使用しているからです。この場合、kpropd.acl ファイルが正しいことを確認してください。
Kerberos NFS ファイルシステムのマウントに失敗した場合には、NFS サーバーに /var/rcache/root ファイルが存在することを確認してください。ファイルシステムの所有者が root でない場合は、削除してから再度マウントします。
Kerberos NFS ファイルシステムへのアクセスに問題がある場合は、使用するシステムと NFS サーバー上で gssd サービスが有効になっていることを確認してください。
Kerberos NFS ファイルシステムにアクセスしようとしたときに invalid argument または bad directory のエラーメッセージが表示された場合は、NFS ファイルシステムをマウントするときに完全指定形式の DNS 名を使用していない可能性があります。マウントされているホストが、サーバーのキータブファイル内のサービス主体名に含まれるホスト名と一致していません。
また、複数の Ethernet インタフェースを実装したサーバーに DNS を設定するときに、ホスト単位に複数のアドレスレコードを割り当てずに、インタフェース単位に名前を割り当てた場合にも、この問題が発生します。Kerberos サービスの場合は、次のようにホスト単位に複数のアドレスレコードを設定する必要があります。Ken Hornstein, "Kerberos FAQ," [http://www.cmf.nrl.navy.mil/CCS/people/kenh/kerberos-faq.html#kerbdns], accessed 10 March 2010.:
my.host.name. A 1.2.3.4 A 1.2.4.4 A 1.2.5.4 my-en0.host.name. A 1.2.3.4 my-en1.host.name. A 1.2.4.4 my-en2.host.name. A 1.2.5.4 4.3.2.1 PTR my.host.name. 4.4.2.1 PTR my.host.name. 4.5.2.1 PTR my.host.name.
この例の設定では、インタフェースごとに 1 つの参照が割り当てられます。また、サーバーのキータブファイル内で、3 つのサービス主体の代わりに、1 つのサービス主体を使用できます。
使用するシステムのスーパーユーザーになるときの認証に失敗し、ホストのキータブファイルに root 主体がすでに追加されている場合は、2 つの問題を確認する必要があります。まず、キータブファイル内の root 主体が、そのインスタンスとして完全指定形式名であることを確認します。完全指定形式名の場合は、/etc/resolv.conf ファイルを確認して、システムが DNS クライアントとして正しく設定されていることを確認してください。
資格マッピングを監視するには、最初に、/etc/gss/gsscred.conf ファイルの次の行をコメント解除します。
SYSLOG_UID_MAPPING=yes
次に、gssd サービスに/etc/gss/gsscred.conf ファイルから情報を取得するように指示します。
# pkill -HUP gssd
これで、gssd が資格マッピングを要求するときにそれを監視できるようになります。syslog.conf ファイルが debug 重要度を扱う auth システム機能用に構成されている場合、それらのマッピングは syslogd によって記録されます。