[TOC]

0x00 快速入门

描述: IIS 全称为 Internet Information Service(Internet 信息服务),它的功能是供信息服务,如架设 http、 ftp 服务器等,是WindowsNT内核的系统自带的,不需要下载。

应用程序池
应用程序池是将一个或多个应用程序链接到一个或多个工作进程集合的配置。因为应用程序池中的应用程序与其他应用程序被工作进程边界分隔,所以某个应用程序池中的应用程序不会受到其他应用程序池中应用程序所产生的问题的影响。

工作进程隔离模式防止一个应用程序或站点停止了而影响另一个应用程序或站点,大大增强了IIS的可靠性。应用程序池的建立比较简单,打开IIS管理器,只在“应用程序池”上右键选择新建“应用程序池”即可。
新建完成后就可以为不同的网站选择不同的应用程序池

IIS管理器->右键属性->主目录->应用程序池进行选择

IIS 日志格式
在IIS管理器找到对应的网站==>右键==>属性,可以看到日志启用选项,点击属性按钮就可以对日志计划和格式进行设置了,也可以点击下拉按钮选择默认的几种的格式

1
2017-09-28 03:45:30 W3SVC1 192.168.228.131 GET /test.php - 80 - 192.168.228.1 Mozilla/5.0+(Windows+NT+10.0;+WOW64;+rv:55.0)+Gecko/20100101+Firefox/55.0 200 0 0

在日志格式中的对应关系为

  • 日期:2017-09-28
  • 时间:03:45:30
  • 服务名:W3SVC1
  • 用户名:-
  • 服务器IP:192.168.228.131
  • 服务器端口:80
  • 客户端IP:192.168.228.1
  • 方法:GET
  • URI资源:/test.php
  • 用户代理:
  • Mozilla/5.0+(Windows+NT+10.0;+WOW64;+rv:55.0)+Gecko/20100101+Firefox/55.0
  • 协议状态:200
  • 协议子状态:0
  • Win32状态:0

安全加固

身份验证
描述:身份验证是验证客户端身份的行为,并控制客户端对资源的访问能力。
一般情况下客户端必须提供某些证据(凭据)才能够正常的访问,通常,凭据指用户名和密码;

IIS有多种身份验证方式主要有:

  • (1)匿名访问:启用了匿名访问访问站点时,不要求提供经过身份验证的用户凭据(公开让大家浏览的信息)

用户尝试连接您的网站时IIS 会将该连接分配给 IUSER_ComputerName帐户,其中 ComputerName 是运行 IIS 的服务器的名称;其帐户为 Guests 组的成员,密码为空;

启用匿名访问设置:IIS管理器->右键属性->目录安全性->身份认证和访问控制->编辑->启用匿名访问(实际上选择用户);

注意事项:
如果启用匿名访问 IIS 会始终先使用匿名身份验证来尝试验证用户身份,即使启用其他身份验证方法也是如此,也就是说启用匿名身份验证后其他验证方式也会失效

  • (2)集成Windows身份验证
    NTLM 或 Windows NT 质询/响应身份验证,此方法以 Kerberos 票证的形式通过网络向用户发送身份验证信息,并提供较高的安全级别,Windows 集成身份验证使用 Kerberos 版本 5 和 NTLM 身份验证

    启用集成Windows身份验证访问设置:IIS管理器->右键属性->目录安全性->身份认证和访问控制->编辑->取消匿名访问(并且选中集成Windows身份验证)

注意事项:
使用这个验证方法在访问网页时需要输入windows服务器的账户和密码用户名和密码,并且在浏览器的声明周期内只需输入一次密码;
如果选择了多个身份验证选项 IIS 会首先尝试协商最安全的方法,然后它按可用身份验证协议的列表向下逐个试用其他协议,直到找到客户端和服务器都支持的某种共有的身份验证协议。

  • (3)Windows域服务器的摘要式身份验证
    描述:摘要式身份验证需要用户 ID 和密码,可提供中等的安全级别,如果要允许从公共网络访问安全信息,则可以使用这种方法。(方法与基本身份验证提供的功能相同)
    注:如果启用摘要式身份验证,需要在领域框中键入领域名称。

  • (4)基本身份验证(以明文形式发送密码)
    描述:基本身份验证需要用户 ID 和密码,提供的安全级别较低。用户凭据以明文形式在网络中发送可以采用协议分析程序都能读取到密码,优点是可以与大多数Web客户端兼容;
    注:如果启用基本身份验证,需要在“默认域”框中键入要使用的域名,还可以选择在领域框中输入一个值。

  • (5)NET Passport 身份验证
    描述:.NET Passport 身份验证提供了单一登录安全性,为用户提供对 Internet 上各种服务的访问权限,如果选择此选项对 IIS 的请求必须在查询字符串或 Cookie 中包含有效的 .NET Passport 凭据。

注意:
如果 IIS 不检测 .NET Passport 凭据,请求就会被重定向到 .NET Passport 登录页。
如果选择此选项,所有其他身份验证方法都将不可用(显示为灰色)。

权限控制
描述:权限控制可以通过文件权限进行设置,由于IIS账户隶属于Guests账户,可以设置整个Guests账户或只设置IIS账户,对于上传目录一定要禁止执行权限,仅赋予读写权限

wwwroot根目录->属性->安全->IUSER用户->进行权限配置;