Red Hat Training

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

5.4. Linux クライアントの手動設定

ipa-client-install コマンドは、Kerberos、SSSD、PAM、NSS などのサービスを自動的に設定します。ただし、何らかの理由で ipa-client-install コマンドをシステムで使用できない場合は、IdM クライアントエントリーとサービスを手動で設定できます。

5.4.1. IdM クライアントの設定 (全手順)

  1. SSSD がインストールされていない場合はインストールしてください。
  2. 任意。ホストから管理タスクを実行できるように IdM ツールをインストールします。
    [root@client ~]# yum install ipa-admintools
  3. IdM サーバーで、クライアントのホストエントリーを作成します。
    [jsmith@client ~]$ kinit admin
    [jsmith@client ~]$ ipa host-add --force --ip-address=192.168.166.31 ipaclient.example.com
    ホストを手動で作成する方法は、「ホストエントリーを追加する他の例」を参照してください。
  4. IdM サーバーで、クライアントの Keytab を作成します。
    1. IdM 管理者としてログインします。
      [jsmith@client ~]$ kinit admin
    2. サーバーが管理するクライアントホストを設定します。
      [jsmith@client ~]$ ipa host-add-managedby --hosts=server.example.com ipaclient.example.com
    3. クライアントの keytab を生成します。
      [jsmith@client ~]$ ipa-getkeytab -s server.example.com -p host/ipaclient.example.com -k /tmp/ipaclient.keytab
  5. Keytab をクライアントマシンにコピーし、名前を /etc/krb5.keytab に変更します。
    ヒント
    既存の /etc/krb5.keytab を保存する必要がある場合には、ktutil を使用してこの 2 つのファイルを統合できます。
  6. /etc/krb5.keytab ファイルのユーザーパーミッションを正しく設定します。
    [root@client ~]# chown root:root /etc/krb5.keytab 
    [root@client ~]# chmod 0600 /etc/krb5.keytab
  7. /etc/krb5.keytab ファイルの SELinux コンテキストを設定します。
    [root@client ~]# chcon system_u:object_r:krb5_keytab_t:s0 /etc/krb5.keytab
  8. /etc/sssd/sssd.conf ファイルを編集して、SSSD が IdM ドメインを参照するように設定します。
    [root@client ~]# touch /etc/sssd/sssd.conf
    [root@client ~]# vim /etc/sssd/sssd.conf
    
    [sssd]
    config_file_version = 2
    services = nss, pam
    
    domains = example.com
    [nss]
    
    [pam]
    
    [domain/example.com]
    cache_credentials = True
    krb5_store_password_if_offline = True
    ipa_domain = example.com
    id_provider = ipa
    auth_provider = ipa
    access_provider = ipa
    ipa_hostname = ipaclient.example.com
    chpass_provider = ipa
    ipa_server = server.example.com
    ldap_tls_cacert = /etc/ipa/ca.crt
  9. パスワード、グループ、ユーザー、および netgroups に SSSD を使用するように NSS を設定します。
    [root@client ~]# vim /etc/nsswitch.conf
    
    ...
    passwd:     files sss
    shadow:     files sss
    group:      files sss
    ...
    netgroup:   files sss
    ...
  10. /etc/krb5.conf ファイルで、IdM KDC を参照するように設定します。
    [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
     rdns = false
     ticket_lifetime = 24h
     forwardable = yes
     allow_weak_crypto = true
    
    [realms]
     EXAMPLE.COM = {
      kdc = server.example.com:88
      admin_server = server.example.com:749
      default_domain = example.com
    }
    
    [domain_realm]
     .example.com = EXAMPLE.COM
     example.com = EXAMPLE.COM
  11. pam_sss.so モジュールを使用するように、/etc/pam.d 設定を更新します。
    • /etc/pam.d/fingerprint-auth の場合:
      ...
      account     [default=bad success=ok user_unknown=ignore] pam_sss.so
      ...
      session     optional      pam_sss.so
    • /etc/pam.d/system-auth の場合:
      ...
      auth        sufficient    pam_sss.so use_first_pass
      ...
      account     [default=bad success=ok user_unknown=ignore] pam_sss.so
      ...
      password    sufficient    pam_sss.so use_authtok
      ...
      session     optional      pam_sss.so
    • /etc/pam.d/password-auth の場合:
      ...
      auth        sufficient    pam_sss.so use_first_pass
      ...
      account     [default=bad success=ok user_unknown=ignore] pam_sss.so
      ...
      password    sufficient    pam_sss.so use_authtok
      ...
      session     optional      pam_sss.so
    • Enrollment_with_Separation_of_Duties /etc/pam.d/smartcard-auth の場合:
      ...
      account     [default=bad success=ok user_unknown=ignore] pam_sss.so
      ...
      session     optional      pam_sss.so
  12. IdM サーバーの CA 証明書をインストールします。
    1. サーバーから証明書を取得します。
      [root@ipaclient ~]# wget -O /etc/ipa/ca.crt http://ipa.example.com/ipa/config/ca.crt
    2. システムの NSS データベースに証明書をインストールします。
      [root@ipaclient ~]# certutil -A -d /etc/pki/nssdb -n "IPA CA" -t CT,C,C -a -i /etc/ipa/ca.crt
  13. IdM にホストのホスト証明書を設定します。
    1. certmonger が実行されていることを確認します。
      [root@ipaclient ~]# service certmonger start
      ヒント
      certmonger サービスがデフォルトで起動するように、chkconfig を設定します。
      [root@ipaclient ~]# chkconfig certmonger on
    2. certmonger を使用し、ipa-getcert コマンドで証明書を作成し、管理します。オプションの詳細は、「certmonger で証明書の要求」を参照してください。
      [root@ipaclient ~]# ipa-getcert request -d /etc/pki/nssdb -n Server-Cert -K HOST/ipaclient.example.com -N 'CN=ipaclient.example.com,O=EXAMPLE.COM'
    クライアントに管理ツールがインストールされていない場合は、IdM サーバーで証明書を生成し、ホストにコピーして、certutil を使用してインストールできます。
  14. Kerberos と連携するように NFS を設定します。
    ヒント
    NFS の設定時に発生する可能性のあるエラーをトラブルシューティングできるように、/etc/sysconfig/nfs ファイルでデバッグ情報を有効にします。
    RPCGSSDARGS="-vvv"
    RPCSVCGSSDARGS="-vvv"
    1. IdM サーバーで、NFS クライアントの NFS サービスプリンシパルを追加します。
      [root@ipaclient ~]# ipa service-add nfs/ipaclient.example.com@EXAMPLE
      注記
      これは、ipa コマンドを使用できるように、ipa-admintools パッケージがインストールされているマシンから実行する必要があります。
    2. IdM サーバーで、NFS サービスプリンシパルの keytab を取得します。
      [root@ipaclient ~]# ipa-getkeytab -s server.example.com -p nfs/ipaclient.example.com@EXAMPLE -k /tmp/krb5.keytab
      注記
      Linux の NFS 実装バージョンによっては、暗号化タイプのサポートが限定されます。Red Hat Enterprise Linux 6 よりも前のバージョンで NFS サーバーをホストしている場合は、サーバーおよびすべてのクライアントの両方で、任意の nfs/<FQDN> サービスキータブをサーバーと全クライアント両方で設定するように、-e des-cbc-crc オプションを指定して ipa-getkeytab コマンドを実行します。これにより、KDC で DES キーのみが生成されるように指示します。
      DES キーを使用する場合、この暗号化タイプに依存するクライアントおよびサーバーではすべて、/etc/krb5.conf ファイルの [libdefaults] セクションで allow_weak_crypto オプションを有効にする必要があります。これらの設定変更を行わない場合には、NFS クライアントとサーバーは相互に認証できず、NFS ファイルシステムのマウントに失敗する可能性があります。クライアントの rpc.gssd とサーバーの rpc.svcgssd デーモンは、DES の暗号化タイプが許可されていないことを示すエラーをログに記録する場合があります。
    3. IdM サーバーから NFS サーバーにキータブをコピーします。たとえば、IdM サーバーと NFS サーバーが異なるマシンにある場合は、以下を実行します。
      [root@ipaclient ~]# scp /tmp/krb5.keytab root@nfs.example.com:/etc/krb5.keytab
    4. IdM サーバーから IdM クライアントにキータブをコピーします。たとえば、以下のようになります。
      [root@ipaclient ~]# scp /tmp/krb5.keytab root@client.example.com:/etc/krb5.keytab
    5. NFS サーバーで /etc/exports ファイルを設定します。
      /ipashare       gss/krb5p(rw,no_root_squash,subtree_check,fsid=0)
    6. クライアントで NFS 共有をマウントします。
      • 共有は必ず、nfs_server:/ /mountpoint と指定します。
      • -o sec 設定は、NFS サーバーの /etc/exports ファイルで使用する設定と同じものを使用します。
      [root@client ~]# mount -v -t nfs4 -o sec=krb5p nfs.example.com:/ /mnt/ipashare