上一主题: Windows 注册表保护

下一主题: 保护文件数据流

保护 Windows 注册表项

您可以保护 Windows 注册表项,这样可以为 Windows 操作提供更多保护。

保护 Windows 注册表项

  1. 如果您要使用 REGKEY 和 REGVAL 类记录,请确保这些类均处于活动状态。 (它们在默认情况下处于活动状态。)
  2. 创建 REGKEY 或 REGVAL 记录,并使用您要保护的注册表键或值的名称命名该记录。

    注意:使用完整的注册表路径名指定注册表键或值。 您可以使用通配符来指定嵌套在键下的所有子键或子键值。

    现在注册表项即通过 CA Access Control 为记录提供的默认访问权限受到保护。

  3. (可选)将用户和组连同其访问权限分配到 REGKEY 或 REGVAL 记录中相应的 Access Control 列表。

示例:提供对注册表键的默认访问权限“无”

以下 selang 命令将提供对注册表键的默认访问权限“无”:

er REGKEY HKEY_LOCAL_MACHINE\SOFTWARE\Test\Key1 defacc(NONE) owner(nobody)

因此,对 key1 的默认访问权限如下所示:

操作

版本早于 Windows Server 2003 的系统

Windows Server 2003 及更高版本的系统

Windows Server 2008 及更高版本的系统

枚举子键

拒绝

拒绝

拒绝

查询、修改、重命名或删除键

拒绝

拒绝

拒绝

加载或卸载键上的 hive

拒绝

拒绝

拒绝

枚举值

拒绝

拒绝

允许

读取、创建、重命名或删除值

拒绝

允许

允许

枚举子键的子键

拒绝

允许

允许

创建子键

允许

允许

允许

查询、修改、重命名或删除子键

允许

允许

允许

加载或卸载子键上的 hive

允许

允许

允许

示例:提供对注册表键的默认访问权限“读取”

以下 selang 命令将提供对注册表键的默认访问权限“读取”:

er REGKEY HKEY_LOCAL_MACHINE\SOFTWARE\Test\Key1 defacc(READ) owner(nobody)

因此,对 Key 1 的默认访问权限如下所示:

操作

版本早于 Windows Server 2003 的系统

Windows Server 2003 及更高版本

Windows Server 2008 及更高版本

枚举子键

允许

允许

允许

读取键

允许

允许

允许

修改、重命名或删除键

拒绝

拒绝

拒绝

加载或卸载键上的 hive

拒绝

拒绝

拒绝

枚举值

允许

允许

允许

读取值

允许

允许

允许

创建、重命名或删除值

拒绝

允许

允许

枚举子键的子键

允许

允许

允许

创建子键

允许

允许

允许

查询、修改、重命名或删除子键

允许

允许

允许

加载或卸载子键上的 hive

允许

允许

允许

枚举子键值

允许

允许

允许

创建子键值

允许

允许

允许

示例:提供对注册表键通配符的默认访问权限“无”

以下 selang 命令将提供对注册表键中所有子键的默认访问权限“无”:

er REGKEY HKEY_LOCAL_MACHINE\SOFTWARE\Test\Key1\* defacc(NONE) owner(nobody)

通配符 (*) 不应用于 Key1,但应用于 Key1 的所有子键;这意味着对 Key1 所有子键的任何形式的访问都将被拒绝。 由于存在父保护规则,也会拒绝意在重命名或删除 Key1 的访问。

该命令允许对 Key1 的值进行访问。 对 Key1 的子键值(例如 Key1\subkey1\ 的值)的访问权限在不同的 Windows 系统之间有所差异:

示例:对注册表值提供默认访问权限“无”

以下 selang 命令在 Windows Server 2003 和更高版本的系统上将通过访问权限“无”来保护特定注册表值:

er REGVAL HKEY_LOCAL_MACHINE\SOFTWARE\TestKey\value1 defacc(NONE) owner(nobody)

注意:在 Windows Server 2008 及更高版本的系统上,如果访问权为“NONE”的访问者尝试访问受保护的注册表值,CA Access Control 会返回值 REG_NONE。 REG_NONE 值将确认该值存在,但不会具体说明该值是什么。