11.14. Kerberos インテグレーション
Kerberos は、信頼されないネットワーク全体でユーザーをサーバーに認証したり、サーバーをユーザーに認証したりする集中認証サーバーを提供するコンピューターネットワークセキュリティープロトコルです。Kerberos 認証では、サーバーとデータベースがクライアント認証に使用されます。
11.14.1. KDC のセットアップ (要件に応じて) リンクのコピーリンクがクリップボードにコピーされました!
Kerberos は、キー配布センター (KDC) として知られるサードパーティーの信頼されたサーバーとして実行され、ネットワーク上の各ユーザーとサービスがプリンシパルとなります。KDC は、すべてのクライアント (ユーザープリンシパル、サービスプリンシパル) に関する情報を保持します。したがって、セキュアである必要があります。Kerberos セットアップでは、KDC が単一障害点となるため、1 つのマスター KDC と複数のスレーブ KDC を使用することを推奨します。
前提条件
/etc/hosts
ファイルに次の変更が加えられているかどうかを確認します。必要に応じてドメイン名を追加します。
セットアップに関係するすべてのノード (Ceph クラスター内のすべてのノードとすべての NFS クライアントノード) にドメイン名が存在することを確認してください。
手順
以下の手順に従って、KDC をインストールして設定します。すでに KDC をインストールして設定している場合は、この部分をスキップしてください。
KDC をセットアップするマシンに、必要な RPM がインストールされているかどうかを確認します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記- Kerberos レルム名に従ったドメイン名を使用することを推奨します。たとえば、レルム - PUNE.IBM.COM、管理プリンシパル - admin/admin です。
- インストールされた設定ファイルを編集して、新しい KDC を反映するようにしてください。KDC は IP アドレスまたは DNS 名として指定できることに注意してください。
krb5.conf
ファイルを更新します。注記krb5.conf
ファイル内のkdc
およびadmin_server
IP を使用して、すべてのレルム (default_realm
およびdomain_realm
) を更新する必要があります。Copy to Clipboard Copied! Toggle word wrap Toggle overflow krb5.conf
ファイルを更新します。注記kdc.conf
ファイル内のレルムを更新する必要があります。Copy to Clipboard Copied! Toggle word wrap Toggle overflow kdb5_util
を使用して KDC データベースを作成します。注記ホスト名が
DNS
または/etc/hosts
経由で解決できることを確認してください。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 管理者を ACL ファイルに追加します。
cat /var/kerberos/krb5kdc/kadm5.acl */admin@PUNE.IBM.COM *
[root@host ~]# cat /var/kerberos/krb5kdc/kadm5.acl */admin@PUNE.IBM.COM *
Copy to Clipboard Copied! Toggle word wrap Toggle overflow この出力は、管理インスタンスを持つ PUNE.IBM.COM レルム内のすべてのプリンシパルが、すべての管理者権限を持っていることを示します。
Kerberos データベースに管理者を追加します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow kdc
とkadmind
を起動します。krb5kdc kadmind
# krb5kdc # kadmind
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
kdc
とkadmind
が適切に実行されているかどうかを確認します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow セットアップが正しいかどうかを確認します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
11.14.2. Kerberos クライアントのセットアップ リンクのコピーリンクがクリップボードにコピーされました!
Kerberos クライアントマシンは KDC と同期する必要があります。NTP を使用して KDC とクライアントを確実に同期してください。時差が 5 分以上あると、Kerberos 認証が失敗し、clock skew エラーが出力されます。この手順は、Kerberos 認証に参加するすべてのシステム (NFS クライアントや NFS Ganesha コンテナーが実行されるホストなど) の前提条件です。
手順
必要な RPM を確認します。
rpm -qa | grep krb5
[root@host ~]# rpm -qa | grep krb5 krb5-libs-1.20.1-9.el9_2.x86_64 krb5-pkinit-1.20.1-9.el9_2.x86_64 krb5-workstation-1.20.1-9.el9_2.x86_64
Copy to Clipboard Copied! Toggle word wrap Toggle overflow KDC サーバーのものと同様の
krb5.conf
ファイルを更新します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
クライアント設定を検証します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
11.14.3. NFS 固有の Kerberos セットアップ リンクのコピーリンクがクリップボードにコピーされました!
NFS サーバーとクライアントの両方のサービスプリンシパルを作成する必要があります。それぞれのキーは、キータブファイルに保存されます。これらのプリンシパルは、GSS_RPCSEC で必要な初期セキュリティーコンテキストをセットアップするために必要です。これらのサービスプリンシパルは、nfs/@REALM のような形式です。/etc/krb5.conf ファイルを稼働システムから Ceph ノードにコピーできます。
手順
そのホストのサービスプリンシパルを作成します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow キーをキータブファイルに追加します。
注記このステップでは、ユーザーはすでに NFS サーバー上にいて、kadmin インターフェイスを使用しています。ここで、キータブの操作は NFS サーバーのキータブに反映されます。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - NFS Ganesha コンテナーが実行されているすべての Ceph ノードとすべての NFS クライアントで、手順 1 と 2 を実行します。
11.14.4. NFS Ganesha コンテナーの設定 リンクのコピーリンクがクリップボードにコピーされました!
以下の手順に従って、Ceph 環境で NFS Ganesha を設定します。
手順
既存の NFS Ganesha コンテナー設定を取得します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow /etc/krb5.conf
ファイルと/etc/krb5.keytab`
ファイルをホストからコンテナーに渡すように、コンテナー設定を変更します。これらのファイルは、ランタイム時に NFS Ganesha が参照して、受信したサービスチケットを検証し、Ganesha と NFS クライアント (krb5p) 間の通信を保護します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 変更した nfs.yaml ファイルを cephadm シェル内で使用できるようにします。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ファイルに必要な変更が加えられているかどうかを検証します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 必要な変更を NFS Ganesha コンテナーに適用し、コンテナーを再デプロイします。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 再デプロイされたサービスに必要な変更が加えられているかどうかを検証します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow krb5* (krb5, krb5i, krb5p)
セキュリティーフレーバーを持つようにエクスポート定義を変更します。注記上記のセットアップを完了した後、このようなエクスポートを作成できます。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
11.14.5. NFS クライアントサイドのアクション リンクのコピーリンクがクリップボードにコピーされました!
以下は、NFS クライアントが実行できる操作の一部です。
手順
サービスプリンシパルを作成します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow rpc.gssd
サービスを再起動して、変更された/新しいキータブファイルを有効にします。systemctl restart rpc-gssd
# systemctl restart rpc-gssd
Copy to Clipboard Copied! Toggle word wrap Toggle overflow NFS エクスポートをマウントします。
構文
mount -t nfs -o vers=4.1,port=2049 <IP>:/<export_name> >mount_point>
[root@host ~]# mount -t nfs -o vers=4.1,port=2049 <IP>:/<export_name> >mount_point>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例
mount -t nfs -o vers=4.1,port=2049 10.8.128.233:/ganesha /mnt/test/
mount -t nfs -o vers=4.1,port=2049 10.8.128.233:/ganesha /mnt/test/
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - ユーザーを作成します。NFS エクスポートがマウントされると、マウントされたエクスポートを操作するために通常ユーザーが使用されます。これらの通常ユーザー (通常はシステム上のローカルユーザー、または LDAP/AD などの集中型システムからのユーザー) は、Kerberos セットアップの一部である必要があります。セットアップの種類に応じて、ローカルユーザーも KDC に作成する必要があります。
11.14.6. セットアップの検証 リンクのコピーリンクがクリップボードにコピーされました!
セットアップを検証するには、以下の手順に従ってください。
手順
Kerberos チケットを 使用せずに、通常のユーザーとしてエクスポートにアクセスします。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Kerberos チケットを 使用して、通常のユーザーとしてエクスポートにアクセスします。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
注記: nfs/
service のチケットはクライアント上で監視されます。