用注册表为操作系统砌安全“墙”
众所周知,操作系统的注册表是一个藏龙卧虎的地方,所有系统设置都可以在注册表中找到踪影,所有的程序启动方式和服务启动类型都可通过注册表中的小小键值来控制。 然而,正因为注册表的强大使得它也成为了一个藏污纳垢的地方。技术和技术软件常常寄生在此,偷偷摸摸地干着罪恶勾当,威胁着原本健康的操作系统。如何才能有效地防范技术和技术软件的侵袭,保证系统的正常运行呢?今天笔者将从服务、默认设置、权限分配等九个方面入手为大家介绍如何通过注册表打造一个安全的系统。
特别提示:在进行修改之前,一定要备份原有注册表。
1.拒绝“信”骚扰 安全隐患:在Windows 2000/XP系统中,默认Messenger服务处于启动状态,不怀好意者可通过“net send”指令向目标计算机发送信息。目标计算机会不时地收到他人发来的骚扰信息,严重影响正常使用。
解决方法:首先打开注册表编辑器。对于系统服务来说,我们可以通过注册表中“HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServices”项下的各个选项来进行管理,其中的每个子键就是系统中对应的“服务”,如“Messenger”服务对应的子键是“Messenger”。我们只要找到Messenger项下的START键值,将该值修改为4即可。这样该服务就会被禁用,用户就再也不会受到“信”骚扰了。
2.关闭“远程注册表服务” 安全隐患:如果攻防技术连接到了我们的计算机,而且计算机启用了远程注册表服务(Remote Registry),那么攻防技术就可远程设置注册表中的服务,因此远程注册表服务需要特别保护。
解决方法:我们可将远程注册表服务(Remote Registry)的启动方式设置为禁用。不过,攻防技术在入侵我们的计算机后,仍然可以通过简单的操作将该服务从“禁用”转换为“自动启动”。因此我们有必要将该服务删除。
找到注册表中“HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServices”下的RemoteRegistry项,右键点击该项选择“删除”,将该项删除后就无法启动该服务了。
在删除之前,一定要将该项信息导出并保存。想使用该服务时,只要将已保存的注册表文件导入即可。
3.请走“默认共享” 安全隐患:大家都知道在Windows 2000/XP/2003中,系统默认开启了一些“共享”,它们是IPC$、c$、d$、e$和admin$。很多攻防技术和技术都是通过这个默认共享入侵操作系统的。
解决方法:要防范IPC$攻击应该将注册表中“HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlLSA”的RestrictAnonymous项设置为“1”,这样就可以禁止IPC$的连接。
对于c$、d$和admin$等类型的默认共享则需要在注册表中找到“HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesLanmanServerParameters”项。如果系统为Windows 2000 Server或Windows 2003,则要在该项中添加键值“AutoShareServer”(类型为“REG_DWORD”,值为“0”)。如果系统为Windows 2000 PRO,则应在该项中添加键值“AutoShareWks”(类型为“REG_DWORD”,值为“0”)。
4.严禁系统隐私泄露 安全隐患:在Windows系统运行出错的时候,系统内部有一个DR.WATSON程序会自动将系统调用的隐私信息保存下来。隐私信息将保存在user.dmp和drwtsn32.log文件中。攻击者可以通过破解这个程序而了解系统的隐私信息。因此我们要阻止该程序将信息泄露出去。
解决方法:找到“HKEY_LOACL_MACHINESOFTWAREMicrosoftWindows NT CurrentVersionAeDebug”,将AUTO键值设置为0,现在DR.WATSON就不会记录系统运行时的出错信息了。同时,依次点击“Documents and Settings→ALL Users→Documents→drwatson”,找到user.dmp和drwtsn32.log文件并删除。删除这两个文件的目的是将DR.WATSON以前保存的隐私信息删除。
提示:如果已经禁止了DR.WATSON程序的运行,则不会找到“drwatson”文件夹以及user.dmp和drwtsn32.log这两个文件。
5.拒绝ActiveX控件的恶意骚扰 安全隐患:不少技术软件和技术都是通过在网页中隐藏恶意ActiveX控件的方法来私自运行系统中的程序,从而达到破坏本地系统的目的。为了保证系统安全,我们应该阻止ActiveX控件私自运行程序。
解决方法:ActiveX控件是通过调用Windows scripting host组件的方式运行程序的,所以我们可以先删除“system32”目录下的wshom.ocx文件,这样ActiveX控件就不能调用Windows scripting host了。然后,在注册表中找到“HKEY_LOCAL_MACHINESOFTWARE ClassesCLSID{F935DC22-1CF0-11D0-ADB9-00C04FD58A0B}”,将该项删除。通过以上操作,ActiveX控件就再也无法私自调用脚本程序了。
6.防止页面文件泄密 安全隐患:Windows 2000的页面交换文件也和上文提到的DR.WATSON程序一样经常成为攻防技术攻击的对象,因为页面文件有可能泄露一些原本在内存中后来却转到硬盘中的信息。毕竟攻防技术不太容易查看内存中的信息,而硬盘中的信息则极易被获取。
解决方法:找到“HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSession ManagerMemory Management”,将其下的ClearPageFileAtShutdown项目的值设置为1(图2)。这样,每当重新启动后,系统都会将页面文件删除,从而有效防止信息外泄。
7.密码填写不能自动化 安全隐患:使用Windows系统冲浪时,常会遇到密码信息被系统自动记录的情况,以后重新访问时系统会自动填写密码。这样很容易造成自己的隐私信息外泄。
解决方法:在“HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionpolicies”分支中找到network子项(如果没有可自行添加),在该子项下建立一个新的双字节值,名称为disablepasswordcaching,并将该值设置为1。重新启动计算机后,操作系统就不会自作聪明地记录密码了。
8.禁止技术启动服务 安全隐患:现在的技术很聪明,不像以前只会通过注册表的RUN值或MSCONFIG中的项目进行加载。一些高级技术会通过系统服务进行加载。那么,我们能不能使技术或技术软件没有启动服务的相应权限呢?
解决方法:运行“regedt32”指令启用带权限分配功能的注册表编辑器。在注册表中找到“HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServices”分支,接着点击菜单栏中的“安全→权限”,在弹出的Services权限设置窗口中单击“添加”按钮,将Everyone账号导入进来,然后选中“Everyone”账号,将该账号的“读取”权限设置为“允许”,将它的“完全控制”权限取消(图3)。现在任何技术软件或技术都无法自行启动系统服务了。当然,该方法只对没有获得管理员权限的技术和技术软件有效。
9.不准技术自行启动 安全隐患:很多技术都是通过注册表中的RUN值进行加载而实现随操作系统的启动而启动的,我们可以按照“禁止技术启动服务”中介绍的方法将技术和技术软件对该键值的修改权限去掉。
解决方法:运行“regedt32”指令启动注册表编辑器。找到注册表中的“HKEY_CURRENT_MACHINESOFTWAREMicrosoftWindowsCurrentVersionRUN”分支,将Everyone对该分支的“读取”权限设置为“允许”,取消对“完全控制”权限的选择。这样技术和技术软件就无法通过该键值启动自身了。
技术和技术软件是不断“发展”的,我们也要不断学习新的防护知识,才能抵御技术和技术软件的入侵。与其在感染技术或技术软件后再进行查杀,不如提前做好防御工作,修筑好牢固的城墙进行抵御。毕竟亡羊补牢不是我们所希望发生的事情,“防患于未然”才是我们应该追求的。> >更多精彩技术文章>http://www.66of.com