神秘的ApplicationPoolIdentity再也不用妈妈担心程序池安全了

在IIS 7和IIS 7.5中,我们可以为应用程序池设置一个特殊的Identity(用户标识):ApplicationPoolIdentity。 那么这个标识到底是什么意思?它是具体什么身份呢?这一讲我将为你揭晓答案。

这个标识设置会在应用程序池启动的时候,动态地产生一个用户身份,这个用户身份只具备对网站根目录的访问权限,这样可以进一步地保证服务器的安全性。

作为管理员和开发人员,都需要了解这个设置的特性。

视频地址

http://www.tudou.com/programs/view/9R-5nGHQLvg/

文本讲义:

IIS7.5中(仅win7,win2008 SP2,win2008 R2支持),应用程序池的运行帐号,除了指定为LocalService,LocalSystem,NetWorkService这三种基本类型外,还新增了一种ApplicationPoolIdentify

win7的官方帮助上是这么说的:

ApplicationPoolIdentity – 默认情况下,选择“应用程序池标识”帐户。启动应用程序池时动态创建“应用程序池标识”帐户,因此,此帐户对于您的应用程序来说是最安全的。

也就是说"ApplicationPoolIdentity"帐号是系统动态创建的“虚拟”帐号(说它是虚拟的,是因为在用户管理里看不到该用户或用户组,在命令行下输入net user也无法显示,但该帐号又是确实存在的)

如何验证该帐号确实是存在的的?打开任务管理器,观察一下:

w3wp.exe即iis进程,上图中高亮部分表明该iis进程正在以帐号luckty运行(注意这里的luckty即为上图中的应用程序池名称)

好了,搞清楚这个有什么用?

先来做一个测试,比如我们在iis里新建一个站点,主目录设置为c:\2\,应用程序池就指定刚才图中的luckty

假如我们在该站点的default.aspx.cs里写入这样一行代码 :

File.AppendAllText("C:\\TestDir\\1.txt",DateTime.Now.ToString());

前提是c盘必须先建一个目录TestDir,同时除Administrator,System保留完全控制权外,其它帐号的权限都删除掉

运行后,会提示异常: 对路径“C:\TestDir\1.txt”的访问被拒绝。

原因很明显:该站点运行时是以应用程序池(luckty)对应的虚拟帐号运行的,而这个虚拟帐号不具备c:\TestDir的访问权限

这种情况在web服务器(iis6)安全配置中很常见,比如我们把图片上传目录,常常放在主目录之外,同时以虚拟目录形式挂于站点之下,另外在IIS6中不指定该目录任何执行权限 ,这样即使有人非法上传了asp/aspx木马上去,也无法运行搞不成破坏!

言归正传,要想让那一行测试代码正常运行,解决办法很简单,把虚拟帐号的权限加入文件夹安全权限中即可,但是问题来了:这个虚拟帐号我们是不可见的,如果你直接添加名为luckty的用户到文件夹安全帐号里,根本通不过(提示找不到luckty用户),说明这个虚拟帐号名称并不是"luckty"

关键:手动输入 IIS AppPool\luckty (即IIS AppPool\应用程序池名),再确定,这回ok了.

当然除了用"IIS AppPool\应用程序池名"外,windows内部还有一个特殊的用户组Authenticated Users,把这个组加入TestDir的安全权限帐号里也可以,不过个人觉得没有"IIS AppPool\应用程序池名"来得精确.

结束语:
传统IIS6的时候,为了把同一服务器上的各站点权限分开(以防止木马捣乱),不得不创建一堆iuser_XXX,iwam_XXX帐号并指定密码,再一个个站点分配过去,累死人! 而IIS7.5虚拟帐号设计则让这类管理轻松多了,也不用担心密码过于简单或过期问题。So,还在等什么,赶紧升级到win7/win2008 R2吧!

时间: 2024-10-15 05:27:20

神秘的ApplicationPoolIdentity再也不用妈妈担心程序池安全了的相关文章

妈妈再也不用担心我找不到文件了---find

