免费智能真题库 > 历年试卷 > 网络工程师 > 2012年上半年 网络工程师 上午试卷 综合知识
  第41题      
  知识点:   配置Web服务器   IIS   身份验证
  关键词:   IIS   安全   身份验证        章/节:   网络操作系统       

 
IIS6.0支持的身份验证安全机制有4种验证方法,其中安全级别最高的验证方法是 (41)。
 
 
  A.  匿名身份验证
 
  B.  集成Windows身份验证
 
  C.  基本身份验证
 
  D.  摘要式身份验证
 
 
 

 
  第30题    2012年上半年  
   14%
客户端登录FTP服务器后使用 (30)命令来上传文件。
  第44题    2010年上半年  
   25%
IIS服务支持的身份验证方法中,需要利用明文在网络上传递用户名和密码的是(44)。
  第35题    2020年下半年  
   38%
Windows Server 2008 R2上IIS7.5能提供的服务有( )。
   知识点讲解    
   · 配置Web服务器    · IIS    · 身份验证
 
       配置Web服务器
        IIS 7.5的Web服务组件安装成功后,就可以在这台服务器上创建Web站点了。默认情况下,在安装的过程中,系统会自动创建一个默认的Web站点。用户可以通过修改默认站点的属性发布自己的Web网站,也可以重新建立一个Web站点。
               网站的基本配置
               选择"开始"→"管理工具"→"Internet服务管理器"命令,打开"Internet信息服务(IIS)管理器"对话框。在管理器的左侧窗格中单击"网站"节点前的"+"号,然后选中某个希望配置的网站,右键单击该网站,在弹出的快捷菜单中选择"属性"命令,打开网站属性对话框。
               在"网站"选项卡中可以设置网站的标识,包括网站描述、IP地址和端口号,还可以设置连接超时、启用日志记录等,从网站日志记录中可以查看哪些用户访问了网站中的哪些内容,如下图所示。
               
               "网站"选项卡
               在"主目录"选项卡中指定网站Web内容的来源,如下图所示。
               
               "主目录"选项卡
               网站的安全性配置
               为了保证Web网站和服务器的安全,可以在"目录安全性"选项卡中为网站进行身份验证和访问控制、IP地址和域名限制的设置,如下图所示。在"身份验证和访问控制"选项组中单击"编辑"按钮,打开如下图所示的"身份验证方法"对话框。使用该对话框可以配置Web服务器以验证用户身份。可以验证单个用户或选择用户组来阻止未授权用户与受限制内容建立Web(HTTP)连接。
               
               "目录安全性"选项卡
               
               "身份验证方法"对话框
               选中"启用匿名访问"复选框可以为用户建立匿名连接,此时用户无须专用的账户,而是使用匿名或来宾账户(Guest)登录到IIS。默认情况下,服务器创建和使用账户"IUSR_计算机名",对应于本书所举的例子,用户名为IUSR_WIN2008_R2。
               如果用户希望对网站的访问者验证身份,也可以在"身份验证方法"对话框中的"用户访问需经过身份验证"选项组中进行设置。在此部分中选中的选项要求用户在访问服务器上的任何信息前,提供有效的Microsoft Windows用户名和密码。当前IIS 7.5中提供了以下两种身份验证方法。
               ①基本身份验证。用户使用基本身份验证访问Web站点时,系统会模仿为一个本地用户(即能实际登录到Web服务器的用户)登录到Web服务器,因此用于基本验证的Windows用户必须具有"本地登录"用户权限。它是一种工业标准的验证方法,大多数浏览器支持这种验证方法。在使用基本身份验证方法时,用户密码是以未加密形式在网络上传输的,很容易被蓄意破坏系统安全的人在身份验证过程中使用协议分析程序破译用户和密码,因此这种验证方式是不安全的。
               ②摘要式身份验证。摘要式身份验证也要求用户输入账号名称和密码,但账号名称和密码都经过MD5算法处理,然后将处理后产生的散列随机数(hash)传送给Web服务器。采用这种方法时,Web服务器必须是Windows域的成员服务器。
               ③集成Windows身份验证。集成Windows身份验证是一种安全的验证形式,它也需要用户输入用户账户和密码,但账户名和密码在通过网络发送前会经过散列处理,因此可以确保其安全性。Windows身份验证方法有两种,分别是Kerberos v5验证和NTLM,如果在Windows域控制器上安装了Active Directory服务,并且用户的浏览器支持Kerberos v5验证协议,则使用Kerberos v5验证,否则使用NTLM验证。
               集成Windows身份验证优先于基本身份验证,但它并不先提示用户输入用户名和密码,只有Windows身份验证失败后,浏览器才提示用户输入用户名和密码。虽然Windows身份验证非常安全,但是在通过HTTP代理连接时,Windows身份验证不起作用,无法在代理服务器或其他防火墙应用程序后使用。因此,Windows身份验证最适合企业Intranet环境。
               用户可以基于IP地址或域名来允许或拒绝特定用户、计算机、计算机组或域访问该网站、目录或文件。在上图所示的"IP地址和域名限制"选项组中单击"编辑"按钮,打开如下图所示的"IP地址和域名限制"对话框。默认情况下,所有的计算机都被允许访问该网站。选中"授权访问"单选按钮,可以授权所有的计算机访问该网站,但在"下列除外"列表框中指定的计算机除外。要添加拒绝访问的计算机、计算机组或域,需单击"添加"按钮,打开如下图所示的"拒绝访问"对话框,在其中输入希望拒绝计算机的相应信息。输入后,单击"确定"按钮,被拒绝访问的计算机将出现在如下图所示的"下列除外"列表框中。
               
               "IP地址和域名限制"对话框
               
               "拒绝访问"对话框
 
       IIS
        Microsoft的Web服务器产品为Internet Information Services(IIS),IIS是允许在公共Intranet或Irternet上发布信息的Web服务器,是目前最流行的Web服务器产品之一。ⅡS提供了一个图形界面的管理工具,称为Internet服务管理器,可用于监视配置和控制Internet服务。
        IIS是一种Web服务组件,其中包括Web服务器、FTP服务器、NNTP服务器和SMTP服务器,分别用于网页浏览、文件传输、新闻服务和邮件发送等方面,它使得在网络上发布信息成为一件很容易的事。IIS提供ISAPI(Intranet Server API)作为扩展Web服务器功能的编程接口;同时,它还提供一个Internet数据库连接器,可以实现对数据库的查询和更新。
 
       身份验证
        检查应用程序验证调用者身份的方法,在何处使用身份验证,如何确保凭据在存储中或通过网络传递的安全。身份验证中的漏洞可能导致应用程序易受哄骗攻击、词典攻击、会话劫持等。下表重点列出了常见的身份验证漏洞。
        
        常见的身份验证漏洞
        测试中需要考虑下列问题,确定在应用程序进行身份验证的方法中的潜在漏洞。
        . 是否区分公共访问和受限访问。
        如果应用程序既有不要求身份验证的公共区域,也有要求身份验证的受限区域,检查站点设计区分二者的方法。必须为受限的页和资源使用单独的子文件夹,然后在IIS中将它们配置为要求SSL来确保安全。这种方法允许只在需要的地方使用SSL来确保敏感数据和身法验证cookie的安全性,从而避免了因在整个站点中使用SSL而造成的附加性能负担。
        . 是否明确服务账户要求。
        设计应明确连接不同资源(包括数据库、目录服务和其他类型的网络资源)的服务账户范围。设计中不能使用单个的、有高度特权的账户(有足够的权限连接多种不同类型的资源)。
        ①设计是否要求特权最少的账户。
        检查设计并准确标识各账户执行特定功能所需的特权,然后在任何情况下都使用特权最少的账户。
        ②应用程序是否要维护服务账户凭据。
        如果是,确保加密这些凭据,然后保存在受限的位置中。例如,保存在有受限访问控制列表(ACL)的注册表项。
        . 如何验证调用者身份。
        测试时考虑与调用者身份验证相关的下列事项。具体事项由设计中使用的身份验证类型决定。
        ①是否在网络中传递明文凭据。如果使用表单或基本身份验证(或使用Web服务并在SOAP头中传递凭据),确保使用SSL来保护传输中的凭据。
        ②是否实现自己的用户存储。如果是,检查用户凭据的存储位置和存储方式。一种常见错误是将明文或加密密码保存在用户存储中。实际上,必须保存密码的哈希值来进行身份验证。
        如果根据SQL Server用户存储验证凭据,密切注意用户名和密码的输入。检查是否存在恶意注入的SQL字符。
        ③是否使用表单身份验证。如果是,除使用SSL保护凭据外,还应使用SSL来保护身份验证cookie。此外,还要检查设计是否使用受限的会话生存期来抵御cookie重播攻击,并确保加密cookie。
        . 如何验证数据库的身份。
        如果应用程序要连接数据库,检查使用的身份验证机制、打算使用的账户(一个或多个),以及如何在数据库中授权应用程序。
        明确下列问题有助于对数据库身份验证进行评价。
        ①是否使用SQL身份验证。
        在理想情况下,设计使用Windows身份验证来连接SQL Server,因为这种方法本身更加安全。如果使用SQL身份验证,检查在网络中和数据库连接字符串中确保凭据安全的方法。
        如果网络基础结构不提供IPSec加密通道,确保在数据库中安装服务器证书来提供自动SQL凭据加密。此外,还要检验确保数据库连接字符串安全的方法,因为这些字符串中包含SQL账户的用户名和密码。
        ②是否使用进程账户。
        如果使用应用程序的进程账户并使用Windows身份验证连接SQL服务器,应在设计中使用特权最少的账户。本地ASP.NET账户便是为此提供的,尽管对于本地账户来说,用户需要在数据库服务器上创建一个相同的账户。
        如果打算使用域账户,首先确保它是特权最少的账户,然后打开相关的端口来确保所有相关防火墙都支持Windows身份验证。
        ③是否使用服务账户。
        如果设计要求使用多个身份来支持数据库中的高粒度授权,则需要检查保存账户凭据(在理想情况下,这些凭据使用数据保护API(DPAPI)加密并保存在安全注册表项中)的方法,以及使用服务身份的方法。
        此外,还要检查使用哪些进程通过该服务账户创建模拟的安全上下文。该操作不应由Microsoft Windows 2000中的ASP.NET应用程序进程来完成,因为它将强制提升进程账户的特权,并授予“作为操作系统的一部分”特权。这种情况必须尽量避免,它将大大增加风险。
        ④是否考虑使用匿名Internet用户身份。
        对于使用表单或Passport身份验证的应用程序而言,可为各个程序配置单独的匿名用户账户。然后,启用模拟并使用匿名身份来访问数据库。该方法适于对同一服务器的不同应用程序进行单独的授权和身份跟踪。
        ⑤是否使用原始用户身份。
        如果设计要求模拟原始调用者,必须考虑该方法是否能提供足够的伸缩性,因为连接池是无效的。另一种备选方法是,通过受信的查询参数在应用程序级流动原始调用者身份。
        ⑥如何保存数据库连接字符串。
        如果数据库连接字符串硬编码,或以明文形式保存在配置文件或COM+目录中,则很容易受到攻击。实际上,应加密它们,然后限制对加密数据的访问。
        . 是否强制使用强账户管理措施。
        如果应用程序使用Windows身份验证,Windows安全策略将强制使用强密码、受限登录和其他最佳账户管理策略。其他情况,则由应用程序层负责这些措施。测试要考虑与应用程序账户管理相关的下列问题。
        ①应用程序是否强制使用强密码。
        例如,ASP.NET Web页是否使用正则表达式来验证密码复杂性规则。
        ②是否限制失败登录的次数。
        这样做有助于对抗词典攻击。
        ③是否在故障发生后公开过多的信息。
        确保不显示类似“不正确的密码”这样的消息,因为它将告诉恶意用户:用户名是正确的。结果,恶意用户便可集中精力破解密码。
        ④是否强制定期更改密码。
        如果不强制定期更改密码,用户极有可能不更改自己的密码,结果风险更高。
        ⑤是否能在泄露发生时迅速禁用账户。
        如果账户泄露,是否能方便地禁用账户来防止攻击者继续使用账户。
        ⑥应用程序是否记录登录企图。
        记录失败的登录企图是检测攻击者试图侵入的有效方法。
   题号导航      2012年上半年 网络工程师 上午试卷 综合知识   本试卷我的完整做题情况  
1 /
2 /
3 /
4 /
5 /
6 /
7 /
8 /
9 /
10 /
11 /
12 /
13 /
14 /
15 /
 
16 /
17 /
18 /
19 /
20 /
21 /
22 /
23 /
24 /
25 /
26 /
27 /
28 /
29 /
30 /
 
31 /
32 /
33 /
34 /
35 /
36 /
37 /
38 /
39 /
40 /
41 /
42 /
43 /
44 /
45 /
 
46 /
47 /
48 /
49 /
50 /
51 /
52 /
53 /
54 /
55 /
56 /
57 /
58 /
59 /
60 /
 
61 /
62 /
63 /
64 /
65 /
66 /
67 /
68 /
69 /
70 /
71 /
72 /
73 /
74 /
75 /
 
第41题    在手机中做本题