Windows 2003服务器安全设置系列教程(四)

  • A+
所属分类:[开发技巧]

服务器安全设置之--IIS用户设置方法

IIS安全访问的例子

IIS基本设置

这里举例4个不同类型脚本的虚拟主机 权限设置例子

主机头 主机脚本 硬盘目录 IIS用户名 硬盘权限 应用程序池 主目录 应用程序配置
www.1.com HTM D:\www.1.com\ IUSR_1.com Administrators(完全控制)
IUSR_1.com(读)
可共用 读取/纯脚本 启用父路径
www.2.com ASP D:\www.2.com\ IUSR_1.com Administrators(完全控制)
IUSR_2.com(读/写) 可共用 读取/纯脚本 启用父路径
www.3.com NET D:\www.3.com\ IUSR_1.com Administrators(完全控制)
IWAM_3.com(读/写)
IUSR_3.com(读/写) 独立池 读取/纯脚本 启用父路径
www.4.com PHP D:\www.4.com\ IUSR_1.com Administrators(完全控制)
IWAM_4.com(读/写)
IUSR_4.com(读/写) 独立池 读取/纯脚本 启用父路径
其中 IWAM_3.com 和 IWAM_4.com 分别是各自独立应用程序池标识中的启动帐户

主机脚本类型 应用程序扩展名 (就是文件后缀名)对应主机脚本,只需要加载以下的应用程序扩展
HTM STM | SHTM | SHTML | MDB
ASP ASP | ASA | MDB
NET ASPX | ASAX | ASCX| ASHX | ASMX | AXD | VSDISCO | REM | SOAP | CONFIG |
CS |CSPROJ | VB | VBPROJ | WEBINFO | LICX | RESX | RESOURCES | MDB
PHP PHP | PHP3 | PHP4

MDB是共用映射,下面用红色表示

应用程序扩展 映射文件 执行动作
STM=.stm C:\\system32\inetsrv\ssinc.dll GET,POST
SHTM=.shtm C:\WINDOWS\system32\inetsrv\ssinc.dll GET,POST
SHTML=.shtml C:\WINDOWS\system32\inetsrv\ssinc.dll GET,POST
ASP=.asp C:\WINDOWS\system32\inetsrv\asp.dll GET,HEAD,POST,TRACE
ASA=.asa C:\WINDOWS\system32\inetsrv\asp.dll GET,HEAD,POST,TRACE
ASPX=.aspx C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\aspnet_isapi.dll GET,HEAD,POST,DEBUG
ASAX=.asax C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\aspnet_isapi.dll GET,HEAD,POST,DEBUG
ASCX=.ascx C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\aspnet_isapi.dll GET,HEAD,POST,DEBUG
ASHX=.ashx C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\aspnet_isapi.dll GET,HEAD,POST,DEBUG
ASMX=.asmx C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\aspnet_isapi.dll GET,HEAD,POST,DEBUG
AXD=.axd C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\aspnet_isapi.dll GET,HEAD,POST,DEBUG
VSDISCO=.vsdisco C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\aspnet_isapi.dll GET,HEAD,POST,DEBUG
REM=.rem C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\aspnet_isapi.dll GET,HEAD,POST,DEBUG
SOAP=.soap C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\aspnet_isapi.dll GET,HEAD,POST,DEBUG
CONFIG=.config C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\aspnet_isapi.dll GET,HEAD,POST,DEBUG
CS=.cs C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\aspnet_isapi.dll GET,HEAD,POST,DEBUG
CSPROJ=.csproj C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\aspnet_isapi.dll GET,HEAD,POST,DEBUG
VB=.vb C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\aspnet_isapi.dll GET,HEAD,POST,DEBUG
VBPROJ=.vbproj C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\aspnet_isapi.dll GET,HEAD,POST,DEBUG
WEBINFO=.webinfo C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\aspnet_isapi.dll GET,HEAD,POST,DEBUG
LICX=.licx C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\aspnet_isapi.dll GET,HEAD,POST,DEBUG
RESX=.resx C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\aspnet_isapi.dll GET,HEAD,POST,DEBUG
RESOURCES=.resources C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\aspnet_isapi.dll GET,HEAD,POST,DEBUG
PHP=.php C:\php5\php5isapi.dll GET,HEAD,POST
PHP3=.php3 C:\php5\php5isapi.dll GET,HEAD,POST
PHP4=.php4 C:\php5\php5isapi.dll GET,HEAD,POST
MDB=.mdb C:\WINDOWS\system32\inetsrv\ssinc.dll GET,POST

ASP.NET 进程帐户所需的 NTFS 权限

目录 所需权限
Temporary ASP.NET Files%windir%\Microsoft.NET\Framework\{版本}Temporary ASP.NET Files
进程帐户和模拟标识:
完全控制

临时目录 (%temp%)
进程帐户
完全控制

.NET Framework 目录%windir%\Microsoft.NET\Framework\{版本}
进程帐户和模拟标识:
读取和执行
列出文件夹内容
读取

.NET Framework 配置目录%windir%\Microsoft.NET\Framework\{版本}\CONFIG
进程帐户和模拟标识:
读取和执行
列出文件夹内容
读取

网站根目录
C:\inetpub\wwwroot
或默认网站指向的路径
进程帐户:
读取

系统根目录
%windir%\system32
进程帐户:
读取

全局程序集高速缓存
%windir%\assembly
进程帐户和模拟标识:
读取

内容目录
C:\inetpub\wwwroot\YourWebApp
(一般来说不用默认目录,管理员可根据实际情况调整比如D:\wwwroot)
进程帐户:
读取和执行
列出文件夹内容
读取
注意 对于 .NET Framework 1.0,直到文件系统根目录的所有父目录也都需要上述权限。父目录包括:
C:\
C:\inetpub\
C:\inetpub\wwwroot\

  • 我的微信
  • 这是我的微信扫一扫
  • weinxin
  • 我的微信公众号
  • 我的微信公众号扫一扫
  • weinxin
广告也精彩
avatar
广告也精彩

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: