免费智能真题库 > 历年试卷 > 网络工程师 > 2015年上半年 网络工程师 上午试卷 综合知识
  第33题      
  知识点:   IPSec   身份验证
  关键词:   Windows   保密   密钥交换   身份验证   通信   密钥        章/节:   网络操作系统   安全技术与协议       

 
Windows server2003采用IPSec进行保密通信,如果密钥交换采用“主密钥完全向前保密(PFS)”,则“身份验证和生成密钥间隔”默认值为480分钟和(33)个会话。
 
 
  A.  1
 
  B.  2
 
  C.  161
 
  D.  530
 
 
 

 
  第35题    2017年上半年  
   26%
在Windows操作系统中,远程桌面使用的默认端口是( )。
  第34题    2019年上半年  
   48%
在Windows系统的服务项中,( )服务使用SMB协议创建并维护客户端网络与远程服务器之间的连接。
  第40题    2013年上半年  
   14%
在接收邮件时,客户端代理软件与POP3服务器通过建立(40)连接来传送报文。
 
  第43题    2011年下半年  
   13%
以下安全协议中,用来实现安全电子邮件的协议是(43)。
  第45题    2020年下半年  
   19%
以下关于HTTP和HTTPS的描述中,不正确的是( )。
  第45题    2011年下半年  
   48%
