Windows レジストリ保護
内容
capamsc141
Privileged Access Manager
では、Windows レジストリ エントリを保護することができます。レジストリ キーを保護するには、クラス REGKEY のリソースをキーに割り当てます。他のリソースと同じように、キーでアクセス権限を指定できます。
キーに対してアクセス権限を指定しても、サブキーの列挙(一覧表示)を除いて、キーのサブキーのアクセスには影響しません。サブキーの列挙には、キーの読み取りアクセス権が必要になります。
Privileged Access Manager
でサポートされているのは、Windows Server 2003 以降の Windows システム上の AC 環境での REGVAL リソースのみです。これらのシステムでは、Privileged Access Manager
は REGVAL クラスを使用してレジストリ値を保護します。REGKEY のアクセス権限は、キーの値へのアクセスには影響しません。それより前のシステム上の AC 環境では、
Privileged Access Manager
は REGVAL リソースをサポートしていません。REGKEY レコードに適用されるアクセス権限が、キーの値へのアクセスにも影響します。REGKEY レコードと REGVAL レコードの構造は同じです。各レコードには、以下のアクセス制御リストが含まれています。
- ACL
- CALACL
- NACL
- PACL
REGVAL レコードと REGKEY レコードの両方において、以下の同じアクセス タイプが許可されます。
- READ
- WRITE
- DELETE
- NONE
Privileged Access Manager
のレジストリ保護では、ハイブのロードおよびアンロードのレジストリ操作は保護されません。Windows Server 2008 以降のシステムでは、アクセス権が NONE の保護されたレジストリ値にアクセサがアクセスしようとした場合、Privileged Access Manager
は REG_NONE の値を返します。REG_NONE の値は、値は存在するけれども値が指定されていないことを確認します。Windows レジストリ エントリの保護
Windows レジストリ エントリを保護できるので、Windows の操作を保護することもできます。
Windows レジストリ エントリを保護するには:
- REGKEY クラス レコードと REGVAL クラス レコードを使用する場合は、これらのレコードがアクティブであることを確認します。(デフォルトでアクティブになっています)。
- 保護するレジストリ キーまたは値の名前で、REGKEY レコードまたは REGVAL レコードを作成します。キーまたは値を指定する場合は、完全なレジストリ パス名を使用してください。ワイルドカードを使用してキーにネストされているすべてのサブキーまたはサブキーの値を指定することができます。これで、このレジストリ エントリは、Privileged Access Managerがレコードに提供するデフォルトのアクセス権で保護されます。
- (オプション)ユーザおよびグループと、そのアクセス権限を、REGKEY レコードまたは REGVAL レコードに含まれる適切なアクセス制御リストに割り当てます。
例: レジストリ キーに対するデフォルトのアクセス権を NONE に設定する
以下の selang コマンドは、レジストリ キーに対するデフォルトのアクセス権を NONE に設定します。
er REGKEY HKEY_LOCAL_MACHINE\SOFTWARE\Test\Key1 defacc(NONE) owner(nobody)
この結果、key1 に対するデフォルトのアクセス権は以下のようになります。
アクション | Windows Server 2003 以前のシステム | Windows Server 2003 以降のシステム | Windows Server 2008 以降のシステム |
サブキーの列挙 | 拒否 | 拒否 | 拒否 |
キーのクエリ、変更、名前変更、または削除 | 拒否 | 拒否 | 拒否 |
キーへのハイブのロードおよびアンロード | 拒否 | 拒否 | 拒否 |
値の列挙 | 拒否 | 拒否 | 許可 |
値の読み取り、作成、名前変更、または削除 | 拒否 | 許可 | 許可 |
サブキーのサブキーの列挙 | 拒否 | 許可 | 許可 |
サブキーの作成 | 許可 | 許可 | 許可 |
サブキーのクエリ、変更、名前変更、または削除 | 許可 | 許可 | 許可 |
サブキーへのハイブのロードまたはアンロード | 許可 | 許可 | 許可 |
例: レジストリ キーに対するデフォルトのアクセス権を READ に設定する
以下の selang コマンドは、レジストリ キーに対するデフォルトのアクセス権を READ に設定します。
er REGKEY HKEY_LOCAL_MACHINE\SOFTWARE\Test\Key1 defacc(READ) owner(nobody)
この結果、key1 に対するデフォルトのアクセス権は以下のようになります。
アクション | Windows Server 2003 以前のシステム | Windows Server 2003 以降 | Windows Server 2008 以降 |
サブキーの列挙 | 許可 | 許可 | 許可 |
キーの読み取り | 許可 | 許可 | 許可 |
キーの変更、名前変更、または削除 | 拒否 | 拒否 | 拒否 |
キーへのハイブのロードおよびアンロード | 拒否 | 拒否 | 拒否 |
値の列挙 | 許可 | 許可 | 許可 |
値の読み取り | 許可 | 許可 | 許可 |
値の作成、名前変更、または削除 | 拒否 | 許可 | 許可 |
サブキーのサブキーの列挙 | 許可 | 許可 | 許可 |
サブキーの作成 | 許可 | 許可 | 許可 |
サブキーのクエリ、変更、名前変更、または削除 | 許可 | 許可 | 許可 |
サブキーへのハイブのロードまたはアンロード | 許可 | 許可 | 許可 |
サブキーの値の列挙 | 許可 | 許可 | 許可 |
サブキーの値の作成 | 許可 | 許可 | 許可 |
例: レジストリ キーのワイルドカードに対するデフォルトのアクセス権を NONE に設定する
以下の selang コマンドは、レジストリ キー内のすべてのサブキーに対するデフォルトのアクセス権を NONE に設定します。
er REGKEY HKEY_LOCAL_MACHINE\SOFTWARE\Test\Key1\* defacc(NONE) owner(nobody)
ワイルドカード(*)は Key1 に適用されませんが、Key1 のすべてのサブキーに適用されます。このルールは、Key1 のすべてのサブキーに対してあらゆる形式のアクセスが拒否されるという意味です。また、親保護のルールにより、Key1 の名前変更または削除も拒否されます。
このコマンドは、Key1 の値へのアクセスを許可します。Key1 のサブキーの値(たとえば、Key1\subkey1\ の値)に対するアクセスは、Windows システム間で異なります。
- Windows Server 2003 以降のシステムでは、このコマンドは、Key1 のサブキーの値を列挙するためのアクセスは拒否します。ただし、このコマンドは、値を作成、名前変更、削除、および読み取るためのアクセスは許可します。
- Windows Server 2003 より前のシステムでは、このコマンドは、Key1 のサブキーの値に対するすべてのアクセスを拒否します。
例: レジストリ値に対するデフォルトのアクセス権を NONE に設定する
Windows Server 2003 以降のシステムでは、以下の selang コマンドで、アクセス権を NONE に設定して特定のレジストリ値を保護します。
er REGVAL HKEY_LOCAL_MACHINE\SOFTWARE\TestKey\value1 defacc(NONE) owner(nobody)
Windows Server 2008 以降のシステムでは、アクセス権が NONE の保護されたレジストリ値にアクセサがアクセスしようとした場合、
Privileged Access Manager
は REG_NONE の値を返します。REG_NONE の値は、値は存在するけれども値が指定されていないことを確認します。