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

印刷ビューの終了

更新: 2017 年 3 月
 
 

Kerberos サービスへのアクセスのための遅延実行の構成

デフォルトの Kerberos 環境では、制限された時間が経過すると資格は期限切れになります。cronat などの、いつでも実行される場合があるプロセスでは、この制限された時間によって問題が発生します。この手順では、Kerberos による認証されたサービスを必要とする遅延実行プロセスをサポートするように Kerberos 環境を構成する方法について説明します。Oracle Solaris は PAM モジュールを提供し、サービス鍵を使用し、さらに kclient 構成オプションを使用することによって Kerberos 認証による遅延実行を可能にし、またそれを代替の解決方法よりセキュアなものにしています。


注 -  cron サーバーが危険にさらされた場合、攻撃者はユーザーになりすまして、cron サーバー用に構成されたターゲットサービスへのアクセスを取得する可能性があります。そのため、ユーザーに対して中間サービスを提供する、この手順で構成された cron ホストをより機密性の高いシステムと見なしてください。

Kerberos サービスにアクセスするための cron ホストを構成する方法

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

  • cron ホスト = host1.example.com

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

  • LDAP サーバー = host3.example.com

  1. Kerberos をサポートするように cron サービスを構成します。
    • cron ホストで Kerberos が構成されていない場合は、システム上で kclient コマンドを実行します。

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

      たとえば、次のコマンドは、EXAMPLE.COM レルム内にクライアントを構成します。このコマンドでは、include メカニズムを使用して、/etc/pam.d/cron サービスファイル内に pam_gss_s4u ファイルを含めています。

      # kclient -s cron:optional -R EXAMPLE.COM
    • cron ホストですでに Kerberos が構成されている場合は、そのホスト上で cron サービスのための PAM 構成を手動で変更する必要があります。

      cron サービスのための PAM 構成に pam_gss_s4u ファイルが含まれていることを確認します。

      # cd /etc/pam.d ; cp cron cron.orig
      # pfedit cron
            # PAM include file for optional set credentials
            # through Kerberos keytab and GSS-API S4U support
            auth include          pam_gss_s4u
  2. cron ホストが代理として機能できるようにします。

    例:

    # kadmin -p kws/admin
    Enter password: xxxxxxxx
    kadmin: modprinc +ok_as_delegate host/host1.example.com@EXAMPLE.COM
    Principal host/host1.example.com@EXAMPLE.COM modified.
  3. cron ホストが、cron ジョブを作成したユーザーの代わりに自身に対してチケットをリクエストできるようにします。
    kadmin: modprinc +ok_to_auth_as_delegate host/host1.example.com@EXAMPLE.COM
    Principal host/host1.example.com@EXAMPLE.COM modified.
    kadmin: quit
  4. LDAP では、代理として使用するサービスを指定するように cron ホストを構成します。

    たとえば、cron ホストが host2 (Kerberos NFS サーバー) 上のユーザーのホームディレクトリにアクセスできるようにするには、その NFS ホストを cron サーバーの LDAP 定義内の krbAllowedToDelegateTo パラメータに追加します。

    1. 代理の割り当てを作成します。
      # pfedit /tmp/delghost.ldif
      dn: krbprincipalname=host/host1.example.com@EXAMPLE.COM,cn=EXAMPLE.COM,cn=krbcontainer,dc=example,dc=com
      changetype: modify
      krbAllowedToDelegateTo: nfs/host2.example.com@EXAMPLE.COM
      
    2. その割り当てを LDAP に追加します。
      # ldapmodify -h host3 -D "cn=directory manager" -f delghost.ldif