4.5. RHEL でのグループポリシーアクセス制御の適用
Group Policy Object (GPO) は、AD 環境のコンピューターおよびユーザーに適用可能な Microsoft Active Directory (AD) に保存されているアクセス制御設定の集合です。管理者は、AD で GPO を指定することにより、AD に参加している Windows クライアントと Red Hat Enterprise Linux (RHEL) ホストの両方によって適用されるログインポリシーを定義できます。
4.5.1. SSSD が GPO アクセス制御ルールを解釈する方法 リンクのコピーリンクがクリップボードにコピーされました!
デフォルトでは、SSSD は Active Directory (AD) ドメインコントローラーからグループポリシーオブジェクト (GPO) を取得し、ユーザーが AD に参加している特定の RHEL ホストにログインできるかどうかを判断します。
SSSD は AD Windows Logon Rights を Pluggable Authentication Module (PAM) サービス名にマッピングし、GNU/Linux 環境でこれらのパーミッションを強制します。
AD 管理者として、セキュリティーフィルターにリストすることで、GPO ルールのスコープを特定のユーザー、グループ、またはホストに制限できます。
ホストによるフィルタリングの制限
SSSD の古いバージョンは、AD GPO セキュリティーフィルター内のホストを評価しません。
- RHEL 8.3.0 以降: SSSD は、セキュリティーフィルター内のユーザー、グループ、およびホストをサポートします。
-
8.3.0 よりも古い RHEL バージョン: SSSD はホストエントリーを無視し、セキュリティーフィルターでユーザーおよびグループのみをサポートします。
SSSD が GPO ベースのアクセス制御を特定のホストに適用するようにするには、AD ドメインで新しい組織単位 (OU) を作成し、システムを新しい OU に移動してから GPO をこの OU にリンクします。
グループ別フィルタリングの制限
SSSD は現在、セキュリティー識別子 (SID) S-1-5-32-544 を持つ Administrators など、Active Directory の組み込みグループをサポートしていません。Red Hat は、RHEL ホストを対象とする AD GPO で AD 組み込みグループを使用することは推奨していません。
4.5.2. SSSD がサポートする GPO 設定のリスト リンクのコピーリンクがクリップボードにコピーされました!
以下の表は、Windows の グループポリシー管理エディター で指定される Active Directory GPO オプションに対応する SSSD オプションを示しています。
| GPO オプション | 対応する sssd.conf オプション |
|---|---|
|
ローカルでのログオンの許可 |
|
|
リモートデスクトップサービスを介したログオンの許可 |
|
|
ネットワークからこのコンピューターへのアクセス |
|
|
バッチジョブとしてのログオンの許可 |
|
|
サービスとしてのログオンの許可 |
|
4.5.3. GPO 強制を制御する SSSD オプションのリスト リンクのコピーリンクがクリップボードにコピーされました!
次の SSSD オプションを設定して、GPO ルールの範囲を制限できます。
ad_gpo_access_control オプション
/etc/sssd/sssd.conf ファイルに ad_gpo_access_control オプションを設定して、GPO ベースのアクセス制御が動作する 3 種類のモードを選択できます。
ad_gpo_access_control の値 | 動作 |
|---|---|
|
|
GPO ベースのアクセス制御ルールが評価され、適用されます。 |
|
|
GPO ベースのアクセス制御ルールは評価されますが、強制されません。 |
|
| GPO ベースのアクセス制御ルールは、評価も強制もされません。 |
ad_gpo_implicit_deny オプション
ad_gpo_implicit_deny オプションは、デフォルトで False に設定されます。このデフォルトの状態では、適用可能な GPO が見つからない場合にユーザーがアクセスが許可されます。このオプションを True に設定する場合は、GPO ルールを使用したユーザーアクセスを明示的に許可する必要があります。
この機能を使用してセキュリティーを強化することはできますが、アクセスを意図せずに拒否しないように注意してください。Red Hat は、ad_gpo_access_control が permissive に設定されている間に、この機能をテストすることを推奨します。
以下の表では、AD サーバー側で定義したログイン権限と ad_gpo_implicit_deny の値に基づいてユーザーがアクセスを許可または拒否されるタイミングを表しています。
| allow-rules | deny-rules | 結果 |
|---|---|---|
| なし | なし | すべてのユーザーが許可 |
| なし | あり | deny-rules でないユーザーのみが許可 |
| あり | なし | allow-rules のユーザーのみを許可 |
| あり | あり | allow-rules のユーザーのみが許可されますが、拒否ルールでは許可されません |
| allow-rules | deny-rules | 結果 |
|---|---|---|
| なし | なし | すべてのユーザーを拒否 |
| なし | あり | すべてのユーザーを拒否 |
| あり | なし | allow-rules のユーザーのみを許可 |
| あり | あり | allow-rules のユーザーのみが許可されますが、拒否ルールでは許可されません |
4.5.4. GPO アクセス制御モードの変更 リンクのコピーリンクがクリップボードにコピーされました!
この手順では、GPO ベースのアクセス制御ルールが Active Directory (AD) 環境に参加している RHEL ホストでどのように評価されるかを変更します。
この例では、テスト目的で GPO 操作モードを Enforcing (デフォルト) から Permissive に変更します。
以下のエラーが表示された場合には、GPO ベースのアクセス制御により Active Directory ユーザーはログインできません。
/var/log/secure:Oct 31 03:00:13 client1 sshd[124914]: pam_sss(sshd:account): Access denied for user aduser1: 6 (Permission denied) Oct 31 03:00:13 client1 sshd[124914]: Failed password for aduser1 from 127.0.0.1 port 60509 ssh2 Oct 31 03:00:13 client1 sshd[124914]: fatal: Access denied for user aduser1 by PAM account configuration [preauth]/var/log/sssd/sssd__example.com_.log:(Sat Oct 31 03:00:13 2020) [sssd[be[example.com]]] [ad_gpo_perform_hbac_processing] (0x0040): GPO access check failed: [1432158236](Host Access Denied) (Sat Oct 31 03:00:13 2020) [sssd[be[example.com]]] [ad_gpo_cse_done] (0x0040): HBAC processing failed: [1432158236](Host Access Denied} (Sat Oct 31 03:00:13 2020) [sssd[be[example.com]]] [ad_gpo_access_done] (0x0040): GPO-based access control failed.
これが望ましくない動作の場合は、AD で正しい GPO 設定のトラブルシューティング中に、この手順で説明されているように、ad_gpo_access_control を Permissive に設定できます。
前提条件
- SSSD を使用して RHEL ホストを AD 環境に追加している。
-
/etc/sssd/sssd.conf設定ファイルの編集には、root権限が必要になります。
手順
SSSD サービスを停止します。
[root@server ~]# systemctl stop sssd-
テキストエディターで
/etc/sssd/sssd.confファイルを開きます。 AD ドメインの
domainセクションで、ad_gpo_access_controlをPermissiveに設定します。[domain/example.com] ad_gpo_access_control=permissive ...-
/etc/sssd/sssd.confファイルを保存します。 SSSD サービスを再起動して、設定の変更を読み込みます。
[root@server ~]# systemctl restart sssd
4.5.5. AD GUI での RHEL ホストの GPO の作成および設定 リンクのコピーリンクがクリップボードにコピーされました!
Group Policy Object (GPO) は、AD 環境のコンピューターおよびユーザーに適用可能な Microsoft Active Directory (AD) に保存されているアクセス制御設定の集合です。次の手順では、AD グラフィカルユーザーインターフェイス (GUI) に GPO を作成して、AD ドメインに直接統合されている RHEL ホストへのログオンアクセスを制御します。
前提条件
- SSSD を使用して RHEL ホストを AD 環境に追加している。
- GUI を使用して AD に変更を加えるための AD 管理者権限がある。
手順
Active Directory Users and Computers 内で、新しい GPO に関連付ける組織単位 (OU) を作成します。
- ドメインを右クリックします。
- New を選択します。
- Organizational Unit を選択します。
- RHEL ホストを表すコンピューターオブジェクトの名前 (ホストが Active Directory に参加したときに作成されたもの) をクリックし、新しい OU にドラッグします。独自の OU に RHEL ホストがあると、GPO はこのホストをターゲットとします。
Group Policy Management Editor 内で、作成した OU の新しい GPO を作成します。
- Forest を展開します。
- Domains を展開します。
- ドメインを展開します。
- 新しい OU を右クリックします。
- Create a GPO in this domain を選択します。
- 新しい GPO の名前 (Allow SSH access や Allow Console/GUI access など) を指定して、OK をクリックします。
新しい GPO を編集します。
- Group Policy Management Editor 内で OU を選択します。
- 右クリックして Edit を選択します。
- User Rights Assignment を選択します。
- Computer Configuration を選択します。
- Policies を選択します。
- Windows Settings を選択します。
- Security Settings を選択します。
- Local Policies を選択します。
- User Rights Assignment を選択します。
ログインパーミッションを割り当てます。
- ローカルコンソール/GUI アクセスを許可するには、Allow log on locally をダブルクリックします。
- SSH アクセスを許可するには、Allow log on through Remote Desktop Services をダブルクリックします。
これらのポリシーのいずれかにアクセスするユーザーをポリシー自体に追加します。
- Add User or Group をクリックします。
- 空白フィールドにユーザー名を入力します。
- OK をクリックします。