Kerberos由认证服务器(AS)和票证授予服务器(TGS)两部分组成,当用户A通过Kerberos向服务器V请求服务时,认证过程如下图所示,图中..
   知识点讲解    
   · IPSec    · 身份验证
 
       IPSec
        IPSec是Internet Protocol Security的缩写。在TCP/IP协议网络中,由于IP协议的安全脆弱性,如地址假冒、易受篡改、窃听等,Internet工程组(IETF)成立了IPSec工作组,研究提出解决上述问题的安全方案。根据IP的安全需求,IPSec工作组制定了相关的IP安全系列规范:认证头(Authentication Header,简称AH)、封装安全有效负荷(Encapsulatin Security Payload,简称ESP)以及密钥交换协议。
               IPAH
               IP AH是一种安全协议,又称为认证头协议。其安全目的是保证IP包的完整性和提供数据源认证,为IP数据报文提供无连接的完整性、数据源鉴别和抗重放攻击服务。其基本方法是将IP包的部分内容用加密算法和Hash算法进行混合计算,生成一个完整性校验值,简称ICV(Integrity Check Value),同时把ICV附加在IP包中,如下图所示。
               
               IP AH协议包格式
               在TCP/IP通信过程中,IP包发送之前都事先计算好每个IP包的ICV,按照IP AH的协议规定重新构造包含ICV的新IP包,然后再发送到接收方。通信接收方在收到用IP AH方式处理过的IP包后,根据IP包的AH信息验证ICV,从而确认IP包的完整性和来源。IP认证头(AH)的信息格式如下图所示。
               
               IP认证头(AH)的信息格式
               IP ESP
               IP ESP也是一种安全协议,其用途在于保证IP包的保密性,而IP AH不能提供IP包的保密性服务。IP ESP的基本方法是将IP包做加密处理,对整个IP包或IP的数据域进行安全封装,并生成带有ESP协议信息的IP包,然后将新的IP包发送到通信的接收方。接收方收到后,对ESP进行解密,去掉ESP头,再将原来的IP包或更高层协议的数据像普通的IP包那样进行处理。RFC 1827中对ESP的格式做了规定,AH与ESP体制可以合用,也可以分用。
               IP AH和IP ESP都有两种工作模式,即透明模式(Transport mode)和隧道模式(Tunnel Mode)。透明模式只保护IP包中的数据域(data payload),而隧道模式则保护IP包的包头和数据域。因此,在隧道模式下,将创建新的IP包头,并把旧的IP包(指需做安全处理的IP包)作为新的IP包数据。
               密钥交换协议
               基于IPSec技术的主要优点是它的透明性,安全服务的提供不需要更改应用程序。但是其带来的问题是增加网络安全管理难度和降低网络传输性能。
               IPSec还涉及密钥管理协议,即通信双方的安全关联已经事先建立成功,建立安全关联的方法可以是手工的或是自动的。手工配置的方法比较简单,双方事先对AH的安全密钥、ESP的安全密钥等参数达成一致,然后分别写入双方的数据库中。自动的配置方法就是双方的安全关联的各种参数由KDC(Key Distributed Center)和通信双方共同商定,共同商定的过程就必须遵循一个共同的协议,这就是密钥管理协议。目前,IPSec的相关密钥管理协议主要有互联网密钥交换协议IKE、互联网安全关联与密钥管理协议ISAKMP、密钥交换协议Oakley。
               9.2.6SSL
               SSL是Secure Sockets Layer的缩写,是一种应用于传输层的安全协议,用于构建客户端和服务端之间的安全通道。该协议由Netscape开发,包含握手协议、密码规格变更协议、报警协议和记录层协议。其中,握手协议用于身份鉴别和安全参数协商;密码规格变更协议用于通知安全参数的变更;报警协议用于关闭通知和对错误进行报警;记录层协议用于传输数据的分段、压缩及解压缩、加密及解密、完整性校验等。
               SSL协议是介于应用层和TCP层之间的安全通信协议。其主要目的在于两个应用层之间相互通信时,使被传送的信息具有保密性及可靠性,如下图所示。SSL的工作原理是将应用层的信息加密或签证处理后经TCP/IP网络送至对方,收方经验证无误后解密还原信息。
               
               SSL协议工作机制
               如下图所示,SSL协议是一个分层协议,最底层协议为SSL记录协议(SSL Record Protocol),其位于传输层(如TCP)之上,SSL记录协议的用途是将各种不同的较高层协议(如HTTP或SSL握手协议)封装后再传送。另一层协议为SSL握手协议(SSL Handshake Protocol),由3种协议组合而成,包含握手协议(Handshake Protocol)、密码规格变更协议(Change Cipher Spec)及报警协议(Alert protocol),其用途是在两个应用程序开始传送或接收数据前,为其提供服务器和客户端间相互认证的服务,并相互协商决定双方通信使用的加密算法及加密密钥。
               
               SSL协议组成示意图
               SSL协议提供三种安全通信服务。
               (1)保密性通信。握手协议产生秘密密钥(secret key)后才开始加、解密数据。数据的加、解密使用对称式密码算法,例如DES、AES等。
               (2)点对点之间的身份认证。采用非对称式密码算法,例如RSA、DSS等。
               (3)可靠性通信。信息传送时包含信息完整性检查,使用有密钥保护的消息认证码(Message Authentication Code,简称MAC)。MAC的计算采用安全杂凑函数,例如SHA、MD5。
               SSL记录协议(record protocol)的数据处理过程如下图所示,其步骤如下:
               (1)SSL将数据(data)分割成可管理的区块长度。
               (2)选择是否要将已分割的数据压缩。
               (3)加上消息认证码(MAC)。
               (4)将数据加密,生成即将发送的消息。
               (5)接收端将收到的消息解密、验证、解压缩,再重组后传送至较高层(例如应用层),即完成接收。
               
               SSL记录协议数据处理示意图
 
       身份验证
        检查应用程序验证调用者身份的方法,在何处使用身份验证,如何确保凭据在存储中或通过网络传递的安全。身份验证中的漏洞可能导致应用程序易受哄骗攻击、词典攻击、会话劫持等。下表重点列出了常见的身份验证漏洞。
        
        常见的身份验证漏洞
        测试中需要考虑下列问题,确定在应用程序进行身份验证的方法中的潜在漏洞。
        . 是否区分公共访问和受限访问。
        如果应用程序既有不要求身份验证的公共区域,也有要求身份验证的受限区域,检查站点设计区分二者的方法。必须为受限的页和资源使用单独的子文件夹,然后在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页是否使用正则表达式来验证密码复杂性规则。
        ②是否限制失败登录的次数。
        这样做有助于对抗词典攻击。
        ③是否在故障发生后公开过多的信息。
        确保不显示类似“不正确的密码”这样的消息,因为它将告诉恶意用户:用户名是正确的。结果,恶意用户便可集中精力破解密码。
        ④是否强制定期更改密码。
        如果不强制定期更改密码,用户极有可能不更改自己的密码,结果风险更高。
        ⑤是否能在泄露发生时迅速禁用账户。
        如果账户泄露,是否能方便地禁用账户来防止攻击者继续使用账户。
        ⑥应用程序是否记录登录企图。
        记录失败的登录企图是检测攻击者试图侵入的有效方法。
   题号导航      2015年上半年 网络工程师 上午试卷 综合知识   本试卷我的完整做题情况  
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 /
 
第33题    在手机中做本题