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

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

IIS7.5的安装

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中设置需要上传文件的目录,处理程序映射中的编辑功能权限中的脚本去掉,这样即使上传了木马文件在此目录,也是无法执行的。

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

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

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

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

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

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

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

推荐安全配置方案

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

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

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

加强安全配置:

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,但为什么又传递的进程池账户?

(0)

相关推荐

  • Win2008 远程控制安全设置技巧

    为了保障服务器远程控制操作的安全性,Windows Server 2008系统特意在这方面进行了强化,新推出了许多安全防范功能,不过有的功能在默认状态下并没有启用,这需要我们自行动手,对该系统进行合适设置,才能保证远程控制Windows Server 2008服务器系统的安全性. 1.只允许指定人员进行远程控制 如果允许任何一位普通用户随意对Windows Server 2008服务器系统进行远程控制时,那该服务器系统的安全性肯定很难得到有效保证.有鉴于此,我们可以对Windows Server

  • win2008,Windows2008安全,限制匿名访问设置方法

    Windows Server家族操作系统一直有一个弱点就是Administrators组用户权限很高,如远程IPC连接.终端服务登录,使用管理员帐号是不受限制的,这和Windows XP.Windows Vista有着本质的区别,今天Vista地带就来说一下如何防止黑客建立IPC$空连接,这样就防止远程用户的匿名访问,打开注册表编辑器,定位到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\LSA分支,在右边修改RestrictAnonymo

  • Win2008 网络策略设置方法 让访问更安全

    那如何才能避免这些工作站将各种潜在的安全威胁带到服务器系统中,从而给服务器系统造成非常大的影响呢?要做到这一点,我们可以通过设置Windows Server 2008系统的网络策略,来保护服务器系统的安全,禁止危险工作站将网络病毒或木马带入到服务器系统中! 认识网络策略 为了有效保护网络以及服务器系统的安全,Windows Server 2008特意为我们新增加了网络策略服务器功能以及其他多项安全保护措施,利用网络策略功能服务器系统将会强制要求任何一台企图与之连接的普通工作站都要通过特定的网络健

  • Win2008服务器或VPS安全配置基础教程

    当然,这里的安全设置教程对Windows Server 2003同样有效,只是部分步骤有所不同,仅供参考. 其实,不管是windows服务器系统,还是linux服务器系统,只要设置好安全策略,都能最大程度上地保证服务器安全,说不上用linux一定比windows安全,关键是看你怎么用,怎么设置安全策略,怎么避免漏洞被利用;windows服务器系统要保证安全,关键是要避免这个系统的漏洞被利用.下面是具体的安全配置基础教程,仅供参考,按个人喜欢而设置: 修改管理员账号及密码 windows 2008

  • win2008 R2安装网站安全狗提示HTTP 错误 500.21的解决方法

    WINDOWS 2008 R2系统+IIS7.5,在没安装网站安全狗前一切正常,安装网站安全狗3.3版后,有部分php网站无法访问.提示如下错误: HTTP 错误 500.21 - Internal Server Error 处理程序"SafedogIISAuditor64"在其模块列表中有一个错误模块"IsapiModule" 解决方法: 检查IIS7.5是否添加asp.net扩展性组件,没有安装请安装. 再检查IIS7.5是否安装IIS6.0管理兼容性,没有安装

  • WIN2008 R2上安全加强方面的四点注意事项!

    1.2008R2默认的文件夹和文件所有者为TrustedInstaller,这个用户同时拥有所有控制权限. 2.注册表同的项也是这样,所有者为TrustedInstaller. 3.如果要修改文件权限时应该先设置 管理员组 administrators 为所有者,再设置其它权限. 4.如果要删除或改名注册表,同样也需先设置 管理员组 为所有者,同时还要应该到子项,不然还是删除不掉!

  • Win2008远程控制确保安全的设置技巧

    虽然这种控制方式可以提高网络管理效率,但是远程控制方式带来的安全威胁往往也容易被管理人员忽视.为了保障服务器远程控制操作的安全性,Windows Server 2008系统特意在这方面进行了强化,新推出了许多安全防范功能,不过有的功能在默认状态下并没有启用,这需要我们自行动手,对该系统进行合适设置,才能保证远程控制Windows Server 2008服务器系统的安全性. 1.只允许指定人员进行远程控制 如果允许任何一位普通用户随意对Windows Server 2008服务器系统进行远程控制时

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

    操作系统:Windows Server 2008 R2 Enterprise Service Pack 1 x64 IIS版本:IIS7.5 程序:asp.net IIS7.5的安装 http 常见功能:开启静态内容,默认文档,HTTP错误:目录浏览,WebDAV发布如无特殊要求,不要开启:HTTP重定向可根据需要开启. 应用程序开发:这个可根据实际情况开启,如为asp.net的开启ASP.NET,.NET扩展性,ISAPI扩展,ISAPI筛选:在服务器端的包含文件根据需要开启.如果服务器安装s

  • MySQL-group-replication 配置步骤(推荐)

    MySQL-Group-Replication 是mysql-5.7.17版本开发出来的新特性:它在master-slave 之间实现了强一致性, 但是就目前来说主要是性能不太好. [1]确定当前的mysql数据库版本为5.7.17及以上 /usr/local/mysql/bin/mysqld --version /usr/local/mysql/bin/mysqld Ver 5.7.17 for linux-glibc2.5 on x86_64 (MySQL Community Server

  • JavaScript 值类型和引用类型的初次研究(推荐)

    值类型:也称为原始数据或原始值(primitive value). 这类值存储在栈(stack)中,栈是内存中一种特殊的数据结构,也称为线性表,栈按照后进先出的原则存储数据,先进入的数据被压入栈底,最后插入(push)的数据放在栈顶,需要读取数据时从栈顶开始弹出(pop)数据,即最后一个数据被第一个读出来.因此说,值类型都是简单的数据段.变量的位置和变量值的位置是重叠的,也就是说值类型的数据被存储在变量被访问的位置. 引用类型:这类值存储在堆(heap)中,堆是内存中的动态区域,相当于自留空间,

  • 浅析iis7.5安装配置php环境

    iis7.5是安装在win7.win8里的web服务器,win2003.win2000的web服务器使用的是iis6.0,由于win7.win8系统相比win2003.win2000有了改新革面的不同,因此对于iis7.5的配置也必需捣鼓一翻才能熟悉.不过这些都是操作性的东西,就如当初第一次接触iis6.0那样,操作过几遍就慢慢熟悉了. 当下我需要web服务器运行php程序,因此要配置一下php环境.一开始以为比较容易,因为在iis6.0里配置了无数次了,星外PHP全自动安装30秒轻松搞定,但是

  • Pycharm及python安装详细步骤及PyCharm配置整理(推荐)

    首先我们来安装python 1.首先进入网站下载:点击打开链接(或自己输入网址: https://www.python.org/downloads/),进入之后如下图,选择图中红色圈中区域进行下载. 2.下载完成后如下图所示 3.双击exe文件进行安装,如下图,并按照圈中区域进行设置,切记要勾选打钩的框,然后再点击Customize installation进入到下一步: 4.对于上图中,可以通过Browse进行自定义安装路径,也可以直接点击Install进行安装,点击install后便可以完成

  • 在IIS7.0下面配置PHP 5.3.2运行环境的方法

    首先去php站点下载所用到的安装文件.根据自己的不同需要选择,我选择安装的是这个版本:php-5.3.2-Win32-VC9-x86.msi.大家可以根据需要下载选择. 然后就可以下载安装了,一路next下去就可以了.然后在IIS管理器里面加入一个程序映射即可.在这期间遇到了fastcgi出错的问题,然后google寻找结果都是空手而回的.估计是跟我装的版本不一样导致的,为了配置好这个环境自己又卸载重新安装php安装文件,然后就只在 里面添加了一个模块映射,具体参数如下: 这样php的配置就这么

  • PHP学习笔记 IIS7下安装配置php环境

    Php如何安装 Php版本的选择 Php在windows下的(php5.4.7)有两种版本: VC9 x86 Non Thread Safe 非线程安全型 以FastCGI模式运行 VC9 x86 Thread Safe 线程安全性 以ISAPI模式运行 安装过程 只需要解压上一步的zip包即可,然后配置php.ini 详见Php如何配置 Mysql如何安装 下载Mysql database msi安装文件,安装提示下一步即可. Php如何配置 Php的zip包解压后,在根目录下找到php.in

  • MyBatis在insert插入操作时返回主键ID的配置(推荐)

    很多时候,在向数据库插入数据时,需要保留插入数据的id,以便进行后续的update操作或者将id存入其他表作为外键. 但是,在默认情况下,insert操作返回的是一个int值,并且不是表示主键id,而是表示当前SQL语句影响的行数... 接下来,我们看看MyBatis如何在使用MySQL和Oracle做insert插入操作时将返回的id绑定到对象中. MySQL用法: <insert id="insert" parameterType="com.test.User&qu

  • 在win2008 r2 英文版 IIS7.5上配置Https,SSL的方法

    本博文目的:在非服务器.而且没有证书颁发机构(Certificate Authority简称CA)的开发环境中,配置HTTPS,SSL用于测试或学习 一.建造测试网站 1.在桌面上建立个文件夹,然后再在文件夹里新建个html文件 2.打开IIS,添加网站,如图: 3.访问网站http://localhost:8090,如图:  二.创建证书 IIS里的Server Certificates提供了5种创建证书的方法,见下图: 1.其中Create a Self-Signed Server Cert

  • Linux下双网卡Firewalld的配置流程(推荐)

    实验室拟态存储的项目需要通过LVS-NAT模式通过LVS服务器来区隔内外网的服务,所以安全防护的重心则落在了LVS服务器之上.笔者最终选择通过firewalld放行端口的方式来实现需求,由于firewall与传统Linux使用的iptable工具有不小的区别,接下来通过博客来记录一下firewalld的配置流程. 1.Firewall服务的简介: firewalld提供了一个 动态管理的防火墙,用以支持不同网络区域的规则,分配对一个网络及其相关链接和界面一定程度的信任.它具备对 IPv4 和 I

随机推荐