目前微软发布的操作系统都内置了“服务”功能,对于我们来说,用不到的“服务”不但会占用系统资源,更重要的是有些服务启动了会使系统被入侵(如33889“Terminal Services”终端服务、“Remote Registry”支持远程连接注册表服务……),可能有些读者已经想到将这些服务“禁用”不就可以了吗?把这些服务设为“禁用”是可以防止别人入侵你的系统,但只要对方得到了你的用户名和密码还是有方法可以将这些服务改为“启动”的,那除了加强用户密码外,还有什么好方法可以防止对方利用开启的服务入侵呢?用以下方法就可有效地阻止对方利用某些服务入侵你的系统。
方法一:使服务失效
将容易导致系统被入侵的服务“禁用”,然后将这些服务对应的注册表键删除,这样就算对方连接到你的系统服务列表中来也不能修改服务的属性,不能修改服务属性就不能启动服务。打开注册表编辑器,依次找到“HKEY_ LOCAL_MACHINESYSTEMCurrentControlSetServices”项,其下的每个子键就是系统中对应的“服务”,如“Messenger”服务对应的子键是“Messenger”,但有的服务这两个名字不会相同,不过也很容易找到,“DisplayName”的键值就是服务的显示名称。这里以删除“Messenger”服务为例,其它服务方法相同,只是在注册表中删除的项不同,在删除这个项之前要先将其导出备份,然后点选“Messenger”项,按鼠标右键选择“删除”(重命名也可以)命令。此时在服务列表中双击“Messenger”就会弹出如(图1)所示的错误信息,当然对方连接到你的服务列表双击时也会出现这样的提示,而不是出现属性框。如果要恢复这个服务,只需将刚才备份的注册表文件导入到注册表中就可以了。
图1 错误信息提示窗口
方法二:重命名“显示名称”
假如对方得到了用户名和密码,而且你的系统又开启了“远程注册表连接”服务,那么对方还可通过远程连接你的系统注册表将“方法一”中的修改设置恢复过来,现在不妨试试以下这种方法,将“服务”的显示名称重命名为另外的名称,这样对方要开启“服务”,找起来也不像平时那样快捷。
同样以“Messenger”服务为例,打开注册表编辑器,找到“HKEY_ LOCAL_MACHINESYSTEMCurrentControlSetServicesMessenger”项,在右边窗口中找到“Description”键,这个键对应着“服务”的描述,将其值删除,接下来再找到“DisplayName”键,这个键对应着“服务”在列表中显示的名称,双击“DisplayName”键将其值修改为另外的名称如(Gsn),按“确定”按钮后退出注册表编辑器,这个修改要重启系统后才会生效。运行“Service.msc”查看修改后的效果,会发现“服务列表”中出现一个“显示名称”为“Gsn”的服务,而这个“服务”正是先前的“Messenger”服务。用同样的方法把需要修改的“服务”都改为另外的名称,当然在修改的时候要把修改后的名称和对应的“服务”记录下来,不然以后需要开启这个服务时你就不知道是哪个服务了,应该“禁用”的服务还要将其设为“禁用”,经过这样的修改后,对方要开启“服务”,查找起来就相当困难,但是如果对方在这里每个“服务”都双击查看,那么最后还是会找到需要的“服务”,因为在“服务”的属性框中会显示这个“服务”的真正名称,对方可以根据这个名称辨别是否要找的 “服务”。如何修改这里的“服务名称”,请参考“方法三”。
方法三:修改“服务名称”
要修改“服务”的名称,这里需要用到两个工具,分别是“Srvinstw.exe”和“Srvany.exe”,这两个工具都能够在Windows 2000的资源工具包中找到,还是以“Messenger”服务为例,得到这两个工具后,双击运行“Srvinstw.exe”工具,点选“Install a service”选项,在“Service Name”中输入你给“Messenger”服务重命名的名称如(Gsnsrv),在选择路径那一步填“Srvany.exe”文件的路径,其它设置默认即可,添加完成后,将原来的“Messenger”服务的注册表键导出备份(方法一中已经备份过),然后将“Messenger”服务“禁用”,再次运行“Srvinstw.exe”工具,选择“Remove a service”选项将原来的“Messenger”服务从列表中删除,现在找到刚才备份的注册表文件打开编辑,将“[HKEY_ LOCAL_MACHINESYSTEMCurrentControlSetServicesMessenger]”这行修改为
“[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesgsnsrv]”,其中“Gsnsrv”是“Messenger”服务在向导中重命名的名称,保存退出文件,然后将其导入到注册表中,现在运行“Service.msc”打开服务列表查看“Messenger”服务的属性,从图2可以看出其名称已被修改为“Gsnsrv”,接下来结合“方法一”和“方法二”的方法给服务作修改或者索性将服务从列表中删除,最后把默认的共享都删掉,这样对方要入侵你的系统就更难了。
提示:在执行以上操作之前,要先做好相关的备份,如注册表、服务属性框中的显示名称、服务名称、可执行文件的路径以及可执行文件路径所指的那个程序等都要做好备份和记录才可执行操作。建议只对那些没有用到而又容易导致系统被入侵的服务才作以上操作,毕竟有些服务通过以上的修改后可能会出错。
图2 Messenger的属性