IIS5安全策略设计概要(2)

2008-02-23 08:22:13来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折

这个虚拟目录的作用是允许用户重新配置他们在Windows NT或Windows 2000操作系统上的帐号口令,应用环境主要针对企业内部网Intranet。IIS5的安装中没有包含这一项,但是假如是从IIS4升级到IIS5,就会存在这个虚拟目录。建议假如不是Intranet环境,就将之删除。

删除不使用的应用程式映射关联

IIS默认情况下能够解释如.asp、.htr、.shtm等应用程式文档,当这些文档被IIS接收后,将交由一个DLL文档处理。假如使用不到其中某类文档,我们建议将删除那个类型在IIS中的映射关系。步骤如下:

启动"Internet服务管理器"

点击鼠标右键选择要处理的服务器,再选择"属性"

选择"WWW服务",点击"编辑"

点击"主目录"

点击"配置",显示出当前"应用程式映射"列表

然后参照下表删除相关类别:

假如不使用下列应用 就删除掉以下项目

基于Web的口令修改 .htr

Internet数据库连接器 (注意:任何的IIS5 Web服务器将使用ADO等相似技术代替数据库连接器) .idc

服务器端包含文档(Server-side Includes) .stm, .shtm, and .shtml

Internet打印 .printer

索引服务(Index Server) .htw, .ida and .idq

关于Internet打印服务,我们再说明一点。Internet打印能够通过Internet服务管理器进行配置,也能够通过组策略进行配置。当两者的配置间发生冲突时,以组策略的配置信息优先。假如在Internet服务管理器中删除了Internet打印,请记住不要再在本地或域组策略中激活他。默认的组策略配置中,既不激活也不禁止Internet打印。在组策略中配置Internet打印的方法是:在MMC的组策略管理单元中,点击"电脑配置",点击"管理模板",点击"打印机",最后点击"基于Web的打印":

配置IP地址或DNS域名地址的访问限制

假如Web站点只对特别IP地址的客户服务,我们建议对Web站点执行IP地址限制的配置。假如配置是DNS域名信息,请注意,这会导致IIS执行DNS搜索工作,耗费一定的时间。

确认可执行文档的安全性

在访问网站内容时,IIS经常要执行一些.DLL文档。DLL文档属于可执行文档,可能会读写硬盘文档内容,所以最好确保其安全性。但是,如何判断DLL文档的安全性,却不是个简单的事情。这里介绍一个叫做DumpBin程式,他能够判断出可执行文档是否调用了某个API函数。比如说,我们使用下面的命令判断文档MyISAPI.dll是否调用了RevertToSelf:

dumpbin /imports MyISAPI.dll | find "RevertToSelf"

命令执行后,假如屏幕上没有任何输出信息,就表明MyISAPI.dll没有直接调用RevertToSelf。

更新IIS服务器上的根权威认证机构发放的证书(Root CA Certificates)

要完成更新工作,需要2个步骤:

首先,添加一个我们信任的新根权威认证机构发放的证书,特别是通过Microsoft认证服务2.0创建的新根权威认证机构证书。

然后,删除任何不被我们信任的根权威认证机构发放的证书。一般情况下,不被信任的机构就是指我们还不认识的机构。

任何被IIS使用的根权威认证机构证书都存储在电脑中,我们能够按照下列步骤访问他们:

在"开始/运行"中输入mmc,点击"确定",启动Microsoft管理控制台,即MMC

从"控制台"菜单中选择"添加/删除管理单元",点击"添加"

选择"证书",点击"添加"

点击"电脑帐户"选项

点击"下一步"

选择要访问的机器

点击"完成"

点击"关闭",点击"确定"

扩展"证书"节点

扩展"受信任的根证书颁发机构"

选择"证书"

这时,在右边窗口格中显示出当前任何的受信任的根证书颁发机构发放证书的资料。我们能够根据实际情况,删除无需的证书。但是请格外注意,不要删除Microsoft公司或Verisign公司的相关证书,因为他们被操作系统广泛地使用。

禁止或删除无需的COM组件

对于大多数应用程式无需的COM组件,我们就应该考虑将其删除,比如说"文档系统对象"(File System Object)组件。请注意,假如删除了"文档系统对象"组件,"目录对象"(Dictionary object)组件也将被删除。但是提醒一点,有些程式可能需要禁止的组件,比如说,Site服务器3.0就使用到"文档系统对象"组件。删除"文档系统对象"组件的命令是: regsvr32 scrrun.dll /u。

重点检查ASP代码中的<FORM>输入内容和查询输入内容

许多站点都使用来自用户的输入信息去调用其他代码或直接创建SQL命令。换言之,输入内容被假设为格式正确和语法正确。但是我们千万不能这么掉以轻心!许多攻击者就是在输入内容中填写非法代码从而巧妙偷窥服务器的内容,甚至造成数据的毁坏。因此,我们要特别重视检查来自<FORM>的输入内容或查询字符串信息,只有其符合安全需要,才能进一步传递给下一个程式进行处理。

我们能够使用Jscript版本5和VBScript版本5的常规表达式功能检查文本信息的合法性。来看看几个例子。


下面的代码是除去字符串中任何非字母、非数字连同非_的字符:

Set reg = New RegExp
reg.Pattern = "\W "
strUnTainted = reg.Replace(strTainted,"")

下面的代码是除去|操作符后的任何文本:

Set reg = New RegExp
reg.Pattern = "^(. )\|(. )"Anycharacter from the start of
' the string to a | character.
strUnTainted = reg.Replace(strTainted,"$1")

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇: 轻松架设Windows

下一篇: IIS网站的“护心甲”-实战SSL