第13章 Identity Management
RHEL 9 と RHEL 10 の間で、Identity Management (IdM) に最も注目すべき変更点があったことを概説します。
- IdM デプロイメントにおける DNS over TLS (DoT) がテクノロジープレビューとして利用可能になりました
DNS over TLS (DoT) を使用して暗号化された DNS を、RHEL 10 の 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 へのフォールバックを許可する、
relaxedDNS ポリシーを使用します。新しい--dns-policyオプションをenforced設定で使用することで、暗号化のみの通信を強制できます。また、新しい DoT オプションを指定した
ipa-dns-installを使用して統合 DNS サービスを再設定することにより、既存の IdM デプロイメントで DoT を有効にすることもできます。-
- DoT による暗号化された DNS が、IdM の ansible-freeipa インストールでテクノロジープレビューとして利用可能になりました
Ansible を使用して、DNS クライアントと Identity Management (IdM) DNS サーバー間のすべての DNS クエリーと応答を暗号化できます。DNS over TLS (DoT) による暗号化された DNS は、RHEL 10 から IdM 環境でテクノロジープレビューとして利用可能になりました。RHEL 10.1 では、この機能は
freeipa.ansible_freeipaコレクションのテクノロジープレビューとして利用できます。ansible-freeipaを使用して IdM のデプロイ時に DoT を有効にするには、次のオプションを使用します。-
新しいサーバー場合は、
freeipa.ansible_freeipa.ipaserverロールとともにipaserver_dns_over_tlsを使用します。 -
レプリカの場合は、
freeipa.ansible_freeipa.ipareplicaロールとともにipareplica_dns_over_tlsを使用します。 -
アップストリームの DoT 対応 DNS サーバーを指定するには、
dot_forwarderを使用します。 -
DoT の証明書を設定するには、
dns_over_tls_keyとdns_over_tls_certを使用します。
さらに、
dns_policy変数を設定して DoT のみの通信を強制し、暗号化されていない DNS へのフォールバックを許可するデフォルトの動作をオーバーライドすることもできます。-
新しいサーバー場合は、
ansible-freeipaRPM と RH AAH コレクション間の互換性-
RHEL 10.1 以降、
ansible-freeipaRPM パッケージによって提供されるfreeipa.ansible_freeipaコレクションが、Red Hat Ansible Automation Hub (RH AAH) によって提供されるredhat.rhel_idmコレクションの名前空間および名前と互換性を持つようになりました。RPM パッケージをインストールした場合、AAH のロールとモジュールを参照する Playbook を実行できるようになりました。内部的には、RPM パッケージの名前空間と名前が使用されることに注意してください。 - 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 間の移行が IdM で完全にサポートされるようになりました
-
以前はテクノロジープレビューとして利用可能だった IdM 間の移行が、RHEL 10.1 で完全にサポートされるようになりました。
ipa-migrateコマンドを使用すると、SUDO ルール、HBAC、DNA 範囲、ホスト、サービスなど、すべての IdM 固有のデータを、ある IdM サーバーから別の IdM サーバーに移行できます。これは、たとえば、IdM を開発環境またはステージング環境から実稼働環境に移行する場合に役立ちます。 ansible-freeipaが Ansible コレクション形式を使用するようになるRHEL 10 では、
ansible-freeiparpm は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- 期限切れの証明書の自動削除がデフォルトで有効化される
RHEL 10 では、IdM の新しいレプリカで、期限切れの証明書の自動削除がデフォルトで有効になります。このための前提条件は、RSNv3 を使用して証明書のランダムなシリアル番号を生成することです。これもデフォルトで有効化されるようになりました。
その結果、証明書はランダムなシリアル番号で作成されようになり、有効期限が切れると、デフォルトの保持期間である有効期限後 30 日が経過すると自動的に削除されます。
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 に移行します。
nsslapd-subtree-rename-switchが389-ds-baseから削除されましたこの更新前は、データベース内のサブツリー間でエントリーを移動できないように Directory Server を設定できました。安定性の問題のため、この機能は削除されました。したがって、
nsslapd-subtree-rename-switchパラメーターは存在しなくなりました。その結果、サブツリー間でのエントリーの移動を無効にできなくなりました。代替策として、アクセス制御命令 (ACI) を作成することにより、エントリーの移動を無効にできます。
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-
- SSSD ファイルプロバイダーが削除される
- SSSD ファイルプロバイダーは RHEL 10.0 から削除されました。以前は、SSSD ファイルプロバイダーが、ローカルユーザーのスマートカード認証とセッション記録を行っていました。代わりに、SSSD プロキシープロバイダーを設定できます。
Localプロファイルが新しいデフォルトのauthselectプロファイルとなるRHEL 10.0 で SSSD ファイルプロバイダーが削除されたため、SSSD に依存せずにローカルユーザー管理を処理するための新しい
authselectlocalプロファイルが導入されました。localプロファイルは以前のminimalプロファイルを置き換え、sssdプロファイルの代わりに、新しいインストールのデフォルトのauthselectプロファイルになります。アップグレード中、
authselectユーティリティーは既存の設定をminimalからlocalプロファイルに自動的に移行します。さらに、
sssdauthselectプロファイルが更新され、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オプションは使用されなくなりました。 - RootDSE の読み取りを制御する新しい SSSD オプション
ldap_read_rootdse RHEL 10.1 以降、SSSD が新しいオプションである
ldap_read_rootdseを提供するようになりました。これは、SSSD が LDAP サーバーから Root Directory Service Entry (RootDSE) を読み取る方法を制御するためのオプションです。デフォルトでは、SSSD はユーザーが認証する前に RootDSE を匿名で読み取ろうとします。しかし、このデフォルトの動作は、厳格なセキュリティーポリシーと競合する場合があります。厳格なセキュリティーポリシーは、通常、LDAP サーバーへのすべての匿名バインドを制限します。この動作を管理するには、
ldap_read_rootdseオプションをauthenticatedに設定して、ユーザー認証が成功した後にのみ SSSD が RootDSE を読み取るように指示するか、このオプションをneverに設定して、SSSD による読み取りを完全に防止してください。- 複数の PKCS#11 トークンがある環境でのスマートカード認証が改善されました
RHEL 10.1 で、SSSD のスマートカード認証が強化され、複数の PKCS#11 トークンが同時に挿入される環境で認証を処理できるようになりました。これにより、特に複数のユーザーアカウントが必要で、それぞれが異なる特権を持ち、多くの場合個別の PKI トークンに関連付けられている STIG 準拠の環境での認証が改善されます。
以前は、最初にチェックされたトークンに適合する証明書が含まれていない場合、SSSD が認証に失敗することがありました。これは、SSSD が他の利用可能なトークンにある適切な証明書を続けて検索していなかったためです。この更新により、SSSD は挿入されたすべての PKCS#11 トークンをスキャンして適合する認証証明書を探すようになりました。その結果、ユーザーが正常に認証できるようになりました。
- SHA-1 マスターキーを使用した IdM デプロイメントに FIPS モードで RHEL 10 レプリカを追加すると失敗する
FIPS 140-3 に準拠した Red Hat Enterprise Linux (RHEL) 10 のデフォルトの FIPS 暗号化ポリシーでは、AES HMAC-SHA1 暗号化タイプの鍵導出機能の使用が許可されていません。
この制約により、SHA-1 ベースの Kerberos マスターキーを使用する既存の IdM 環境に、FIPS モードの RHEL 10 Identity Management (IdM) レプリカを追加することはできません。RHEL 9 と RHEL 10 はどちらもデフォルトで AES HMAC-SHA2 を使用しますが、IdM のデプロイメントが RHEL 8.6 以前で最初に初期化された場合は、SHA-1 マスターキーが使用される可能性があります。
注記既存の IdM Kerberos マスターキーを SHA-1 から SHA-2 にアップグレードするための手順を提供する作業が進行中です。これにより、現在 SHA-1 を使用しているデプロイメントでも FIPS 140-3 への準拠が可能になります。
- FreeRADIUS のサポートは限定的です
RHEL 10 では、FreeRADIUS の提供内容に以下の外部認証モジュールは含まれていません。
- MySQL、PostgreSQL、SQlite、および unixODBC データベースコネクター
-
Perl言語モジュール - REST API モジュール
注記PAM 認証モジュールおよび基本パッケージに含まれるその他の認証モジュールは、引き続き利用可能であり、完全にサポートされます。
削除されたモジュールの代替は、Fedora プロジェクトなどのコミュニティーでサポートされているパッケージで見つけることができます。
さらに、
freeradiusパッケージのサポートは、以下のユースケースに限定されています。-
FreeRADIUS を認証プロバイダーとして使用し、バックエンド認証ソースとして Identity Management (IdM) を使用する。認証は、
krb5モジュールまたは LDAP モジュールを使用するか、FreeRADIUS のメインパッケージに統合されている PAM モジュールを介して行われます。 -
Python 3 の認証パッケージを介して、IdM における認証の信頼できる情報源として FreeRADIUS を使用する。
これらの削除とは対照的に、Red Hat は FreeRADIUS を使用して以下の外部認証モジュールのサポートを強化しています。
-
krb5および LDAP に基づく認証 -
Python 3認証
これらのインテグレーションオプションに重点を置くことは、Red Hat IdM の戦略的方向性に一致します。