虽然 Apache 的名声可能比 IIS 好,但用 IIS 来做 Web 服务器的人一定也不少。说实话,IIS 还是不错的,尤其是 Windows 2003 的 IIS 6(马上 Longhorn Server 的 IIS 7 也就要来了,相信会更好),性能和稳定性都相当不错。但是许多用 IIS 的人不太会设置 Web 服务器的权限,因此,出现漏洞被人黑掉也就不足为奇了。但我们不应该把这归咎于 IIS 的不安全。如果对站点的每个目录都配以正确的权限,出现漏洞被人黑掉的机会还是很小的(Web 应用程序本身有问题和通过其它方式入侵黑掉服务器的除外)。下面是我在配置过程中总结的一些经验,希望对大家有所帮助。
IIS Web 服务器的权限设置有两个地方,一个是 NTFS 文件系统本身的权限设置,另一个是 IIS 下网站->站点->属性->主目录(或站点下目录->属性->目录)面板上。这两个地方是密切相关的。下面我会以实例的方式来讲解如何设置权限。
IIS 下网站->站点->属性->主目录(或站点下目录->属性->目录)面板上有:
脚本资源访问
免费收录网站 www.admin5.net
读取
写入
浏览
记录访问
索引资源
6 个选项。这 6 个选项中,“记录访问”和“索引资源”跟安全性关系不大,一般都设置。但是如果前面四个权限都没有设置的话,这两个权限也没有必要设置。在设置权限时,记住这个规则即可,后面的例子中不再特别说明这两个权限的设置。
另外在这 6 个选项下面的执行权限下拉列表中还有:
无
纯脚本
纯脚本和可执行程序
3 个选项。
而网站目录如果在 NTFS 分区(推荐用这种)的话,还需要对 NTFS 分区上的这个目录设置相应权限,许多地方都介绍设置 everyone 的权限,实际上这是不好的,其实只要设置好 Internet 来宾帐号(IUSR_xxxxxxx)或 IIS_WPG 组的帐号权限就可以了。如果是设置 ASP、PHP 程序的目录权限,那么设置 Internet 来宾帐号的权限,而对于 ASP.NET 程序,则需要设置 IIS_WPG 组的帐号权限。在后面提到 NTFS 权限设置时会明确指出,没有明确指出的都是指设置 IIS 属性面板上的权限。
例1 —— ASP、PHP、ASP.NET 程序所在目录的权限设置:
如果这些程序是要执行的,那么需要设置“读取”权限,并且设置执行权限为“纯脚本”。不要设置“写入”和“脚本资源访问”,更不要设置执行权限为“纯脚本和可执行程序”。NTFS 权限中不要给 IIS_WPG 用户组和 Internet 来宾帐号设置写和修改权限。如果有一些特殊的配置文件(而且配置文件本身也是 ASP、PHP 程序),则需要给这些特定的文件配置 NTFS 权限中的 Internet 来宾帐号(ASP.NET 程序是 IIS_WPG 组)的写权限,而不要配置 IIS 属性面板中的“写入”权限。
站长必看的网站 www.admin5.com
IIS 面板中的“写入”权限实际上是对 HTTP PUT 指令的处理,对于普通网站,一般情况下这个权限是不打开的。
IIS 面板中的“脚本资源访问”不是指可以执行脚本的权限,而是指可以访问源代码的权限,如果同时又打开“写入”权限的话,那么就非常危险了。
执行权限中“纯脚本和可执行程序”权限可以执行任意程序,包括 exe 可执行程序,如果目录同时有“写入”权限的话,那么就很容易被人上传并执行木马程序了。
对于 ASP.NET 程序的目录,许多人喜欢在文件系统中设置成 Web 共享,实际上这是没有必要的。只需要在 IIS 中保证该目录为一个应用程序即可。如果所在目录在 IIS 中不是一个应用程序目录,只需要在其属性->目录面板中应用程序设置部分点创建就可以了。Web 共享会给其更多权限,可能会造成不安全因素。
总结:也就是说一般不要打开-主目录-(写入),(脚本资源访问) 这两项以及不要选上(纯脚本和可执行程序),选(纯脚本)就可以了.需要asp.net的应用程序的如果应用程序目录不止应用程序一个程序的可以在应用程序文件夹上(属性)-目录-点创建就可以了.不要在文件夹上选web共享.
例2 —— 上传目录的权限设置:
用户的网站上可能会设置一个或几个目录允许上传文件,上传的方式一般是通过 ASP、PHP、ASP.NET 等程序来完成。这时需要注意,一定要将上传目录的执行权限设为“无”,这样即使上传了 ASP、PHP 等脚本程序或者 exe 程序,也不会在用户浏览器里就触发执行。
网站精华 top.admin5.com
同样,如果不需要用户用 PUT 指令上传,那么不要打开该上传目录的“写入”权限。而应该设置 NTFS 权限中的 Internet 来宾帐号(ASP.NET 程序的上传目录是 IIS_WPG 组)的写权限。
如果下载时,是通过程序读取文件内容然后再转发给用户的话,那么连“读取”权限也不要设置。这样可以保证用户上传的文件只能被程序中已授权的用户所下载。而不是知道文件存放目录的用户所下载。“浏览”权限也不要打开,除非你就是希望用户可以浏览你的上传目录,并可以选择自己想要下载的东西。
总结:一般的一些asp.php等程序都有一个上传目录.比如论坛.他们继承了上面的属性可以运行脚本的.我们应该将这些目录从新设置一下属性.将(纯脚本)改成(无).
例3 —— Access 数据库所在目录的权限设置:
许多 IIS 用户常常采用将 Access 数据库改名(改为 asp 或者 aspx 后缀等)或者放在发布目录之外的方法来避免浏览者下载它们的 Access 数据库。而实际上,这是不必要的。其实只需要将 Access 所在目录(或者该文件)的“读取”、“写入”权限都去掉就可以防止被人下载或篡改了。你不必担心这样你的程序会无法读取和写入你的 Access 数据库。你的程序需要的是 NTFS 上 Internet 来宾帐号或 IIS_WPG 组帐号的权限,你只要将这些用户的权限设置为可读可写就完全可以保证你的程序能够正确运行了。
站长网 www.admin5.com
总结:Internet 来宾帐号或 IIS_WPG 组帐号的权限可读可写.那么Access所在目录(或者该文件)的“读取”、“写入”权限都去掉就可以防止被人下载或篡改了
例4 —— 其它目录的权限设置:
你的网站下可能还有纯图片目录、纯 html 模版目录、纯客户端 js 文件目录或者样式表目录等,这些目录只需要设置“读取”权限即可,执行权限设成“无”即可。其它权限一概不需要设置。
上面的几个例子已经包含了大部分情况下的权限设置,其它情况根据这些例子,你一定可以想到该如何设置。
相关推荐
### C#操作Excel实例与IIS权限设置:深入解析与实践 #### 一、C#操作Excel技术概览 在日常开发中,处理Excel文件的需求非常常见,无论是数据导出、报表生成还是数据分析,掌握如何使用C#进行Excel操作都是必不可少...
### IIS权限设置详解 #### 一、IIS权限的重要性 在部署和管理基于Microsoft Internet Information Services (IIS)的应用程序和服务时,正确配置IIS权限对于确保系统的稳定性和安全性至关重要。IIS作为Windows操作...
一、IIS权限设置的两个关键点 1. **NTFS文件系统权限**:NTFS文件系统权限决定了哪些用户或用户组能够访问特定的文件或目录。设置时应避免给予过于广泛的权限,如Everyone,而应针对特定的服务账号,如IUSR_xxxxxxx...
以下是一份详细的IIS配置步骤,包括权限设置。 1. **安装IIS** - 打开“控制面板” -> “程序” -> “程序和功能” -> “启用或关闭Windows功能”。 - 在弹出的窗口中,找到“IIS”相关选项,如“Web管理工具”、...
总的来说,IIS7的权限设置比IIS6更灵活但也更复杂,需要谨慎处理。理解并正确配置这些设置是确保网站功能和安全性的关键。通过以上步骤,你应该能够解决“401 - 未经授权”的错误,并允许用户顺利上传文件到特定目录...
2. **权限设置**:确保每个目录的NTFS权限和IIS权限设置得当,只授予必要的访问权限。 3. **日志监控**:定期查看IIS日志,分析异常活动,及时发现和处理潜在问题。 4. **安全更新**:保持IIS和操作系统及时更新,...
同时,了解如何正确配置IIS的权限设置,例如使用最小权限原则,限制特定用户的访问权限,以及启用日志记录和审核,以便追踪任何异常活动。 总的来说,IIS写权限的利用工具是一种强大的安全评估工具,帮助识别和修复...
【知识点1:IIS权限模型】 IIS的权限模型基于Windows NTFS文件系统的权限控制,包括读取、写入、执行等操作。每个网站目录都可以设置独立的访问控制列表(ACL),以决定哪些用户或用户组可以执行特定的操作。管理员...
总的来说,IIS 6.0的网站建设与权限设置是一个涉及多个层面的过程,需要确保正确配置以保证网站的安全性和可用性。通过以上步骤,你可以有效地管理IIS 6.0上的网站,防止未经授权的访问,并确保 ASP.NET 应用程序...
合理的权限设置是 IIS 安全设置的第三步。需要重点设置如下三种权限:WINDOWS 用户,在 WINNT 系统中大多数时候把权限按用户(組)来划分。在【开始→程序→管理工具→计算机管理→本地用户和组】管理系统用户和用户...
- 如果“Install.asp”仍然报错,这通常是由于IIS权限设置不当导致的。可以通过调整站点权限来解决: - 在IIS管理器中选择站点,右键点击“基本设置” > “编辑权限”。 - 确保应用程序池的身份(默认为`IIS ...
这种漏洞常见于IIS的配置不当,比如权限设置过于宽松,或者Web应用程序没有正确处理用户上传的文件。 二、危害分析 1. **数据泄露**:攻击者可以通过写权限漏洞篡改或删除服务器上的重要文件,导致数据丢失或泄露...
2. **检查IIS权限设置**:确认IIS的匿名访问权限是否设置为“IUSR_MYSERVER”账号,并且该账号有执行ASP文件的权限。 3. **修复DCOM配置**:通过事件查看器找出DCOM错误的具体原因,如需更新密码,使用`dcomcnfg`...
此外,别忘了在IIS权限设置中给予管理员角色,这与在建立多维数据集模型时的配置相匹配。 完成上述步骤后,重启IIS服务以使配置生效。你可以通过SQL Server 2005的客户端尝试连接到发布的多维数据集,执行MDX...
2. **检查IIS权限设置**:为了安全起见,IIS会限制某些用户和应用程序对文件系统的访问。确保运行脚本的应用池具有足够的权限访问所需的文件和目录。这通常涉及到调整IIS Application Pool的身份验证方式和权限设置...
总结来说,解决Windows上的IIS权限问题,需要理解Windows的安全模型,包括NTFS权限和共享权限,并结合Linux的权限管理经验,找出真正执行操作的用户,合理分配权限。这不仅要求对两种操作系统有深入的理解,还需要...
- 扫描后,根据报告结果调整IIS的权限设置,遵循最小权限原则,只授予应用程序和服务必要的访问权限。 7. **总结**: "IIS写权限工具"和"IISPutScan"涉及了IIS服务器的安全管理,特别是文件写权限和PUT方法的审计...
- **文件夹和文件权限设置**:使用NTFS的权限和审核功能,对不同用户和组设置不同的访问权限,并监控可疑活动。 - **WWW目录权限设置**:通过调整Web站点属性,控制对WWW目录的访问权限,所有子文件夹都会继承这些...
1. 在IIS管理器中,选择欲设置身份验证的Web站点。 2. 在站点主页窗口中,选择“身份验证”,双击,显示“身份验证”窗口。 3. 右击“匿名身份验证”,单击快捷菜单中的“禁用”命令,即可禁用匿名用户访问。 使用...