4.5. RHEL でのグループポリシーアクセス制御の適用
Group Policy Object (GPO) は、AD 環境のコンピューターおよびユーザーに適用可能な Microsoft Active Directory (AD) に保存されているアクセス制御設定の集合です。管理者は、AD で GPO を指定することで、AD に参加している Windows クライアントと Red Hat Enterprise Linux (RHEL) ホストの両方が許可するログインポリシーを定義できます。
以下のセクションでは、環境で GPO を管理する方法を説明します。
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 の組み込みグループを使用することを推奨しています。
関連情報
- Windows GPO オプションとそれに対応する SSSD オプションのリストは、SSSD がサポートする GPO 設定のリスト を参照してください。
4.5.2. SSSD がサポートする GPO 設定のリスト
以下の表は、Windows の グループポリシー管理エディター で指定される Active Directory GPO オプションに対応する SSSD オプションを示しています。
表4.1 SSSD が取得した GPO アクセス制御オプション
GPO オプション | 対応する sssd.conf オプション |
---|---|
ローカルでのログオンの許可 |
|
リモートデスクトップサービスを介したログオンの許可 |
|
ネットワークからこのコンピューターへのアクセス |
|
バッチジョブとしてのログオンの許可 |
|
サービスとしてのログオンの許可 |
|
関連情報
-
GPO オプションにマップする PAM (プラグ可能な認証モジュール) サービスなど、この
sssd.conf
設定の詳細は、sssd-ad(5)
の man ページを参照してください。
4.5.3. GPO 強制を制御する SSSD オプションのリスト
次の SSSD オプションを設定して、GPO ルールの範囲を制限できます。
ad_gpo_access_control
オプション
/etc/sssd/sssd.conf
ファイルに ad_gpo_access_control
オプションを設定して、GPO ベースのアクセス制御が動作する 3 種類のモードを選択できます。
表4.2 ad_gpo_access_control
の値の表
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
の値に基づいてユーザーがアクセスを許可または拒否されるタイミングを表しています。
表4.3 ad_gpo_implicit_deny
が False
(デフォルト) に設定されているログイン動作
allow-rules | deny-rules | 結果 |
---|---|---|
なし | なし | すべてのユーザーが許可 |
なし | あり | deny-rules でないユーザーのみが許可 |
あり | なし | allow-rules のユーザーのみを許可 |
あり | あり | allow-rules のユーザーのみが許可されますが、拒否ルールでは許可されません |
表4.4 ad_gpo_implicit_deny
が True
に設定されているログイン動作
allow-rules | deny-rules | 結果 |
---|---|---|
なし | なし | すべてのユーザーを拒否 |
なし | あり | すべてのユーザーを拒否 |
あり | なし | allow-rules のユーザーのみを許可 |
あり | あり | allow-rules のユーザーのみが許可されますが、拒否ルールでは許可されません |
関連情報
- SSSD で GPO 強制モードを変更する手順は、GPO アクセス制御モードの変更 を参照してください。
-
さまざまな GPO モードの詳細は、
sssd-ad(5)
man ページのad_gpo_access_control
のエントリーを参照してください。
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
関連情報
- さまざまな GPO アクセス制御モードのリストは、GPO の適用を制御する 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 ユーザーおよびコンピューター
内で、新しい GPO に関連付ける組織単位 (OU) を作成します。- ドメインを右クリックします。
-
New
を選択ます。 -
Organizational Unit
を選択します。
- Active Directory に参加しているときに) RHEL ホストを表す Computer オブジェクトの名前をクリックし、新しい OU にドラッグします。独自の OU に RHEL ホストがあると、GPO はこのホストをターゲットとします。
Group Policy Management Editor
で、作成した OU の GPO を新規作成します。-
Forest
をデプロイメントします。 -
Domain
をデプロイメントします。 - ドメインをデプロイメントします。
- 新しい OU をダブルクリックします。
-
Create a GPO in this domain
を選択します。
-
-
Allow SSH access
またはAllow Console/GUI access
など、新規 GPO の名前を指定してOK
をクリックします。 新規 GPO を編集します。
-
Group Policy Management
エディター内で OU を選択します。 -
右クリックして
Edit
を選択します。 -
User Queuing Assignment
を選択します。 -
Computer Configuration
を選択します -
Policies
を選択します。 -
Windows Settings
を選択します。 -
セキュリティー設定
を選択します。 -
Local Policies
を選択します。 -
User Queuing Assignment
を選択します。
-
ログインパーミッションを割り当てます。
-
Allow log on locally
をダブルクリックしてローカルコンソール/GUI アクセスを付与します。 -
Allow log on through Remote Desktop Services
をダブルクリックして、SSH アクセスを付与します。
-
これらのポリシーのいずれかにアクセスするユーザーをポリシー自体に追加します。
-
Add User or Group
をクリックします。 - 空白フィールドにユーザー名を入力します。
-
OK
をクリックします。
-
関連情報
- Group Policy Objects の詳細は、Microsoft ドキュメントの Group Policy Objects を参照してください。
4.5.6. 関連情報
- RHEL ホストを Active Directory 環境にジョインする方法は、SSSD を使用した RHEL システムを AD に直接接続 を参照してください。