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 は現在、セキュリティー識別子 (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]
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]Copy to Clipboard Copied! Toggle word wrap Toggle overflow /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.
(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.Copy to Clipboard Copied! Toggle word wrap Toggle overflow
これが望ましくない動作の場合は、AD で正しい GPO 設定のトラブルシューティング中に、この手順で説明されているように、ad_gpo_access_control を Permissive に設定できます。
前提条件
- SSSD を使用して RHEL ホストを AD 環境に追加している。
-
/etc/sssd/sssd.conf設定ファイルの編集には、root権限が必要になります。
手順
SSSD サービスを停止します。
systemctl stop sssd
[root@server ~]# systemctl stop sssdCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
テキストエディターで
/etc/sssd/sssd.confファイルを開きます。 AD ドメインの
domainセクションで、ad_gpo_access_controlをPermissiveに設定します。[domain/example.com] ad_gpo_access_control=permissive ...
[domain/example.com] ad_gpo_access_control=permissive ...Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
/etc/sssd/sssd.confファイルを保存します。 SSSD サービスを再起動して、設定の変更を読み込みます。
systemctl restart sssd
[root@server ~]# systemctl restart sssdCopy to Clipboard Copied! Toggle word wrap Toggle overflow
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 をクリックします。