Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

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

Kerberos 5 クライアントの設定に必要となるのは、クライアントパッケージをインストールして各クライアントに有効な krb5.conf 設定ファイルを指定することです。クライアントシステムにリモートでログインする方法として、sshslogin が推奨されています。また、Kerberos を使用したバージョンの rshrlogin も、設定を加えることで利用できます。
  1. すべてのクライアントマシンにkrb5-libsおよびkrb5-workstationパッケージをインストールします。
    [root@server ~]# yum install krb5-workstation krb5-libs
  2. クライアントごとに、有効な/etc/krb5.confファイルを指定します。通常、これは Kerberos Distribution Center (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 Key Distribution Center Proxy (KKDCP) を使用してのみアクセスできます。この場合は、以下の変更を加えます。
    1. ホスト名の代わりに KKDCP の URL を [realms] セクションの kdc オプションおよび admin_server オプションに割り当てます。
      [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
      }
      冗長性を確保するために、パラメーター kdcadmin_server、および kpasswd_server は、異なる KKDCP サーバーを使用して複数回追加できます。
    2. IdM クライアントで sssd サービスを再起動して、変更を適用します。
      [root@server ~]# systemctl restart sssd
  3. Kerberos 対応の rsh および rlogin サービスを使用するには、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 ツールも含まれています。これは SFTP サーバーに FTP のようなインターフェイスを提供し、GSS-API を使用できます。
IMAP
cyrus-imap パッケージもインストールされている場合は、この cyrus-sasl-gssapi パッケージは Kerberos 5 を使用します。cyrus-sasl-gssapi パッケージには、GSS-API 認証をサポートする Cyrus SASL プラグインが含まれます。Cyrus IMAP 機能は、cyrus ユーザーが /etc/krb5.keytab で適切な鍵を見つけ、プリンシパルのルートが imap (kadmin で作成したもの) に設定されている限り Kerberos で動作します。
cyrus-imap に変わるものは、dovecot パッケージにあります。これは、Red Hat Enterprise Linux にも含まれています。このパッケージには IMAP サーバーが含まれていますが、現在のところ GSS-API および Kerberos には対応していません。