打造安全的Windows安装盘
每次安装好Windows之后还有很重要的一件事情要做,那就是加固处理——配置系统,增强其安全性、稳定性。加固Windows 2000/XP的关键步骤包括安装各种Service Pack、Hotfix,修改注册表,改变不安全的默认配置。遗憾的是,不是每一个人都注意到了加固Windows的重要性,因此Internet上才会有数不清的计算机脆弱得不堪一击,甚至沦落为传播蠕虫病毒的温床。一种比较理想的解决办法是制作一个预装了各种Service Pack、Hotfix的Windows安装盘,然后用这种天生安全的安装盘安装Windows,安装好之后不必再另行安装Service Pack、Hotfix,从而实现Service Pack、Hotfix的一体化安装。遗憾的是,微软提供的这方面的工具很少,而且近期似乎不打算提供适当的工具来支持本文讨论的一体化安装。不过,只要借助于第三方工具,同时运用一些经验和技巧,我们还是可以手工制作出安全的Windows安装盘。但必须指出的是:本文不是为那些想要偷懒或胆小的用户写作的。特别地,为Windows安装盘加载Hotfix的过程极其繁琐,而且微软有可能在将来的某一天突然更改其补丁安装策略,使本文介绍的操作方式不再有效。不过,如果你需要安装大量的Windows系统,本文介绍的办法值得一试。一、准备安装文件安装Win 2K/XP的方式很多,如网络安装、无人值守安装、磁盘克隆等,但有一种方式微软至今尚未直接支持,那就是定制可启动的安装CD——它可以作为其他安装方式的基础,非常实用。第一步是创建一个Windows的发布目录,将它作为可启动安装CD的源目录,为保证文件的完整性,应当严格确保该目录的安全。以Win 2K为例,首先将Win 2K安装CD的所有内容复制到硬盘上的发布目录。通常,安装CD上有许多文件根本不会用到,为了给其他工具、Service Pack、Hotfix留出空间,最好将这些不用的文件和目录删除。一般而言,删除下列文件和目录不会带来任何问题:\bootdisk,\setuptxt,\support,\valueadd,read1st.txt,以及readme.doc。如果Windows安装盘只用于全新安装,不用于升级,还可以安全地删除下列文件和目录:\i386\win9xmig,\i386\win9xupg,\i386\winntupg,autorun.inf,以及setup.exe。另外,常用的小软件也可以直接放入Windows安装盘,例如,我们可以为Windows安装盘创建一个存放常用软件的\software目录、一个存放更新文件的\updates目录。二、加载Service Pack将Service Pack直接集成到Windows安装文件的好处很多,例如,Service Pack将成为Windows安装文件密不可分的一部分,安装好Windows以后如果要添加或删除某些组件,系统将自动使用经过Service Pack更新后的文件,而不是原始安装盘上的文件。当然,这种安装方式也有其缺点,这就是Service Pack不可卸载——所以如果有必要,首先应当确认一下安装Service Pack之后应用软件仍能正常运行。首先从微软网站下载一份最新的Service Pack(例如,Service Pack 4,即SP4),执行w2ksp4.exe -s:本篇文章共3页,此页为首页 下一页
图一检查前面提到的包含admin.dll的行,可以发现磁盘ID指向了fp40ext.cab文件。不过,由于我们刚刚将新的admin.dll文件复制到了\i386目录,所以要修改这个位置。首先,在[SourceDisksNames](注意,它可能叫做SourceDisksNames.x86)节创建一个新的位置,即加入下面这行内容:0=%SERVICEPACK_NAME%" "",0,%34000%。注意该.inf文件只包含一个磁盘ID,它指向fp40ext.cab文件。在某些.inf文件中,你可能会发现已经有了一行类似的内容,如果这行内容已经存在,那就不必再加,直接进入下一步。找到包含admin.dll的这行内容,把原来的“admin.dll=1,,20540”改成“admin.dll=0,,20540”。现在,当安装程序搜索admin.dll文件,它将寻找主发布目录(磁盘ID是0),而不是原来的.cab文件(磁盘ID是1)。对于每一个在\i386目录下没有相应压缩版的文件,按照上述步骤执行类似的修改——这个过程已经很复杂了,不过下面还有更麻烦的。某些与IIS、SMTP、NNTP服务相关的文件在.cab文件中有不同的名字,通常是在原文件名字的基础上稍作变化,例如,mailmsg.dll在ims.cab文件中变成了smtp_mailmsg.dll,在ins.cab文件中变成了nntp_mailmsg.dll。如果搜索.inf文件寻找引用了mailmsg.dll的地方,不会有任何结果,但可以找到引用了smtp_mailmsg.dll和nntp_mailmsg.dll的地方。虽然系统更改文件名字的方式不存在严格、明确的规则,不过也不是随心所欲,不存在文件名字和原始文件毫无关联的情况。遇到这类文件名字变异的情况时,首先在\i386目录下复制一份文件(例如mailmsg.dll),更改该文件的名字,使其与.inf文件中出现的名字相同。然后,在[SourceDisksFiles]节找到对该文件的引用,按照前面的说明把磁盘ID改成指向新的位置。有一类文件无法在\i386目录或任何.cab文件中找到,这就是编目文件(Catalog File)。编目文件的扩展名是.cat,用于管理驱动程序的签名信息,例如sp3.cat文件包含了经过WHQL测试的驱动程序文件的校验和。微软每次更新了一个驱动程序,都会发布一个新的编目文件。仔细观察一下就可以发现,每一个Hotfix要么包含一个新的sp3.cat文件(或者,对于SP4基础上的hotfix,则是sp4.cat),要么包含一个根据Hotfix的编号命名的编目文件。因此,复制sp3.cat(或sp4.cat)文件时,必须使用该文件的最新版本。由于编目文件的内容是不断累积的,所以最新、最大的文件就是我们要用的文件。把最新的编目文件复制到\i386目录下,然后记下文件的名字,稍后还要用到。接下来,在发布目录的根目录之下创建一个\$OEM$\$$\hotfixes目录,把Hotfix的安装程序复制到该目录。注意该目录和\i386位于同一个目录层次,而不象某些微软文档提到的那样属于\i386的子目录。当我们运行安装程序时,系统会把\hotfixes目录复制到\%systemroot%目录(例如,C:\winnt\hotfixes目录)。把所有Hotfix复制到该目录之后,从http://support.microsoft.com/default.aspx?scid=kb;en-us;q296861下载qchain.exe,并把它保存到同一目录。最后一步是修改svcpack.inf文件,使其包含类如图二的内容,在[ProductCatalogsToInstall]小节中,修改清单内容,加入以前复制到\i386目录的所有编目文件。
计算机教程打造安全的Windows安装盘来自www.itwen.comIT WEN计算机教程网
图二只要按照上面的步骤正确操作,现在发布目录下的Windows安装文件应该已经加载了最新的Service" Pack和Hotfix了。如果用这些安装文件来添加或重新安装Windows组件,安装完成后不必另行安装Service Pack和Hotfix。四、编写Winnt.sif 在需要高度安全的场合,安装Win 2K/XP时最好先用最小安装方式