windows IIS权限经典设置教程_win服务器

前 言
  根据最新的黑客攻击方法显示,如果在IIS的站点属性打开了“写入”权限,则被黑是轻而易举的事。而一般在我们使用时,要求大家打开网站所在文件夹的“写入”权限,很多用户以为是在IIS中打开,这是错误的,这样做的结果就是让黑客利用写入权限上传任意文件。IIS中的“写入权限”则一定要关闭!这样的设置已经可以确保数据库是可以更新,可以生成HTML,可以刷新JS文件等所有正常操作。

  下面我们进入正题
  虽然 Apache 的名声可能比 IIS 好,但我相信用 IIS 来做 Web 服务器的人一定也不少。说实话,我觉得 IIS 还是不错的,尤其是 Windows 2003 的 IIS 6,性能和稳定性都相当不错。但是我发现许多用 IIS 的人不太会设置 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 文件目录或者样式表目录等,这些目录只需要设置“读取”权限即可,执行权限设成“无”即可。其它权限一概不需要设置。

时间: 2024-08-04 14:10:25

windows IIS权限经典设置教程_win服务器的相关文章

Win2003 IIS 安装方法 图文教程_win服务器

一般大家先安装好win2003系统,图文教程 Win2003 服务器系统安装图文教程要通过控制面板来安装.具体做法为: 1. 进入"控制面板". 2. 双击"添加或删除程序". 3. 单击"添加/删除 Windows 组件". 4. 在"组件"列表框中,双击"应用程序服务器". 5. 双击"Internet 信息服务(IIS)". 6. 从中选择"万维网服务"及&qu

VPS(win2003)安全设置教程_win服务器

一.禁止默认共享. 方法一: 建立一个记事本,填上以下代码.保存为*.bat并加到启动项目中 复制代码 代码如下: net share c$ /del net share d$ /del net share e$ /del net share f$ /del net share ipc$ /del net share admin$ /del 方法二:修改注册表,(注意修改注册表前一定要先备份一下注册表,备份方法.在运行>regedit,选择 文件>导出,取个文件名,导出即可,如果修改注册表失败

PHP在64位Win2003和IIS下运行设置方法_win服务器

PHP在64位Windows2003和IIS下运行 首先将IIS由64位模式修改为32位模式,只要一个命令即可: cscript %SYSTEMDRIVE%\inetpub\adminscripts\adsutil.vbs SET W3SVC/AppPools/Enable32bitAppOnWin64 1 恢复为64位模式的命令: cscript %SYSTEMDRIVE%\inetpub\adminscripts\adsutil.vbs SET W3SVC/AppPools/Enable32

MSSQL/MYSQL运行在低权限帐号下的方法(图文设置教程)_win服务器

例:mssql装在D盘 先创建一个帐户如:mssql设置好密码,记住密码,分配好组,如GUETST 反点D盘,属性,安全,高级,添加,输入创建的帐户名,选择:只有该文件夹,勾上:读取权限(倒数第三个),点确定.MSSQL的DATA目录给MYSQL帐号读写权限 在INI和系统产品列表里设置的数据库用户目录和备份目录所在的盘的根目录也要做类似的权限设置,否则提示开通失败 反点我的电脑,管理,服务和应用程序,Microsoft SQL Servers,对着MSSQL反点,安全性,最下面:   启动服务

win2003 服务器磁盘权限安全设置批处理_win服务器

复制代码 代码如下: @ECHO OFF title C盘权限批量处理-2010.7.1 echo ----------------------------- echo 服务器C盘权限设置 echo http://www.jb51.net echo ----------------------------- :menu echo. echo [1] 删除C盘的everyone的权限 echo [2] 删除C盘的所有的users的访问权限 echo [3] 添加iis_wpg的访问权限 echo

Windows2003 MSSQL 安全设置教程_win服务器

为什么要将MS SQL SERVER数据库必须运行在"普通用户"的状态下呢?因为如果使用了"超级管理员"或者"本地系统用户"来运行"SQL2000数据库",就会被黑客利用,利用SYSTEM用户权限入侵服务器.因此,为了服务器安全,务必将MS SQL SERVER运行在"普通用户"的状态下.同时,要对硬盘的权限做好对应的权限设置MS SQL SERVER才能正常运行. 将MS SQL SERVER运行于普通用

Win2003 手机站IIS MIME类型设置大全_win服务器

详细步骤为: 打开Internet 服务管理器Internet 服务管理器-->网站属性-->HTTP头(MIME映射)-->新建 添加内容类型(MIME) 关联扩展名 下面是常用的手机文件格式扩展名: 如果需要对支持java下载:在iis中需要添加 .jad-->text/vnd.sun.j2me.app-de .jar-->application/java-archive 诺基亚塞班手机s60v5.s60v3支持sis文件下载:在iis中需要添加 .sis applica

IIS重定向使用图文教程_win服务器

设置: 注意:转向地址是最后不需要加/,如果加了,访问原地址:http://www.jb51.net/mypic/logo/index.asp时,转向后的地址就是http://pic.jb51.net/logo//index.asp 状态: 用Flashget 下载,可以看到转向是301,这样搜索引时也会自动转到新的地址. 以前功能在IIS5.0及IIS6.0中都可以实现.

Windows 8窗口透明化设置教程

  作为新系统,windows8向用户展现了很多新特性,系统扁平化的窗口特效便是其中的一项,虽然有很大的创新与突破,但是用户还是习惯了透明化的窗口,在windows8系统中,可不可以实现窗口的透明化呢?答案是肯定的,一起来看一下具体的操作步骤吧. Windows 8窗口透明化设置教程: 1.在Win8传统桌面右键鼠标,选择"个性化"选项,接着,弹出个性化窗口,点击其中"高对比度主题"中的"高对比度#1". 2.随后,整个界面变成了黑底蓝框样式,接