パート III. セキュアなアプリケーション
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 サーバーを使用して
kdc、admin_server、kpasswd_server は複数回追加することができます。
2. IdM クライアントで sssd サービスを再起動して変更を適用します。
[root@server ~]# systemctl restart sssd
3. Kerberos に対応した rsh と rlogin のサービスを使用するために、rsh パッケージをインストー
3. Kerberos に対応した rsh と rlogin のサービスを使用するために、rsh パッケージをインストー ルします。
4. ワークステーションで Kerberos を使って、ssh、rsh、または rlogin を使用して接続するユー ザーを認証する前に、Kerberos データベースに独自のホストプリンシパルが必要になりま
す。sshd、kshd、および klogind の各サーバープログラムは、すべてホストサービスのプリ
ンシパルの鍵へのアクセスが必要になります。
1. kadmin を使ってワークステーション用のホストプリンシパルを KDC 上に追加します。こ のケースでのインスタンスは、ワークステーションのホスト名になります。kadmin の addprinc コマンドに -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 には 対応していません。