第13章 Identity Management
以下の章では、Identity Management (IdM) に関する RHEL 9 と RHEL 10 の間の最も重要な変更点を説明します。
IdM デプロイメントにおける DNS over TLS (DoT) がテクノロジープレビューとして利用可能になる
DNS over TLS (DoT) を使用した暗号化された DNS が、Identity Management (IdM) デプロイメントのテクノロジープレビューとして利用できるようになりました。DNS クライアントと IdM DNS サーバー間のすべての DNS クエリーと応答を暗号化できるようになりました。
この機能を使い始めるには、IdM サーバーとレプリカに ipa-server-encrypted-dns
パッケージをインストールし、IdM クライアントに ipa-client-encrypted-dns
パッケージをインストールします。管理者は、インストール中に --dns-over-tls
オプションを使用して DoT を有効にできます。
IdM は、Unbound をローカルキャッシュリゾルバーとして設定し、BIND を DoT 要求を受信するように設定します。この機能は、コマンドラインインターフェイス (CLI) および IdM の非対話型インストールを通じて利用できます。
IdM サーバー、レプリカ、クライアント、および統合 DNS サービスのインストールユーティリティーに次のオプションが追加されました。
-
--dot-forwarder
は、アップストリーム DoT 対応 DNS サーバーを指定します。 -
--dns-over-tls-key
と--dns-over-tls-cert
は、DoT 証明書を設定します。 -
--dns-policy
は、暗号化されていない DNS へのフォールバックを許可するか、厳密な DoT の使用を強制するかのどちらかを行う DNS セキュリティーポリシーを設定します。
デフォルトでは、IdM は、暗号化されていない DNS へのフォールバックを許可する、relaxed
DNS ポリシーを使用します。新しい --dns-policy
オプションを enforced
設定で使用することで、暗号化のみの通信を強制できます。
また、新しい DoT オプションを指定した ipa-dns-install
を使用して統合 DNS サービスを再設定することにより、既存の IdM デプロイメントで DoT を有効にすることもできます。
SSSD での動的 DoT 更新のサポート
SSSD は、DNS-over-TLS (DoT) を使用してすべての動的 DNS (dyndns) クエリーを実行することをサポートするようになりました。IP アドレスが変更された際に、Identity Management (IdM) や Active Directory サーバーなどの DNS レコードを安全に更新できます。この機能を有効にするには、bind9.18-utils
パッケージから nsupdate
ツールをインストールする必要があります。
sssd.conf
ファイルで次の新しいオプションを使用して、DoT を有効にし、安全な DNS 更新用のカスタム証明書を設定できます。
- dyndns_dns_over_tls
- dyndns_tls_ca_cert
- dyndns_tls_cert
- dyndns_tls_key
これらのオプションの詳細は、システムの sssd-ad(5)
および sssd-ad(5)
man ページを参照してください。
IdM 間の移行がテクノロジープレビューとして利用可能になる
RHEL 10 では、サポート対象外のテクノロジープレビュー機能として Red Hat が提供する新しい ipa-migrate
ユーティリティーを使用して、SUDO ルール、HBAC、DNA 範囲、ホスト、サービスなど、すべての IdM 固有のデータを別の IdM サーバーに移行できます。これは、たとえば、IdM を開発環境またはステージング環境から実稼働環境に移行する場合や、2 つの実稼働サーバー間で IdM データを移行する場合に役立ちます。
ansible-freeipa
が Ansible コレクション形式を使用するようになる
RHEL 10 では、ansible-freeipa
rpm は freeipa.ansible_freeipa
コレクションのみをインストールします。
新しいコレクションを使用するには、ロールとモジュールの名前に freeipa.ansible_freeipa
接頭辞を追加します。Ansible の推奨事項に従うには、完全修飾名を使用します。たとえば、ipahbacrule
モジュールを参照するには、freeipa.ansible_freeipa.ipahbacrule
を使用します。
module_defaults
を適用することで、freeipa.ansible_freeipa
コレクションの一部であるモジュールの使用を簡素化できます。
HSM は IdM で完全にサポートされるようになる
Hardware Security Modules (HSM) が、Identity Management (IdM) で完全にサポートされるようになりました。IdM 認証局 (CA) および Key Recovery Authority (KRA) のキーペアと証明書を HSM に保存できます。これにより、秘密鍵マテリアルに物理的なセキュリティーが追加されます。
IdM は、HSM のネットワーク機能を利用してマシン間でキーを共有し、レプリカを作成します。HSM は、ほとんどの IPA 操作に目に見える影響を与えることなく、追加のセキュリティーを提供します。低レベルのツールを使用する場合、証明書とキーの処理方法は異なりますが、ほとんどのユーザーはシームレスに使用できます。
既存の CA または KRA を HSM ベースのセットアップに移行することはサポートされていません。HSM 上のキーを使用して CA または KRA を再インストールする必要があります。
以下が必要です。
- サポートされている HSM
- HSM Public-Key Cryptography Standard (PKCS) #11 ライブラリー
- 利用可能なスロット、トークン、トークンのパスワード
HSM にキーが保存されている CA または KRA をインストールするには、トークン名と PKCS#11 ライブラリーへのパスを指定する必要があります。以下に例を示します。
ipa-server-install -r EXAMPLE.TEST -U --setup-dns --allow-zone-overlap --no-forwarders -N --auto-reverse --random-serial-numbers --token-name=HSM-TOKEN --token-library-path=/opt/nfast/toolkits/pkcs11/libcknfast.so --setup-kra
ipa-server-install -r EXAMPLE.TEST -U --setup-dns --allow-zone-overlap --no-forwarders -N --auto-reverse --random-serial-numbers --token-name=HSM-TOKEN --token-library-path=/opt/nfast/toolkits/pkcs11/libcknfast.so --setup-kra
期限切れの証明書の自動削除がデフォルトで有効化される
RHEL 10 では、IdM の新しいレプリカで、期限切れの証明書の自動削除がデフォルトで有効になります。このための前提条件は、RSNv3 を使用して証明書のランダムなシリアル番号を生成することです。これもデフォルトで有効化されるようになりました。
その結果、証明書はランダムなシリアル番号で作成されようになり、有効期限が切れると、デフォルトの保持期間である有効期限後 30 日が経過すると自動的に削除されます。
IdM で DNSSEC が正しく動作しない
RHEL 10 の IdM では、DNS Security Extensions (DNSSEC) が正しく機能しません。これは、openssl-pkcs11
OpenSSL エンジンを pkcs11-provider
OpenSSL プロバイダーに置き換えたことで生じた複数の未解決の問題によるものです。
OpenSSL によって導入された変更により、RHEL IdM 内の統合 DNS 機能が影響を受けました。具体的には、ipa
、bind
、bind-dyndb-ldap
、softhsm
、python-cryptography
など、IdM の複数のコンポーネントと、これらのコンポーネントがセキュリティーモジュールとやり取りする方法が変更の影響を受けています。
pam_console
モジュールが削除される
pam_console
モジュールは RHEL 10 から削除されました。pam_console
モジュールは、物理コンソールまたはターミナルにログインしたユーザーにファイル権限と認証機能を付与し、コンソールのログインステータスとユーザーの存在に基づいてこれらの権限を調整していました。pam_console
の代わりに、systemd-logind
システムサービスを使用できます。設定の詳細は、logind.conf(5)
の man ページを参照してください。
libsss_simpleifp
サブパッケージが削除される
libsss_simpleifp.so
ライブラリーを提供する libsss_simpleifp
サブパッケージは、RHEL 9 で非推奨になりました。libsss_simpleifp
サブパッケージは RHEL 10 で削除されました。
AD および IdM プロバイダーの enumeration
機能が削除される
AD および IdM プロバイダーの getent passwd/group
を使用してすべてのユーザーまたはグループをリスト表示できるようにする enumeration
機能のサポートは、Red Hat Enterprise Linux (RHEL) 9 で非推奨となりました。RHEL 10 では enumeration
機能が削除されました。
NIS サーバーエミュレーターが削除される
RHEL IdM は NIS 機能を提供しなくなりました。
RSA PKINIT メソッドが削除される
秘密鍵ベースの RSA 方式は、MIT Kerberos ではサポートされなくなりました。これは、セキュリティー上の理由、特に Marvin 攻撃に対する脆弱性のため削除されました。その結果、kinit
コマンドの -X flag_RSA_PROTOCOL
パラメーターは効果がなくなります。デフォルトの PKINIT メカニズムとして、Diffie-Hellman 鍵合意方式が使用されます。
389-ds-base
パッケージによって作成されるものが LMDB インスタンスだけになる
以前は、Directory Server は Berkeley Database (BDB) を使用してインスタンスを作成していました。ただし、389-ds-base
で使用される BDB バージョンを実装する libdb
ライブラリーは、RHEL 10 では利用できなくなりました。
RHEL 10 以降、389-ds-base
パッケージは、デフォルトでデータベースタイプとして Lightning Memory-Mapped Database (LMDB) を使用します。この変更は、以下に影響があります。
- 移行手順
- データベース設定パラメーター
- データベースのチューニング
- 監視とログファイル
LMDB では、新しい cn=mdb,cn=config,cn=ldbm database,cn=plugins,cn=config
設定エントリーの下に保存される次の設定パラメーターが導入されています。
nsslapd-mdb-max-size
は、データベースの最大サイズをバイト単位で設定します。- 重要
-
nsslapd-mdb-max-size
が、すべての目的のデータを保存するのに十分な大きさであることを確認します。ただし、データベースファイルはメモリーマップトファイルであるため、パフォーマンスに影響が生じるほどパラメーターを大きくしないでください。
-
nsslapd-mdb-max-readers
は、同時に開くことができる読み取り操作の最大数を設定します。Directory Server はこの設定を自動調整します。 -
nsslapd-mdb-max-dbs
は、メモリーマップトデータベースファイル内に含めることができる名前付きデータベースインスタンスの最大数を設定します。
新しい LMDB 設定に加えて、nsslapd-db-home-directory
データベース設定パラメーターも引き続き使用できます。
BDB インスタンスは Directory Server ではサポートされなくなりました。したがって、すべてのインスタンスを LMDB に移行します。
authselect
は PAM で必須となり、アンインストールできない
RHEL 10 では、authselect-libs
パッケージが /etc/nsswitch.conf
と、一部の PAM 設定 (/etc/pam.d/
内の system-auth
、password-auth
、smartcard-auth
、fingerprint-auth
、postlogin
など) を所有するようになりました。これらのファイルの所有権は、authselect-libs
パッケージに移行されました。以前は、/etc/nsswitch.conf
は glibc
パッケージが所有し、PAM 設定ファイルは pam
パッケージが所有していました。authselect
は pam
パッケージに必要なので、アンインストールできません。
以前の RHEL バージョンからのシステムアップグレードの場合:
-
authselect
設定がすでに存在する場合、authselect apply-changes
は設定を自動的に最新バージョンに更新します。システムに以前のauthselect
設定がなかった場合は、変更は行われません。 -
authselect
によって管理されるシステムでは、次のauthselect
呼び出し時に、プロンプトなしで authselect 以外の設定が強制的に上書きされるようになりました。--force
オプションは不要になりました。
特別な設定が必要な場合は、カスタムの authselect
プロファイルを作成します。システムに合わせてカスタムプロファイルを最新の状態に保つには、手動で更新する必要があることに注意してください。
authselect
の使用をオプトアウトできます:
authselect opt-out
# authselect opt-out
SSSD ファイルプロバイダーが削除される
SSSD ファイルプロバイダーは RHEL 10.0 から削除されました。以前は、SSSD ファイルプロバイダーが、ローカルユーザーのスマートカード認証とセッション記録を行っていました。代わりに、SSSD プロキシープロバイダーを設定できます。
Local
プロファイルが新しいデフォルトの authselect
プロファイルとなる
RHEL 10.0 で SSSD ファイルプロバイダーが削除されたため、SSSD に依存せずにローカルユーザー管理を処理するための新しい authselect
local
プロファイルが導入されました。local
プロファイルは以前の minimal
プロファイルを置き換え、sssd
プロファイルの代わりに、新しいインストールのデフォルトの authselect
プロファイルになります。
アップグレード中、authselect
ユーティリティーは既存の設定を minimal
から local
プロファイルに自動的に移行します。
さらに、sssd
authselect
プロファイルが更新され、with-files-domain
および with-files-access-provider
オプションが削除され、これらのオプションを介したローカルユーザーアカウントの直接処理がされなくなりました。これらのオプションに依存していた場合は、files provider
ではなく proxy provider
を使用するように SSSD 設定を更新する必要があります。
sssd
プロファイルは、SSSD によって管理されるユーザーのセッション記録を有効にする --with-tlog
オプションをサポートするようになりました。
dnssec-enable: no;
オプションが削除される
/etc/named/ipa-options-ext.conf
ファイルの dnssec-enable: no;
オプションは RHEL 10.0 で削除されました。DNS Security Extensions (DNSSEC) はデフォルトで有効化されており、無効化できません。dnssec-validation: no;
オプションは引き続き利用可能です。
reconnection_retries
オプションが削除される
RHEL 10.0 の SSSD の sssd.conf
ファイルから reconnection_retries
オプションが削除されました。SSSD は SSSD プロセス間の内部 IPC を使用する新しいアーキテクチャーに切り替えられ、レスポンダーはバックエンドに接続しなくなったため、reconnection_retries
オプションは使用されなくなりました。