IIS5安全策略设计概要
来源:souzz.net 发布时间:2007-11-12 13:45:00
IIS5是Windows2000操作系统所带的Internet服务程序包,它包含了www、ftp、smtp以及index server等等众多实用功能。无论是创建一个Internet外部站点,还是构造一个Intranet内部应用,使用IIS5都是非常好的选择。同时,如何保障IIS5安全稳定运行、内容发布正确可靠,这是系统管理员必须高度重视的问题。本文就IIS5的安全策略设计进行概要分析,旨在让大家从宏观角度了解系统管理员都应在哪些方面执行必要的安全配置,然后根据实际环境再在各个环节分别扩展,最终创建一个安全的IIS5服务器。
为虚拟目录设置适当的访问权限
正确设置虚拟目录的访问权限,将会很大程度地影响其中文件的安全可靠性。建议考虑以下几个方面的设置原则:
文件类型 建议的访问权限
CGI 程序(.exe, .dll, .cmd, .pl) Everyone (X)
Administrators (Full Control)
System (Full Control)
脚本文件(.asp) Everyone (X)
Administrators (Full Control)
System (Full Control)
包含文件(.inc, .shtm, .shtml) Everyone (X)
Administrators (Full Control)
System (Full Control)
静态文件 (.txt, .gif, .jpg, .html) Everyone (R)
Administrators (Full Control)
System (Full Control)
为不同类型的文件创建不同的目录
如果一个虚拟目录下面有多种类型的文件,按照上面的原则为每一种文件设置访问权限,无疑是非常烦琐的事情。因此,我们可以采取为不同类型文件创建不同目录的方式,然后再按照上面的原则为每一个目录设置相应的访问权限。比如,我们可以创建如下的目录结构:
C:\inetpub\wwwroot\myserver\static:存放静态文本文件(.html)
C:\inetpub\wwwroot\myserver\include:存放包含文件(.inc)
C:\inetpub\wwwroot\myserver\script:存放脚本文件(.asp)
C:\inetpub\wwwroot\myserver\executable:存放可执行文件(.exe,.dll, .cmd, .pl)
C:\inetpub\wwwroot\myserver\images:存放图形文件(.gif,.jpeg)
另外,请注意以下2个特殊的目录:
C:\inetpub\ftproot:FTP服务所在目录
C:\inetpub\mailroot:SMTP服务所在目录
这2个目录的访问权限是Everyone 完全控制(Full Control),每个用户都具有向其中添加数据的权限。这样,就有可能造成目录所在磁盘的空间耗尽。因此,我们建议:
将这2个目录放置到另外的磁盘卷中,与其他的IIS服务程序分开。
使用Windows 2000 磁盘配额功能限制添加到这2个目录的数据量。
为IIS日志文件设置适合的访问权限
IIS日志文件记录了所有访问IIS服务程序的信息,它对于系统管理员检测故障非常重要。攻击者为了销毁他们的侵入痕迹,总是要想方设法删除掉日志文件。因此,我们建议对这些日志文件进行重点保护,设置如下的访问权限:
Administrators (Full Control)
System (Full Control)
Everyone (RWC)
IIS日志文件一般位于如下路径:%systemroot%\system32\LogFiles。
使用日志文件
日志文件对于检查服务器是否被攻击是极为重要的。日志文件有多种,我们建议使用"W3C扩充日志文件格式",步骤如下:
启动"Internet服务管理器"
点击鼠标右键选择要设置的站点,在从弹出菜单中选择"属性"
点击"Web站点"选项卡
点击选中"启用日志记录"复选框
从"活动日志格式"下拉选择框中选择"W3C 扩充日志文件格式"
点击"属性"
点击"扩充的属性"选项卡,然后依次选中如下属性:
客户IP地址
用户名
方法
URI资源
HTTP状态
Win32状态
用户代理
服务器IP地址
服务器端口
以上最后2个属性只当一个计算机充当多个Web服务器时有意义,也就是所谓的虚拟主机。属性"Win32状态"对于调试非常有用,当它的数值等于5时,表示禁止访问(access denied)。我们可以在命令行执行如下命令得到其他的"Win32状态码"所表示的含义:
net helpmsg err
其中err表示Win32状态码。
禁止或者删除所有的例子程序
默认安装选项中,例子程序不会被安装到机器中。对于一个正式应用的服务器,我们不应该在其中安装任何例子程序。如果已经安装了某些例子程序,建议将它们完整删除掉。为了查找方便,以下我们列出一些例子程序的默认安装路径:
例子程序类别 所在虚拟目录 默认安装路径
IIS例子程序 \IISSamples c:\inetpub\iissamples
IIS文档 \IISHelp c:\winnt\help\iishelp
Data Access \MSADC c:\program files\common files\system\msadc
删除虚拟目录IISADMPWD
这个虚拟目录的作用是允许用户重新设置他们在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")
另外,当使用"文件系统对象"组件打开或创建文件时,如果文件名取自用户的输入内容,那么很可能被攻击者利用去试图打开一个计算机的串口或者打印机设备。为了防止这个问题发生,我们可以使用下面的Jscript代码除去非法文件名:
var strOut = strIn.replace(/(AUX|PRN|NUL|COM\d|LPT\d)+\s*$/i,"");
从以上几个简单的实例,我们可以看到脚本引擎版本5处理字符串的强大功能。微软站点有关于脚本应用的详细文档与例程,地址如下:
文档:http://msdn.microsoft.com/scripting/default.htm
例程:http://msdn.microsoft.com/workshop/languages/clinic/scripting051099.asp
禁止父路径(Parent Paths)表达法
默认情况下,可以在函数中使用父路径".."。但是为了安全考虑,我们应该禁止这个功能,步骤如下:
在"Internet服务管理器"中右键点击要处理服务器的"默认Web站点",从弹出菜单中选择"属性 "
点击"主目录"选项卡
点击"配置"
点击"应用程序选项"选项卡
去除"启用父路径"复选框
猜你喜欢
- 网络的迅速发展使宽带走入寻常百姓家,广大网络爱好者也勇于尝试,在自己的爱机上建设自己的网站, 那么选择什么系统呢?Win 2000漏洞百出,
- seo新手也许会误解,也许是静态化好理解,现在很多新手,对一个网站进行优化诊断,第一个步骤就是不管三七二十一,建议客户进行页面静态化。页面由
- 关于jdfwkey问题的讨论最近我的网站经常出现jdfwkey,形式如?jdfwkey=csscf,很多朋友可能也遇到过,可能不太清楚是什么
- 注:这是从PHPCMS开发文档里看到编码规范,虽名为PHPCMS的开发规范,但我觉得所有的PHP编程都该如此。写了那么多PHP,很多编码对照
- SEO的趋势如何? 2009年SEO的工作好找吗? 昨天百度知道里一位SEO新人这样提问。今天我回答一下以上问题:第一个问题:SEO的趋势如
- 对于搜索引擎来说,一个网页的<meta name="keywords" content=".......
- 还是在几年前,如果你在借助网络做生意,你就要考虑加入商业联盟和B2B、B2C等商业模式的网站以及行业协会组织或相关产业的专业化组织。然而当今
- 今天,服务器进行PHP环境的配置,先在百度搜集了一些相关资料进行参考,然后开始手工配置PHP5环境(个人比较喜欢绿色免安装的东西)。在Win
- Godaddy主机用户怎样设置File Manager 页面的大小还有页面的增量呢?我们一起来学习下,具体步骤如下:第一. 点击Hostin
- 我的师父黄裳@岳旭强曾经说过,“好的架构图充满美感”,一个架构好不好,从审美的角度就能看得出来。后来我看了很多系统的架构,发现这个言论基本成
- 10月22日消息,视频分享网站56网与成都传媒集团携手,就“国际小姐”世界大会展开深层次合作,56网
- 如果你已经购买了一款服务器,但仍然觉得其“动力”不够强劲,不妨试试下面列出的几个办法,许多情况下,它们往往能够起到事半功倍的效果。1.增加内
- 在WordPress博客里,有三个名词估计很多博友都不是很了解,也有博友经常性的使用这些功能,或许也有每次只是一眼带过的而已。其实Ping、
- 完美站长站立足于草根站长和个人企业,很多人问我们一些常见的CMS的优劣区别,今天抽个时间写一下供大家参考自己做站长很多年了,对国内的CMS也
- 尽管功能服务器概念的提出可以追溯到十几年前,可是功能服务器的产品是这两三年才火起来的,因为它是为了满足用户的特殊需求而定制的专用服务器。说到
- 网上随处可见的攻击软件,攻击者不需要对网络协议的深厚理解基础,即可完成诸如更换web网站主页,到取管理员密码,破坏整个网站数据等等攻击。而这
- 1)、系统安全基本设置 1.安装说明:系统全部NTFS格式化,重新安装系统(采用原版win2003),安装杀毒软件(Mcafee)
- UCenter Home(简称UCHome)新版本即将推出。在即将开始测试UCenter Home 2.0中,针对1.5版本新增了六大互动新
- 扩展提示译注:少数条目有重复,不重新编排以遵从原文。AdSense 收入 = 广告展示次数 x 点击率 x 点击单价 x 智能定价因素(Sm
- 很多朋友在留言中询问关于主题使用中的问题,而我也多次在留言里做了回答,无奈留言太多而且不集中,所以前来询问的朋友一般都不愿意从留言评论中去寻