多点出击加强Windows系统注册表的安全
2010-09-27 19:31:32 来源:WEB开发网对于Windows系统来说,注册表和系统的安全稳定运行休戚相关。正因如此,它也成了系统的软肋,任何不当操作或者恶意破坏都会造成灾难性的后果。其实,为了减少因为上述安全风险,注册表有一些内建的安全限制(比如注册表默认限制某些区域只能被特定用户看到,例如HKLMSAM和HKLMSECURITY就只能被LocalSystem用户看到)。但仅仅有这些安全措施还远远不能保证注册表的安全,我们还应该进行更加严格的安全控制。下面笔者和大家分享自己在这方面的一些经验。
说明:下面的所有操作是在Windows Server 2008上进行的,其中绝大多少适用于其他Windows系统,只有极少的部分是就要Server 2008的。
1、设置对注册表工具(Regedit.exe)的运行限制
保护注册表不受未经授权访问的做好办法之一是让恶意用户根本无法访问注册表。对于服务器来说,这意味着要严格控制服务器的物理安全,只允许管理员本地登录。对于其他系统,或者无法防止用户本地登录到服务器的情况下,则可以针对Regedit.exe和Reg.exe配置访问权限,使其更安全。另外,我们也可以尝试从系统中删除注册表编辑器以及Reg命令,但这会导致其他问题,造成管理员系统管理的麻烦,尤其是当管理员需要从远程访问注册表的时候,这样的做法有些自断后路。
我们可以采取一个比较折中的方法,就是修改注册表编辑器的访问权限,以限制其它非授权用户对其进行访问。访问%SystemRoot%文件夹,找到注册表编辑器程序Regedit.exe,右键单击该工具选择“属性”。在属性对话框中打开“安全”选项卡,可以看到如图所示的界面。在该界面中我们根据需要添加或者删除用户或者组,然后设置其必要的访问权限。这里的权限设置和对文件(文件夹)的权限设置是一样的,我们可以选择一个对象,然后允许或者拒绝特定的权限。除了Regedit.exe的设置外,我们还需要对命令行下的注册表访问工具Reg.exe进权限设置。打开%SystemRoot%System32文件夹,用鼠标右键单击该程序,选择“属性”。同样在属性对话框中打开“安全”选项卡,默认情况下该命令可以被一般用户管理员使用,我们可以根据需要在该界面中进行用户授权和权限设置。以笔者的经验,大家不要通过组统一授权,因为这样该组中的所有用户都具有相应的权限。我们可以删除组,只为具体的用户授权,这样攻击者通过添加到组实施对注册表的控制就行不通了。(图1)
更多精彩
赞助商链接