1.find vs locate 在实际中,我们经常需要查找到一些特定文件,然后进行处理,LINUX提供了locate , find这两个命令用于文件查找. a.locate,非实时查找,非精确查找.linux会定期生成更新文件数据库,而locate将根据文件数据库进行查找.我们可以在使用locate命令前,更新文件数据库,使用updatedb即可.但是updatedb将会花费可能半天时间,SO LONG! b.find , 实时查找,精确查找.根据指定路径,查找标准,进行文件遍历(包括隐藏文件

Swift详解之四-------妈妈再也不用担心我的闭包了

妈妈再也不用担心我的闭包了 注:本文为作者自己总结,过于基础的就不再赘述 ,都是亲自测试的结果.如有错误或者遗漏的地方,欢迎指正,一起学习. swift中闭包是一个很强大的东西,闭包是自包含的函数代码块,可以在代码中被传递和使用.跟C 和 Objective-C 中的代码块(blocks)很相似 .这个大家必须掌握!必须掌握!必须掌握!重要的事情要说三遍 闭包可以捕获和存储其所在上下文中任意常量和变量的引用. 这就是所谓的闭合并包裹着这些常量和变量,俗称闭包.下面我们就来攻克它! 1.闭包函数

利用CH341A编程器刷新BIOS,恢复BIOS,妈妈再也不用担心BIOS刷坏了

前几天,修电脑主析就捣鼓刷BIOS,结果刷完黑屏开不了机,立刻意识到完了,BIOS刷错了.就从网上查资料,各种方法试了个遍,什么用处都没有.终于功夫不负有心人,找到了编码器,知道了怎么用.下面看看具体用法: 先买了一个便宜点的编码器: <ignore_js_op> 把刷错的BIOS芯片先拆下来:<ignore_js_op> 把芯片放到编码器上: 再找一台电脑,我的笔记本派上用场了,下载编码器的驱动程序和编码器软件:  <ignore_js_op> <ignore_

Xcode7的发布后的crash跟踪,轻松定位崩溃代码 Address Sanitizer: 妈妈再也不用担心 EXC_BAD_ACCESS

Xcode7中苹果为我们增加了两个重要的debug相关功能.了解之后觉得非常实用,介绍给大家. 1.Address Sanitizer: 妈妈再也不用担心 EXC_BAD_ACCESS? EXC_BAD_ACCESS一直是很多开发者的噩梦,因为这个错误很不直观,出现后往往要花很长时间才能定位到错误.苹果这次带来了革命性的提升. 在项目的Scheme中Diagnostics下,选中enable address sanitizer(注意选中后Xcode会重新编译整个项目). 这样设置后,如果再出现类

妈妈再也不用担心我js跨域了。。

$.getJSON('http://www.example.com/?aa=bb&callback=?', function(r){ console.log(r) }); //callback=?参数带上,妈妈再也不用担心我跨域了.jquery的getJSON利用的也是JSONP的原理去实现的.

Matlab命令合集 妈妈再也不用担心我不会用matlab了

matlab命令 一.常用对象操作:除了一般windows窗口的常用功能键外.1.!dir 可以查看当前工作目录的文件. !dir& 可以在dos状态下查看.2.who 可以查看当前工作空间变量名, whos 可以查看变量名细节.3.功能键:功能键 快捷键 说明方向上键 Ctrl+P 返回前一行输入方向下键 Ctrl+N 返回下一行输入方向左键 Ctrl+B 光标向后移一个字符方向右键 Ctrl+F 光标向前移一个字符Ctrl+方向右键 Ctrl+R 光标向右移一个字符Ctrl+方向左键 Ctr

收藏 | 15 个你非了解不可的 Linux 特殊字符,妈妈再也不用担心我看不懂这些符号了!

原文:收藏 | 15 个你非了解不可的 Linux 特殊字符,妈妈再也不用担心我看不懂这些符号了! 不知道大家接触 Linux 系统有多久了,可曾了解过 Linux 中有哪些特殊的字符呢?其实啊,那些特殊字符都大有用处呢,今天的文章就给大家简单地科普一下 Linux 中你需要了解的 15 个特殊字符,想学或刚学 Linux 的小伙伴赶紧上车了为! ~ 主目录 这个波浪号 ~ 指的是主目录,也就是我们用户的个人目录,无论你身在何方,输入 cd ~ 它将带你回家! cd ~ 更高端的玩法就是在它后面

完全免费,再也不用担心转pdf文件乱来乱去的问题了

完全免费,再也不用担心转pdf文件乱来乱去的问题了. 源代码:https://github.com/xlgwr/WpsToPdf.git 第三方插件Bye Bye... 功能说明 主要引用Wps金山办公软件生成pdf功能 可部署到IIS服务器,直接调用API,生成PDF文件 可转文件类型,xls,xlsx,ppt,pptx,doc,docx等Wps金山办公软件所有支持的文件类型. 安装最新Wps 金山办公软件 引用Wps 对应com dll 使用VS2019 打开,生成,运行 web api 发

android 傻瓜式 MultiDex 插件,从此再也不用担心方法数问题!

ndroid-Easy-MultiDex 项目地址:TangXiaoLv/Android-Easy-MultiDex 简介:Android 傻瓜式 MultiDex 插件,从此再也不用担心方法数问题! 注 1:不想看前半部分的话可以直接跳过到最下面配置部分.注 2:本插件是基于DexKnifePlugin 1.5.6优化改造而来,感谢 ceabie 的无私奉献. 填坑之路 坑 1:65536 ,So easy! 原因:Dalvik 的 invoke-kind 指令集中,method refere