1.5.3. Samba クライアントで証明書の自動登録を有効にする
Samba クライアントで証明書の自動登録を有効にすると、Active Directory (AD) 認証局 (CA) からの証明書の要求と更新が自動化されます。この機能は、手動による監視やユーザーの操作を必要とすることなく証明書を管理するため、システム障害の発生を防ぐために役立ちます。
AD が認証局 (CA) を提供し、RHEL ホストが AD のメンバーである場合は、証明書の自動登録を有効にできます。この機能は、RHEL ホストで有効にします。その後、Samba は AD からの自動登録グループポリシーを適用し、証明書を要求および管理するように certmonger サービスを設定します。
前提条件
- Samba が AD のメンバーとして設定されている。
AD 内の Windows サーバーに、次のサービスがインストールされた Active Directory 証明書サービス サーバーロールがある。
- 認証局
- 証明書登録
- ポリシー Web サービス
- インターネットインフォメーションサービス (ISS) は、HTTPS 経由で証明書の自動登録機能を提供するように設定されています。
- ISS は AD CA が発行した証明書を使用します。
- 証明書登録サービスは Kerberos 認証をサポートしています。
- 証明書の自動登録用のグループポリシーオブジェクト (GPO) が AD で設定されます。
手順
samba-gpupdateパッケージをインストールします。# dnf install samba-gpupdate/etc/samba/smb.confファイルに次の設定を追加します。kerberos method = secrets and keytab sync machine password to keytab = "/etc/krb5.keytab:account_name:sync_spns:spn_prefixes=host:sync_kvno:machine_password", "/etc/samba/cepces.keytab:account_name:machine_password" apply group policies = yesSamba 設定で指定される設定には、次の設定が含まれます。
kerberos method = secrets and keytab-
最初に
/var/lib/samba/private/secrets.tdbファイルを使用して Kerberos チケットを検証し、次に/etc/krb5.keytabファイルを使用するように Samba を設定します。 sync machine password to keytab = <list_of_keytab_files_and_their_principals>-
Samba が管理するキータブファイルへのパスと、これらのファイル内の Kerberos プリンシパルを定義します。表示されている値では、Samba は
/etc/krb5.keytabシステムキータブと、さらに/etc/samba/cepces.keytabファイルを維持し続けます。certmongerのcepces-submit送信ヘルパーは、このファイルを使用して CA に対して認証を行います。 apply group policies = yes-
winbindサービスがgpupdateコマンドを一定間隔で実行するように設定します。更新間隔は 90 分で、これに 0 - 30 分の間のランダムオフセットが加算されます。
/etc/samba/cepces.keytabファイルを作成します。# net ads keytab create/etc/cepces/cepces.confファイルを編集し、次の変更を加えます。[global]セクションで、server変数を、CA サービスを実行している Windows サーバーの完全修飾ドメイン名 (FQDN) にします。[global] server=win-server.ad.example.com[kerberos]セクションで、keytab変数を/etc/samba/cepces.keytabに設定します。[kerberos] keytab=/etc/samba/cepces.keytab
certmongerサービスを有効にして起動します。# systemctl enable --now certmongercertmongerサービスは CA からの証明書を要求し、有効期限が切れる前に自動的に更新します。samba-gpupdateを手動で実行して、グループポリシーが AD からロードされていることを確認します。# samba-gpupdatecertmongerサービスは、キーと証明書を次のディレクトリーに保存します。-
秘密鍵:
/var/lib/samba/private/certs/ 発行された証明書:
/var/lib/samba/certs/これで、同じホスト上のサービスでキーと証明書の使用を開始できます。
-
秘密鍵:
オプション:
certmongerが管理する証明書を表示します。# getcert listNumber of certificates and requests being tracked: 1. Request ID 'AD-ROOT-CA.Machine': status: MONITORING stuck: no key pair storage: type=FILE,location='/var/lib/samba/private/certs/AD-ROOT-CA.Machine.key' certificate: type=FILE,location='/var/lib/samba/certs/AD-ROOT-CA.Machine.crt' CA: AD-ROOT-CA issuer: CN=AD-ROOT-CA,DC=ad,DC=example,DC=com subject: CN=rhel9.ad.example.com issued: 2025-03-25 14:22:07 CET expires: 2026-03-25 14:22:07 CET dns: rhel9.ad.example.com key usage: digitalSignature,keyEncipherment eku: id-kp-clientAuth,id-kp-serverAuth certificate template/profile: Machine profile: Machine pre-save command: post-save command: track: yes auto-renew: yesデフォルトでは、Windows CA は
Machine証明書テンプレートのみを使用して証明書を発行します。Windows CA でこのホストに適用される追加のテンプレートを設定している場合、certmongerはこれらのテンプレートの証明書を要求します。getcert listの出力には、それらのエントリーも含まれています。