多点出击加强Windows系统注册表的安全(2)
图2
3、安全设置控制对注册表的远程访问
Windows的注册表不仅可本地访问,还可远程访问。因此,攻击者或者未经授权的用户可能会像管理员一样尝试远程访问系统的注册表,这无疑会带来极大的安全风险。通常情况下,对于个人系统我们不会远程访问注册表,那么就可以禁止注册表的远程访问。
“开始”菜单中的“运行”,输入services.msc打开服务管理器,找到“Remote Registry”服务项,双击该项“停止”服务,并设置启动类型为“禁止”即可。不过,上述设置后,就完全禁止了远程对注册表的访问。但有的时候,我们需要允许可远程访问注册表的某些键,该怎么办呢?其实,我们还可通过修改注册表键值的方法来控制对注册表的远程访问。这个注册表键是“HKLMSYSTEMCurrentControlSetControlSecurePipeServersWinreg”。在开启了“Remote Registry”服务的Windows系统中就有该注册表键,Windows使用该键的权限设置判断哪些用户可以远程访问注册表,而默认情况下,通过验证的用户都可以。事实上,通过验证的用户对该键具有查询数值、枚举子键、通知和读取的控制权限。因此,我们需要排除某些敏感的注册表目录,以防止被远程恶意访问。在“HKLMSYSTEMCurrentControlSetControlSecurePipeServersWinreg”键先有个“AllowedPaths”键,其右侧有个字符串注册表键值“Machine”,双击该键值可以看到可远程访问的注册表键值路径,在此我们可以根据需要添加或者删除注册表路径,以实现对远程访问注册表路径的控制。(图3)
图3
下面做一些补充,笔者看到某些管理员基于安全需要关闭了注册表的远程访问功能,却莫名其妙地造成了某些系统故障,这里做一说明。这时因为,Windwos系统中的某些服务为了实现特殊的功能可能需要远程访问注册表,例如Directory Replicator服务已经Spooler服务,这样在关闭了对注册表的远程访问会造成这些服务的运行错误。这样我们一定要在限制对注册表的远程访问时,必须要绕过这些服务对远程注册表访问的限制。其做法是,将需要远程访问注册表的服务的账户名添加到Winreg键的访问列表中,或者将需要远程访问的注册表键的路径添加到AllowedPath值中。在Machine键下的Paths值可以让计算机访问列出的位置,Users键下的Paths值可以让用户访问列出的位置。只要对这些键没有明确的访问限制,那么就可以进行远程访问。在修改完毕后,需要重新启动计算机这样对注册表的修改才可生效。(图4)
图4
此外,对于Windows Vista和Windows Server 2008系统来说,我们可以通过“本地安全策略”控制台启用或者禁用注册表的远程访问,同时也可以设置用户或组是否列在Winreg注册表键的访问控制列表(ACL)中。这里设置了很多默认路径,笔者建议不要轻易修改它们,除非你非常清楚你要进行的操作。其操作方法是:依次单击“开始”→“管理工具”→“本地安全策略”,打开本地安全策略控制台。展开左窗格中的“本地策略”节点,然后选择“安全选项”,在主窗格中可以看到列出了很多策略设置。在此,我们可以拖动滚动条,根据需要双击“网络访问:可远程访问的注册表路径”或“网络访问:可远程访问的注册表路径和子路径”选项。在属性对话的“本地策略设置”选项卡上,可以看到允许远程访问的注册表路径以及子路径列表。在此我们可按照需要添加或删除路径或者子路径。
相关新闻>>
- 发表评论
-
- 最新评论 更多>>