IIS7.5 安全配置研究(推荐)

这篇文章主要介绍了IIS7.5 安全配置研究(推荐),需要的朋友可以参考下

操作系统:Windows Server 2008 R2 Enterprise Service Pack 1 x64 IIS版本:IIS7.5 程序:asp.net

IIS7.5的安装

2014030611270847744.jpg

http 常见功能:开启静态内容,默认文档,HTTP错误;目录浏览,WebDAV发布如无特殊要求,不要开启;HTTP重定向可根据需要开启。

应用程序开发:这个可根据实际情况开启,如为asp.net的开启ASP.NET,.NET扩展性,ISAPI扩展,ISAPI筛选;在服务器端的包含文件根据需要开启。如果服务器安装sql server 2008 好像需要选择安装asp.net、net扩展性

健康和诊断:建议开启HTTP日志记录,日志记录工具,请求监视;其他可根据需要开启。

安全性:建议开启URL授权,请求筛选,IP和域限制;其他根据需要开启。

性能,管理工具,ftp服务器,IIS可承载的Web核心可根据开启。
跟版网小编注:如果需要按照服务器安全狗需要安装 IIS 6 管理兼容性

IIS7.5权限配置介绍


--------------------------------------------------------------------------------

IIS7.5涉及两个账户,一个为匿名账户,一个为应用程序池账户。在磁盘的NTFS权限设置中,匿名账户只需要拥有对网站目录的读取权限即可;而应用程序池账户需要根据程序实际情况给予相应权限,比如:需要去写文件,则要给予写权限,需要去调用一个程序(如cmd.exe)则需要给予执行权限。总之,对文件的访问,首先需要有匿名账户的访问权限,然后再根据程序的操作需要什么样的权限给予应用程序池账户相应的权限。

研究发现的几个基本问题:

1. 上传目录的写入权限由应用程序池账户决定;
2. 应用程序池默认对于的账户为IIS APPPOOL\{app pool name},且属于IIS_IUSRS组;
3. 默认的匿名账户为IUSR账户,且属于authenticated users 组;
4. 任何用户都属于USERS组,且手工删除后仍然属于USERS组;
5. 上传木马之后,能够看到的目录是由应用程序池账户决定的;
6. 在此测试环境下,USERS组默认拥有网站目录的写入权限;
7. 一个aspx文件的运行跟NTFS的运行权限无关;
8. 对于网站的匿名账户只需要对网站目录有读取权限;
9. 应用程序池账户运行aspx也只需要读取权限,但是如果要写文件需则写权限,要执行其他程序则需要执行权限;


常见服务器被入侵威胁及解决措施

常见服务器入侵威胁:

1. webdav直接上传webshell
2. 通过程序文件上传漏洞上传webshell
3. webshell的权限过高导致被提权

解决常见问题措施:

1. 解决webdav问题
在安装的时候直接不安装webdav组件

2.防止上传的木马文件执行
可以在IIS中设置需要上传文件的目录,处理程序映射中的编辑功能权限中的脚本去掉,这样即使上传了木马文件在此目录,也是无法执行的。

2014030611273098478.jpg

上传目录取消应用程序池账户的执行权限

2014030611274922035.png

3. 防止木马执行后看到网站目录之外的文件

可以设置进程池账户对其他文件夹无读取权限。

4. 防止木马执行后可执行cmd

取消进程池账户的NTFS执行权限。

5. 防止木马执行后运行cmd权限过高

进程池账户选择权限较低的账户,最好就是默认的账户。

推荐安全配置方案

安全配置简单配置:1. 匿名账户使用默认的IUSR。

2014030611280328764.jpg

2. 应用程序池使用默认的标识,对于的账户为IIS AppPool\应用程序池名称。

2014030611281563141.jpg

3.IIS中对上传目录设置为脚本不可执行

2014030611282823501.png

加强安全配置:

1. 匿名账户使用默认的“应用程序用户”也就是对应的IUSR。
2. 应用程序池账户使用默认的IIS AppPool\应用程序池名称。
3. 删除everyone,users在所有磁盘上的权限。
4. 删除users在system32上的所有权限(需要先修改所有者为administrator)。
5. 在网站目录下给予IUSR读取权限。
6. 在网站目录下给予IIS AppPool\应用程序池名称读取权限,如果程序中有特殊要求的权限,如写入文件等,则再对应的目录下给予相应的权限,如写入权限。
7. 在网站要求的上传目录给予IIS AppPool\应用程序池名称写入权限,但是不给予执行权限。
8. 在IIS中取消上传目录的脚本执行权限。

注意:
1.以上两种配置均使用默认的应用程序池账户,如果自定义,最好是将自定义加入IIS_IUSRS组。
2.IIS7.5中建立多个站点的时候,如果使用默认的应用程序池账户,系统会默认产生如IIS AppPool\各个不同的应用程序池名称。
3.Asp.net程序在第一次访问编译的时候,应用程序池账户需要拥有system32文件夹的读取和执行权限

疑问

1.在测试过程中发现,访问aspx程序,如果匿名账户为自定义的账户,则需要给自定义的匿名账户在文件夹C:\Windows\Microsoft.NET\Framework64\v2.0.50727\Temporary ASP.NET Files上的写入权限;但是,如果使用默认的匿名账户,也就是IUSR时,需要给予应用程序池账户在此文件夹上的写入权限。疑问点在于此文件夹到底是需要哪个账户的写入权限,因为选择默认的匿名账户时,即时禁止IUSR在此文件的写入权限,只要应用程序池账户在此文件夹有写权限,一样运行正常?

2.当匿名用户为程序默认的时候,应该就是IUSR,但为什么又传递的进程池账户?

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

今天有个客户问我他的网址访问目录就打开网站出现Directory Listing Denied,其实就是没有设置默认页面的问题,一般情况下默认网页的名称都是index.html,index.htm,default.htm,default.html、index.php、default.php等等,一般不是index就是default,不是ht
服务器用的是window server2008r2,用ueditor怎么也不能上传大文件,ueditor也修改了 PHP 也修改了,就是不行,最后还是修改iis设置生效了,以下是收集的修改方法。 我只用修改了第二步的1、2、3、4和第四步就可以了,仅供参考。 第一步:记得修改 php .ini
今天演示一下服务器权限的设置,实现目标是系统盘任何一个目录asp网马不可以浏览,事件查看器完全无错,所有程序正常运行.
网上流传的很多关于windows server 2003系统的安全配置,但是仔细分析下发现很多都不全面,并且很多仍然配置的不够合理,并且有很大的安全隐患,今天我决定仔细做下极端BT的2003服务器的安全配置,让更多的网管朋友高枕无忧。
对于win2003服务器的安全配置方法,脚本之家之前发布了很多类似的文章,但并不完整,所以我们以后会整理下放到论坛里面,大家一起来交流。
自带的关于网络的命令行工具很多,比如大家熟悉的Ping、Tracert、Ipconfig、Telnet、Ftp、Tftp、Netstat,还有不太熟悉的Nbtstat、Pathping、Nslookup、Finger、Route、Netsh等等。