11.3. Kerberos クライアントの設定

Kerberos 5 クライアントの設定に必要となるのは、クライアントパッケージをインストールし、各クライアントに有効な krb5.conf 設定ファイルを提供することです。ssh および slogin がクライアントシステムへのリモートでのログイン方法として推奨されますが、rsh および rlogin の Kerberos 対応バージョンも追加の設定変更で利用可能になります。
  1. krb5-libs および krb5-workstation のパッケージをすべてのクライアントマシンにインストールします。
    [root@server ~]# yum install krb5-workstation krb5-libs
  2. 各クライアントに有効な /etc/krb5.conf ファイルを提供します。これは通常、Kerberos 配信センター (KDC) が使用する krb5.conf ファイルと同じ場合が多いです。例を示します。
    [logging]
     default = FILE:/var/log/krb5libs.log
     kdc = FILE:/var/log/krb5kdc.log
     admin_server = FILE:/var/log/kadmind.log
    
    [libdefaults]
     default_realm = EXAMPLE.COM
     dns_lookup_realm = false
     dns_lookup_kdc = false
     ticket_lifetime = 24h
     renew_lifetime = 7d
     forwardable = true
     allow_weak_crypto = true
    
    [realms]
      EXAMPLE.COM = {
      kdc = kdc.example.com.:88
      admin_server = kdc.example.com
      default_domain = example.com
     }
    
    [domain_realm]
     .example.com = EXAMPLE.COM
     example.com = EXAMPLE.COM
    環境によっては、KDC は HTTPS Kerberos 配信センタープロキシー (KKDCP) を使用する場合のみアクセス可能です。このような場合には、以下の変更を加えてください。
    1. [realms] セクションの kdc および admin_server オプションには、ホスト名の代わりに KKDCP の URL を割り当ててください。
      [realms]
      EXAMPLE.COM = {
        kdc = https://kdc.example.com/KdcProxy
        admin_server = https://kdc.example.com/KdcProxy
        kpasswd_server = https://kdc.example.com/KdcProxy
        default_domain = example.com
      }
      冗長化に向け、異なる KKDCP サーバーを使用して kdcadmin_serverkpasswd_server は複数回追加することができます。
    2. IdM クライアントで sssd サービスを再起動して変更を適用します。
      [root@server ~]# systemctl restart sssd
  3. Kerberos に対応した rshrlogin のサービスを使用するために、rsh パッケージをインストールします。
  4. ワークステーションで Kerberos を使って、sshrsh、または rlogin を使用して接続するユーザーを認証する前に、Kerberos データベースに独自のホストプリンシパルが必要になります。sshdkshd、および klogind の各サーバープログラムは、すべてホストサービスのプリンシパルの鍵へのアクセスが必要になります。
    1. kadmin を使ってワークステーション用のホストプリンシパルを KDC 上に追加します。このケースでのインスタンスは、ワークステーションのホスト名になります。kadminaddprinc コマンドに -randkey オプションを使用してプリンシパルを作成し、それをランダムな鍵に割り当てます。
      addprinc -randkey host/server.example.com
    2. ワークステーション用の鍵は、kadminワークステーション上で実行して、ktadd コマンドを使用すると抽出できます。
      ktadd -k /etc/krb5.keytab host/server.example.com
  5. Kerberos に対応した他のネットワークサービスを使用するには、krb5-server パッケージをインストールしてサービスを起動します。Kerberos に対応したサービスは 表11.3「一般的な Kerberos 対応サービス」 に一覧表示されます。

表11.3 一般的な Kerberos 対応サービス

サービス名使用方法
sshクライアントおよびサーバー両方の設定で GSSAPIAuthentication が有効になっている場合、OpenSSH は GSS-API を使ってサーバーへのユーザー認証を行います。クライアントの GSSAPIDelegateCredentials も有効になっている場合は、ユーザーの認証情報はリモートシステムでも利用可能になります。OpenSSH には sftp ツールも含まれます。このツールは、FTP に似たインターフェースを SFTP サーバーに提供し、GSS-API を使用することができます。
IMAP
cyrus-sasl-gssapi パッケージもインストールされていれば、cyrus-imap パッケージは Kerberos 5 を使用します。cyrus-sasl-gssapi パッケージには Cyrus SASL プラグインが含まれており、これは GSS-API 認証に対応しています。Cyrus IMAP は、cyrus ユーザーが /etc/krb5.keytab で適切な鍵を見つけることができ、プリンシパルの root が imap (kadmin で作成) に設定されていれば、Kerberos と正常に機能します。
cyrus-imap の代わりは dovecot パッケージ内にあり、これは Red Hat Enterprise Linux に含まれています。このパッケージには IMAP サーバーは含まれていますが、現在のところ GSS-API と Kerberos には対応していません。