`
guohf
  • 浏览: 419799 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论
阅读更多

     如何设置 Web 服务器的权限?如果Web服务器的权限没有设置好,那么网站就会出现漏洞并且很可能会出现被不怀好意的人黑掉的情况。我们不应该把这归咎于 IIS 的不安全。如果对站点的每个目录都配以正确的权限,出现漏洞被人黑掉的机会还是很小的(Web 应用程序本身有问题和通过其它方式入侵黑掉服务器的除外)。下面是我在配置过程中总结的一些经验,希望对大家有所帮助。

  IIS Web 服务器的权限设置有两个地方,一个是 NTFS 文件系统本身的权限设置,另一个是 IIS 下网站->站点->属性->主目录(或站点下目录->属性->目录)面板上。这两个地方是密切相关的。下面以实例的方式来讲解如何设置权限。

IIS 下网站->站点->属性->主目录(或站点下目录->属性->目录)面板上有:

脚本资源访问
读取
写入
浏览
记录访问
索引资源
  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 属性面板中的“写入”权限。

  IIS 面板中的“写入”权限实际上是对 HTTP PUT 指令的处理,对于普通网站,一般情况下这个权限是不打开的。

  IIS 面板中的“脚本资源访问”不是指可以执行脚本的权限,而是指可以访问源代码的权限,如果同时又打开“写入”权限的话,那么就非常危险了。

  执行权限中“纯脚本和可执行程序”权限可以执行任意程序,包括 exe 可执行程序,如果目录同时有“写入”权限的话,那么就很容易被人上传并执行木马程序了。

  对于 ASP.NET 程序的目录,许多人喜欢在文件系统中设置成 Web 共享,实际上这是没有必要的。只需要在 IIS 中保证该目录为一个应用程序即可。如果所在目录在 IIS 中不是一个应用程序目录,只需要在其属性->目录面板中应用程序设置部分点创建就可以了。Web 共享会给其更多权限,可能会造成不安全因素。

总结: 也就是说一般不要打开-主目录-(写入),(脚本资源访问) 这两项以及不要选上(纯脚本和可执行程序),选(纯脚本)就可以了.需要asp.net的应用程序的如果应用程序目录不止应用程序一个程序的可以在应用程序文件夹上(属性)-目录-点创建就可以了.不要在文件夹上选web共享.

例2 —— 上传目录的权限设置:
  用户的网站上可能会设置一个或几个目录允许上传文件,上传的方式一般是通过 ASP、PHP、ASP.NET 等程序来完成。这时需要注意,一定要将上传目录的执行权限设为“无”,这样即使上传了 ASP、PHP 等脚本程序或者 exe 程序,也不会在用户浏览器里就触发执行。

  同样,如果不需要用户用 PUT 指令上传,那么不要打开该上传目录的“写入”权限。而应该设置 NTFS 权限中的 Internet 来宾帐号(ASP.NET 程序的上传目录是 IIS_WPG 组)的写权限。

  如果下载时,是通过程序读取文件内容然后再转发给用户的话,那么连“读取”权限也不要设置。这样可以保证用户上传的文件只能被程序中已授权的用户所下载。而不是知道文件存放目录的用户所下载。“浏览”权限也不要打开,除非你就是希望用户可以浏览你的上传目录,并可以选择自己想要下载的东西。

总结: 一般的一些asp.php等程序都有一个上传目录.比如论坛.他们继承了上面的属性可以运行脚本的.我们应该将这些目录从新设置一下属性.将(纯脚本)改成(无).

例3 —— Access 数据库所在目录的权限设置:
  许多 IIS 用户常常采用将 Access 数据库改名(改为 asp 或者 aspx 后缀等)或者放在发布目录之外的方法来避免浏览者下载它们的 Access 数据库。而实际上,这是不必要的。其实只需要将 Access 所在目录(或者该文件)的“读取”、“写入”权限都去掉就可以防止被人下载或篡改了。你不必担心这样你的程序会无法读取和写入你的 Access 数据库。你的程序需要的是 NTFS 上 Internet 来宾帐号或 IIS_WPG 组帐号的权限,你只要将这些用户的权限设置为可读可写就完全可以保证你的程序能够正确运行了。

总结: Internet 来宾帐号或 IIS_WPG 组帐号的权限可读可写.那么Access所在目录(或者该文件)的“读取”、“写入”权限都去掉就可以防止被人下载或篡改了

例4 —— 其它目录的权限设置:
  你的网站下可能还有纯图片目录、纯 html 模版目录、纯客户端 js 文件目录或者样式表目录等,这些目录只需要设置“读取”权限即可,执行权限设成“无”即可。其它权限一概不需要设置。

  上面的几个例子已经包含了大部分情况下的权限设置,只要掌握了设置的基本原理,也就很容易地完成能其它情况下的权限设置。

分享到:
评论

相关推荐

    IIS设置MIME类型

    ### IIS设置MIME类型详解 #### 一、引言 在互联网技术中,MIME类型(Multipurpose Internet Mail Extensions)是一种标准,用于定义数据格式的类型,它主要用于描述网络文件的性质和格式。在IIS(Internet ...

    win2003 iis设置完全篇.doc

    ### Win2003 IIS 设置完全篇:关键知识点详解 #### 一、启用ASP支持 **背景介绍:** 在Windows Server 2003系统中,默认安装时不会包含IIS 6.0,需要手动安装。安装完成后,还需要额外启用对ASP的支持。 **第一步...

    C# IIS 设置 C#代码操作IIS之虚拟目录

    5. **应用配置**:最后,可能还需要配置其他IIS特定的设置,如身份验证方式、缓存策略等。这通常涉及到修改配置文件或使用IIS管理器的API。 以上就是使用C#操作IIS创建虚拟目录的基本流程。在实际开发中,你可能...

    IIS设置及IIS日志状态信息

    **IIS设置与IIS日志状态信息详解** IIS(Internet Information Services)是微软公司提供的一个用于管理和控制Web服务的平台。它允许用户创建、部署和管理各种Web应用程序和服务。在IIS设置中,遇到"HTTP 500内部...

    站点发布时IIS设置的视频示范

    IIS设置是Web开发过程中不可或缺的一部分,尤其是在准备将网站部署到生产环境时。 本视频教程“站点发布时IIS设置”详细展示了如何进行IIS的配置,以确保网站能够正确、安全地对外提供服务。教程采用SWF格式,易于...

    win2003 iis设置完全篇

    ### Win2003 IIS 设置完全篇 在本文中,我们将详细介绍如何在Windows Server 2003系统上配置IIS(Internet Information Services),包括安装、基本设置以及高级功能如ASP支持等。 #### 一、ASP支持配置 在...

    IIS设置预加载详细说明文档

    IIS 设置预加载详细说明文档 IIS 预加载是指在 Web 平台上实现预加载功能,以提高页面的访问效率。下面是关于 IIS 不同版本的预加载实现方法的详细说明: 一、IIS 7.5 及以下版本的预加载实现 在 IIS 7.5 及以下...

    IIS设置Gzip压缩 提高网站速度

    1、打开Internet信息管理器,右击”网站“(一定要注意是【网站】文件夹,不是那个【默认网站】)...3、设置IIS可进行压缩的文件类型,这一步骤比较繁杂,有一高人写了一个批处理文件,用来简化此操作,批处理内容如下

    备份和恢复Windows IIS设置

    在这种情况下,备份和恢复IIS设置的功能就显得尤为重要,它允许管理员在系统出现问题或者需要回滚到先前状态时,能够快速有效地恢复服务。 **备份IIS设置** 备份IIS设置是为了防止因意外更改或故障导致的数据丢失。...

    win2003的IIS设置方法

    以下是关于win2003的IIS设置方法的详细步骤和知识点: 1. **安装IIS**: 首先确保你的系统是Windows Server 2003,然后通过“控制面板” -> “添加或删除程序” -> “添加/删除Windows组件”来开启安装过程。在组件...

    win7iis设置

    以下是对"win7 iis设置"的详细步骤和相关知识点的解释: 1. **打开Windows功能**: 要安装IIS,首先需要通过控制面板的“程序和功能”>“打开或关闭Windows功能”来开启它。在此界面,勾选与IIS相关的所有必要服务...

    IIS设置初级教程,自己动手配置一个ASP调试环境

    【IIS设置初级教程】 IIS(Internet Information Services)是微软公司提供的一个Web服务器软件,用于托管各种Web应用程序,包括ASP(Active Server Pages)等。ASP是一种服务器端脚本技术,用于创建动态交互式网页...

    IIS7 支持html页面包含(include)html页面 IIS设置与代码编写.docx

    在IIS7中,HTML页面的包含功能是通过Server-Side Include (SSI) 模块实现的,允许开发者将一个或多个HTML文件插入到...确保在编写和部署过程中,始终关注编码一致性,以及正确配置IIS设置,以确保最佳的页面渲染效果。

    windows2003 iis设置

    在深入探讨《Windows Server 2003 IIS设置完全篇》这一主题之前,我们先来了解一下关键概念:Windows Server 2003是微软于2003年推出的一款服务器操作系统,它提供了广泛的企业级服务,包括网络、安全、管理工具等。...

    Win7配置IIS设置ASP

    Win7配置IIS设置ASP

    win10操作系统IIS配置步骤【很详细,带权限设置】

    以下是一份详细的IIS配置步骤,包括权限设置。 1. **安装IIS** - 打开“控制面板” -> “程序” -> “程序和功能” -> “启用或关闭Windows功能”。 - 在弹出的窗口中,找到“IIS”相关选项,如“Web管理工具”、...

    Win7旗舰版的IIS设置

    ### Win7旗舰版中的IIS安装与设置详解 在Windows 7旗舰版中,IIS (Internet Information Services) 是一个非常重要的组件,它为用户提供了一个强大的Web服务器解决方案。本文将详细解析如何在Win7旗舰版中安装并...

Global site tag (gtag.js) - Google Analytics