4.13. Identity Management
ホームディレクトリーを小文字に変換するための SSSD のサポート
この機能強化により、ユーザーのホームディレクトリーを小文字に変換するように SSSD を設定できるようになりました。これは、RHEL 環境の大文字と小文字を区別する性質とより適切に統合するのに役立ちます。/etc/sssd/sssd.conf
ファイルの [nss]
セクションの override_homedir
オプションが %h
テンプレート値を認識するようになりました。override_homedir
定義の一部として %h
を使用すると、SSSD は %h
をユーザーのホームディレクトリーの小文字に置き換えます。
Jira:RHELPLAN-139430
SSSD が shadow
パスワードポリシーを使用した LDAP ユーザーパスワードの変更をサポートするようになりました。
この機能強化により、/etc/sssd/sssd.conf
ファイルで ldap_pwd_policy
を shadow
に設定すると、LDAP ユーザーは LDAP に保存されているパスワードを変更できるようになります。以前は、ldap_pwd_policy
が shadow
に設定されている場合、対応する shadow
LDAP 属性が更新されているかどうかが明確ではないため、パスワードの変更は拒否されました。
さらに、LDAP サーバーが shadow
属性を自動的に更新できない場合は、/etc/sssd/sssd.conf
ファイルで ldap_chpass_update_last_change
オプションを True
に設定して、属性を更新するように SSSD に指示します。
Bugzilla:1507035
IdM は min_lifetime
パラメーターをサポートするようになる
この機能拡張により、min_lifetime
パラメーターが /etc/gssproxy/*.conf
ファイルに追加されました。min_lifetime
パラメーターは、サービスチケットの残りの有効期間がこの値よりも短い場合にサービスチケットの更新をトリガーします。
デフォルトの値は 15 秒です。NFS などのネットワークボリュームクライアントの場合、KDC が一時的に利用できなくなった場合にアクセスが失われるリスクを軽減するには、この値を 60 秒に設定します。
ipapwpolicy
ansible-freeipa
モジュールが新しいパスワードポリシーオプションをサポートするようになりました。
この更新により、ansible-freeipa
パッケージに含まれる ipapwpolicy
モジュールは、追加の libpwquality
ライブラリーオプションをサポートします。
maxrepeat
- 同じ文字の最大数を連続して指定します。
maxsequence
- 単調な文字シーケンスの最大長を指定します (abcd)。
dictcheck
- パスワードが辞書の単語であるかどうかを確認します。
usercheck
- パスワードにユーザー名が含まれるかどうかを確認します。
新しいパスワードポリシーオプションのいずれかが設定されている場合、パスワードの最小長は 6 文字です。新しいパスワードポリシー設定は、新しいパスワードのみに適用されます。
RHEL 7 サーバーと RHEL 8 サーバーが混在する環境では、新しいパスワードポリシー設定は、RHEL 8.4 以降で実行されているサーバーのみに適用されます。ユーザーが IdM クライアントにログインし、IdM クライアントが RHEL 8.3 以前で実行されている IdM サーバーと通信している場合、システム管理者によって設定された新しいパスワードポリシー要件は適用されません。一貫した動作を保証するには、すべてのサーバーを RHEL 8.4 以降にアップグレードします。
Jira:RHELPLAN-137416
IdM が ipanetgroup
Ansible 管理モジュールをサポートするようになりました。
Identity Management (IdM) システム管理者は、IdM を NIS ドメインおよびネットグループと統合できます。ipanetgroup
ansible-freeipa
モジュールを使用すると、次のことを実現できます。
- 既存の IdM ネットグループに特定の IdM ユーザー、グループ、ホスト、ホストグループ、およびネストされた IdM ネットグループが含まれていることを確認できます。
- 特定の IdM ユーザー、グループ、ホスト、ホストグループ、およびネストされた IdM ネットグループが既存の IdM ネットグループに存在しないことを確認できます。
- 特定のネットグループが IdM に存在するか存在しないかを確認できます。
Jira:RHELPLAN-137411
クライアントの DNS リゾルバーを指定する新しい ipaclient_configure_dns_resolver
および ipaclient_dns_servers
Ansible ipaclient
ロール変数
以前は、ansible-freeipa
ipaclient
ロールを使用して Identity Management (IdM) クライアントをインストールする場合、インストールプロセス中に DNS リゾルバーを指定できませんでした。インストール前に DNS リゾルバーを設定する必要がありました。
この機能強化により、ipaclient
ロールを使用して IdM クライアントをインストールするときに、ipaclient_configure_dns_resolver
変数と ipaclient_dns_servers
変数を使用して DNS リゾルバーを指定できるようになりました。その結果、ipaclient
ロールは、ansible-freeipa
ipaserver
ロールが IdM サーバー上で行うのと同様の方法で、resolv.conf
ファイル、NetworkManager
および systemd-resolved
ユーティリティーを変更して、クライアント上で DNS リゾルバーを設定します。その結果、ipaclient
ロールを使用して IdM クライアントをインストールする際の DNS の設定がより効率的になりました。
ipa-client-install
コマンドラインインストーラーを使用して IdM クライアントをインストールするには、インストール前に DNS リゾルバーを設定する必要があります。
Jira:RHELPLAN-137406
ipaclient
ロールを使用して IdM クライアントを OTP とともにインストールするには、Ansible コントローラーを事前に変更する必要はありません。
以前は、Ansible コントローラーの kinit
コマンドは、Identity Management (IdM) クライアントのデプロイメント用のワンタイムパスワード (OTP) を取得するための前提条件でした。Red Hat Ansible Automation Platform (AAP) では、コントローラーで OTP を取得する必要性が問題でした。AAP では、krb5-workstation
パッケージがデフォルトでインストールされませんでした。
この更新により、管理者の TGT に対するリクエストは、最初に指定または検出された IdM サーバーに委任されるようになりました。その結果、Ansible コントローラーを追加変更することなく、OTP を使用して IdM クライアントのインストールを承認できるようになりました。これにより、AAP での ipaclient
ロールの使用が簡素化されます。
Jira:RHELPLAN-137403
IdM は、Kerberos チケットに MS-PAC 構造体の存在を適用するようになりました。
RHEL 9.2 以降、セキュリティーを向上させるために、Identity Management (IdM) および MIT Kerberos は、RHEL IdM Kerberos Distribution Center (KDC) が発行する Kerberos チケットに特権属性証明書 (MS-PAC) 構造体の存在を適用するようになりました。
2022 年 11 月、CVE-2022-37967 への対応として、Microsoft はサーバーのチェックサムではなく、MS-PAC 構造体全体で計算される拡張署名を導入しました。RHEL 9.2 以降、IdM KDC が発行する Kerberos チケットに拡張署名も含まれるようになりました。
IdM では、拡張署名の存在はまだ強制されていません。
Jira:RHELPLAN-159146
FIPS 140-3 準拠のキー暗号化を有効にする KDC の新しいレルム設定テンプレート
今回の更新により、/var/kerberos/krb5kdc/kdc.conf
ファイルに新しい EXAMPLE.COM
レルム設定の例が提供されます。これにより、次の 2 つの変更が行われます。
-
FIPS 140-3 準拠の
AES HMAC SHA-2
ファミリーが、キー暗号化でサポートされるタイプのリストに追加されました。 -
KDC マスターキーの暗号化タイプが
AES 256 HMAC SHA-1
からAES 256 HMAC SHA-384
に切り替えられます。
この更新は、スタンドアロンの MIT レルムに関するものです。RHEL Identity Management で Kerberos Distribution Center (KDC) 設定を変更しないでください。
新しいレルムには、この設定テンプレートを使用することを推奨します。テンプレートは、すでにデプロイされているレルムには影響しません。テンプレートに従ってレルムの設定をアップグレードすることを計画している場合は、次の点を考慮してください。
マスターキーをアップグレードするには、KDC 設定の設定を変更するだけでは不十分です。MIT Kerberos ドキュメントに記載されているプロセスに従います。https://web.mit.edu/kerberos/krb5-1.20/doc/admin/database.html#updating-the-master-key
AES HMAC SHA-2
ファミリーをキー暗号化のサポートされているタイプに追加しても、KDC 内の既存のエントリーに影響しないため、常に安全です。キーは、新しいプリンシパルを作成するとき、または認証情報を更新するときのみに生成されます。この新しいタイプのキーは、既存のキーに基づいて生成できないことに注意してください。これらの新しい暗号化タイプを特定のプリンシパルで使用できるようにするには、認証情報を更新する必要があります。つまり、サービスプリンシパルのキータブも更新する必要があります。
プリンシパルが AES HMAC SHA-2
キーを備えてはならない唯一のケースは、Active Directory (AD) クロスレルム ticket-granting ticket (TGT) のものです。AD は RFC8009 を実装していないため、AES HMAC SHA-2
暗号化タイプファミリーを使用しません。したがって、AES HMAC SHA-2
で暗号化されたクロスレルム TGT を使用するクロスレルム TGS-REQ は失敗します。MIT Kerberos クライアントが AD に対して AES HMAC SHA-2
を使用しないようにする最善の方法は、AD クロスレルムプリンシパルに AES HMAC SHA-2
キーを提供しないことです。これを行うには、AD ですべてサポートされているキー暗号化タイプの明示的なリストを使用して、クロスレルム TGT エントリーを作成してください。
kadmin.local <<EOF add_principal +requires_preauth -e aes256-cts-hmac-sha1-96,aes128-cts-hmac-sha1-96 -pw [password] krbtgt/[MIT realm]@[AD realm] add_principal +requires_preauth -e aes256-cts-hmac-sha1-96,aes128-cts-hmac-sha1-96 -pw [password] krbtgt/[AD realm]@[MIT realm] EOF
MIT Kerboros クライアントが AES HMAC SHA-2
暗号化タイプを使用するようにするには、これらの暗号化タイプをクライアントと KDC 設定の両方で permitted
に設定する必要もあります。RHEL では、この設定は crypto-policy システムによって管理されます。たとえば、RHEL 9 では、DEFAULT
暗号化ポリシーを使用するホストは AES HMAC SHA-2
および AES HMAC SHA-1
で暗号化されたチケットを許可しますが、FIPS
暗号化ポリシーを使用するホストは AES HMAC SHA-2
のみを受け入れます。
設定ファイルを使用して pam_pwhistory
を設定します。
この更新により、/etc/security/pwhistory.conf
設定ファイルで pam_pwhistory
モジュールを設定できるようになりました。pam_pwhistory
モジュールは、パスワード変更履歴を管理するために、各ユーザーの最後のパスワードを保存します。authselect
にもサポートが追加され、pam_pwhistory
モジュールを PAM スタックに追加できるようになりました。
Bugzilla:2126640、Bugzilla:2142805
IdM が新しい Active Directory 証明書マッピングテンプレートをサポートするようになりました
Active Directory (AD) ドメイン管理者は、altSecurityIdentities
属性を使用して、証明書を AD 内のユーザーに手動でマッピングできます。この属性には 6 つの値がサポートされていますが、3 つのマッピングは安全ではないと考えられています。2022 年 5 月 10 日のセキュリティー更新 の一部として、この更新プログラムがドメインコントローラーにインストールされると、すべてのデバイスが互換モードになります。証明書がユーザーに弱くマッピングされている場合、認証は期待どおりに行われますが、完全強制モードと互換性のない証明書を示す警告メッセージがログに記録されます。2023 年 11 月 14 日以降、すべてのデバイスは完全強制モードに更新され、証明書が強力なマッピング基準を満たさない場合、認証は拒否されます。
IdM は新しいマッピングテンプレートをサポートするようになったため、AD 管理者は両方を維持することなく、新しいルールを使用できるようになりました。IdM は、次の新しいマッピングテンプレートをサポートするようになりました。
-
シリアル番号:
LDAPU1:(altSecurityIdentities=X509:<I>{issuer_dn!ad_x500}<SR>{serial_number!hex_ur})
-
Subject Key Id:
LDAPU1:(altSecurityIdentities=X509:<SKI>{subject_key_id!hex_u})
-
User SID:
LDAPU1:(objectsid={sid})
新しい SID 拡張子を使用して証明書を再発行したくない場合は、AD のユーザーの altSecurityIdentities
属性に適切なマッピング文字列を追加して、手動マッピングを作成できます。
samba
がバージョン 4.17.5 にリベースされました。
samba
パッケージがアップストリームバージョン 4.17.5 にアップグレードされ、以前のバージョンに対するバグ修正と拡張機能が提供されています。最も注目すべき変更点:
- 以前のリリースでのセキュリティーの向上は、高メタデータワークロードのサーバーメッセージブロック (SMB) サーバーのパフォーマンスに影響を与えました。この更新により、このシナリオでのパフォーマンスが向上します。
-
詳細なステータス情報を JSON 形式で表示するために、
--json
オプションがsmbstatus
ユーティリティーに追加されました。 -
samba.smb.conf
モジュールとsamba.samba3.smb.conf
モジュールがsmbconf
Python API に追加されました。これらを Python プログラムで使用すると、Samba 設定をネイティブに読み取ったり、必要に応じて書き込むことができます。
Samba 4.11 以降はサーバーメッセージブロックバージョン 1 (SMB1) プロトコルが非推奨となり、今後のリリースで削除されることに注意してください。
Samba を起動する前にデータベースファイルがバックアップされます。smbd
、nmbd
、またはwinbind
サービスが起動すると、Samba が tdb
データベースファイルを自動的に更新します。Red Hat は、tdb
データベースファイルのダウングレードをサポートしていません。
Samba を更新した後、testparm
ユーティリティーを使用して /etc/samba/smb.conf
ファイルを確認します。
重要な変更点の詳細は、更新する前に、アップストリームリリースノート をお読みください。
ipa-client-install
が PKINIT による認証をサポートするようになりました。
以前は、ipa-client-install
はパスワードベースの認証のみをサポートしていました。この更新により、PKINIT による認証のための ipa-client-install
のサポートが提供されます。
以下に例を示します。
ipa-client-install --pkinit-identity=FILE:/path/to/cert.pem,/path/to/key.pem --pkinit-anchor=FILE:/path/to/cacerts.pem
PKINIT 認証を使用するには、IdM と PKINIT 証明書の CA チェーンの間に信頼を確立する必要があります。詳細は、ipa-cacert-manage(1)
man ページを参照してください。また、証明書 ID マッピングルールは、ホストの PKINIT 証明書を、ホストレコードを追加または変更する権限を持つプリンシパルにマップする必要があります。詳細は、ipa certmaprule-add
man ページを参照してください。
Red Hat IdM と Certificate System が EST プロトコルをサポートするようになりました。
Enrollment over Secure Transport (EST) は、RFC 7030 で指定されている新しい Certificate System サブシステム機能で、認証局 (CA) から証明書をプロビジョニングするために使用されます。EST は、/getcacerts
、/simpleenroll
、/simplereenroll
などのサーバー側の操作を実装します。
Red Hat は、Certificate System で EST とオリジナルの Simple Certificate Enrollment Protocol (SCEP) の両方をサポートしていることに注意してください。
ネガティブキャッシュの使用を強化します。
この更新により、セキュリティー識別子 (SID) によるルックアップの SSSD パフォーマンスが向上します。存在しない SID を個々のドメインのネガティブキャッシュに保存し、SID が属するドメインを要求するようになりました。
Directory Server が TLS の ECDSA 秘密キーをサポートするようになりました。
以前は、RSA より強力な暗号化アルゴリズムを使用して Directory Server 接続を保護することはできませんでした。この機能強化により、Directory Server は ECDSA キーと RSA キーの両方をサポートするようになりました。
Directory Server が検索操作の拡張ログをサポートするようになりました。
以前は、アクセスログの記録には、一部の検索操作で etime
値が非常に大きい理由が示されませんでした。このリリースでは、インデックス検索 (データベース読み取り操作) の数や各検索操作ごとのインデックス検索の全体的な継続時間などの統計のログを有効にすることができます。これらの統計レコードは、etime
値がリソースを非常に高価にする理由を分析するのに役立ちます。
Bugzilla:1859271
NUNC_STANS エラーログレベルは、新しい 1048576
ログレベルに置き換えられました。
以前は、パスワードポリシーの問題を簡単にデバッグできませんでした。エラーログの新しいログレベル 1048576
を使用すると、次のパスワードポリシー情報を確認できるようになりました。
- どのローカルポリシーがパスワードの更新を拒否または許可するか。
- どのパスワードポリシーに違反したか。
Directory Server ではセキュリティーログが導入されています。
問題を長期にわたって適切に追跡するために、Directory Server にはセキュリティーデータを維持する特殊なログが用意されるようになりました。セキュリティーログは、すべての情報が含まれるアクセスログと比較して、すぐには更新されず、消費するディスクリソースも少なくなりますが、セキュリティーデータを取得するために高価な解析が必要になります。
新しいサーバーログには、認証イベント、認可の問題、DoS/TCP 攻撃、その他のイベントなどのセキュリティーイベントが記録されます。
Directory Server は、セキュリティーログを他のログファイルとともに /var/log/dirsrv/slapd-instance_name/
ディレクトリーに保存します。
Directory Server でアーカイブされたログファイルを圧縮できるようになりました。
以前は、アーカイブされたログファイルは圧縮されていませんでした。このリリースでは、アクセス、エラー、監査、監査失敗ログ、セキュリティーログファイルの圧縮を有効にして、ディスク領域を節約できます。デフォルトではセキュリティーログファイルの圧縮のみが有効になっていることに注意してください。
圧縮を管理するには、cn=config
エントリーで次の新しい設定属性を使用します。
-
アクセスログ用の
nsslapd-accesslog-compress
-
エラーログ用の
nsslapd-errorlog-compress
-
監査ログ用の
nsslapd-auditlog-compress
-
監査失敗ログ用の
nsslapd-auditfaillog-compress
-
セキュリティーログ用の
nsslapd-securelog-compress
Bugzilla:1132524
新しい pamModuleIsThreadSafe
設定オプションが利用可能になりました
PAM モジュールがスレッドセーフである場合、新しい pamModuleIsThreadSafe
設定オプションを yes
に設定することで、その特定のモジュールの PAM 認証のスループットと応答時間を改善できます。
pamModuleIsThreadSafe: yes
この設定は、PAM モジュール設定エントリー (cn=PAM Pass Through Auth,cn=plugins,cn=config
の子) に適用されます。
dse.ldif
設定ファイルまたは ldapmodify
コマンドの pamModuleIsThreadSafe
オプションを使用します。ldapmodify
コマンドを使用するには、サーバーを再起動する必要があることに注意してください。
Directory Server が証明書バンドルをインポートできるようになりました。
以前は、dsconf
または dsctl
ユーティリティーを使用して証明書バンドルを追加しようとすると、手順がエラーで失敗し、証明書バンドルはインポートされませんでした。このような動作は、一度に 1 つの証明書しかインポートできない certutil
ユーティリティーが原因で発生しました。この更新により、Directory Server は certutil
の問題を回避し、証明書バンドルが正常に追加されました。
デフォルトの動作の変更: Directory Server が、データベース追加時とまったく同じスペルの DN を返すようになりました。
cn=config
エントリーの新しい nsslapd-return-original-entrydn
パラメーターを使用すると、検索操作中に Directory Server がエントリーの識別名 (DN) を返す方法を管理できます。
デフォルトでは、nsslapd-return-original-entrydn
パラメーターは on
に設定されており、Directory Server は最初にデータベースに追加されたときとまったく同じ DN を返します。たとえば、設定がオンの状態で、エントリー uid=User,ou=PEople,dc=ExaMPlE,DC=COM
を追加または変更すると、Directory Server はエントリーの DN のスペルと同じもの (uid=User,ou=PEople,dc=ExaMPlE,DC=COM
) を返します。
nsslapd-return-original-entrydn
パラメーターを off
に設定すると、Directory Server は、エントリーの Relative DN (RDN) と、データベース接尾辞設定の cn=userroot,cn=ldbm database,cn=plugins,cn=config
に格納されているベース DN を組み合わせてエントリー DN を生成します。ベース DN を ou=people,dc=example,dc=com
に設定し、nsslapd-return-original-entrydn
設定を off
をオフにした場合、Directory Server は、データベースにエントリーを追加したときの DN のスペルではなく、uid=User,ou=people,dc=example,dc=com
を検索時に返します。
MIT Kerberos はチケット署名および拡張 KDC MS-PAC 署名をサポートします
この更新により、Red Hat が使用する MIT Kerberos は、最近の CVE に対応して Microsoft が導入した、2 種類の特権属性証明書 (PAC) 署名のサポートを実装します。具体的には、次の署名がサポートされます。
チケット署名
- KB4598347 でリリース
- "Bronze-Bit" 攻撃とも呼ばれる CVE-2020-17049 への対処
拡張 KDC 署名
- KB5020805 でリリース
- CVE-2022-37967 への対処
RHSA-2023:2570 および krb5-1.20.1-6.el9
も参照してください。
Directory Server 監査ログ用の新しい nsslapd-auditlog-display-attrs
設定パラメーター
以前は、監査ログイベント内のターゲットエントリーを識別する方法は、識別名 (DN) のみでした。新しい nsslapd-auditlog-display-attrs
パラメーターを使用すると、監査ログに追加の属性を表示するように Directory Server を設定できます。これにより、変更されたエントリーに関する詳細情報が提供されます。
たとえば、nsslapd-auditlog-display-attrs
パラメーターを cn
に設定すると、監査ログの出力にはエントリー cn
属性が表示されます。変更されたエントリーのすべての属性を含めるには、パラメーター値としてアスタリスク (*
) を使用します。
詳細は、nsslapd-auditlog-display-attrs を参照してください。