• 防御—IPsecVPN


    目录

    1. 什么是数据认证,有什么作用,有哪些实现的技术手段?

    数据认证的主要作用包括:

    实现数据认证的主要手段包括:

    2. 什么是身份认证,有什么作用,有哪些实现的技术手段?

    3. 什么VP恩技术?

    具体来说,VPN技术可以通过以下方式工作:

    4. VP恩技术有哪些分类?

    5. IPSEC技术能够提供哪些安全服务?

    6. IPSEC的技术架构是什么?

    ​编辑7. AH与ESP封装的异同?

    传输模式:

    隧道模式:

    鉴别头AH(Authentication Header)协议

    AH报文格式

    鉴别过程

    封装安全净荷ESP(Encapsulating Security Payload)协议

    ESP报文格式

    8. IKE的作用是什么?

    9. 详细说明IKE的工作原理?

    安全联盟,iskmp sa。

    主模式

    野蛮模式

    10. IKE第一阶段有哪些模式?有什么区别,使用场景是什么?

    IKE第一阶段

    预共享密钥

    证书(数字签名)

    野蛮模式仅交换3个消息

    主模式和野蛮模式对比

    IKE第二阶段

    11.简单的IPsecVPN配置

    拓扑

    ​编辑

    配置:

    R1:

    R2:

    R3:

    抓包:


    1. 什么是数据认证,有什么作用,有哪些实现的技术手段?

    在计算机和网络安全领域中,数据认证是指验证数据在传输和存储过程中的完整性、真实性和合法性的过程。数据在传输和存储过程中容易受到数据篡改、损坏或未经授权的访问和修改的风险,数据认证可以帮助防止这些风险并提高数据的安全性和可靠性。

    数据认证的主要作用包括:

    防止数据被篡改和损坏:通过数据认证可以验证数据的完整性,确保数据没有被篡改或损坏。

    防止未经授权的访问和修改:数据认证可以验证数据的真实性和合法性,确保只有经过授权的用户才能访问和修改数据。

    提高数据的可靠性:数据认证可以提高数据的安全性和可靠性,保证数据的准确性和一致性。

    实现数据认证的主要手段包括:

    数字签名:数字签名是一种基于公钥密码学的技术,用于验证数据的真实性和完整性。数字签名使用私钥对数据进行签名,公钥用于验证签名的有效性。

    散列函数:散列函数将数据映射为一个固定长度的散列值,不同的数据映射为不同的散列值。通过比较散列值,可以验证数据是否被篡改或损坏。

    消息认证码:消息认证码是一种对数据进行加密和认证的技术,它使用一个密钥和一组算法,将数据转换为一个固定长度的认证标记,用于验证数据的完整性和真实性。

    数字证书:数字证书是一种用于验证身份和保护通信安全的数字凭证。数字证书可以包含用户的公钥、身份信息和数字签名,用于验证数据的真实性和合法性。


    2. 什么是身份认证,有什么作用,有哪些实现的技术手段?

    身份认证是指确认一个实体是其所声称的实体的过程。在计算机和网络安全领域中,身份认证通常指通过验证用户提供的凭证(如用户名和密码、数字证书、生物特征等)来确认用户的身份。

    身份认证的作用是保护计算机和网络系统中的敏感信息和资源,防止未经授权的用户访问和操作。身份认证可以用于许多场景,例如:

    在网上购物或银行业务中,用户需要进行身份认证才能保护其账户和支付信息的安全;

    在企业网络中,身份认证可以确保只有经过授权的用户才能访问敏感信息和资源;

    在政府或军事系统中,身份认证可以保护国家机密和重要信息的安全。

    实现身份认证的主要手段包括:

    用户名和密码:这是最常用的身份认证方式,用户提供用户名和密码以确认其身份。用户名和密码可以在本地存储或使用加密技术进行传输和存储。

    数字证书:数字证书是一种用于验证身份的数字凭证。数字证书通常包含用户的公钥、身份信息和数字签名,可以用于验证用户身份和保护通信的安全性。

    双因素认证:双因素认证要求用户提供两个或多个凭证进行身份认证,通常是密码和一次性验证码、指纹等。

    生物特征认证:生物特征认证使用用户的生物特征(如指纹、面部识别、虹膜扫描等)来进行身份认证。这种方式不需要用户记忆密码,但需要专门的硬件和软件支持。


    3. 什么VP恩技术?

    VPN(Virtual Private Network,虚拟私人网络)技术是一种通过公共网络(如互联网)建立安全连接的技术。它可以通过加密和隧道技术,为用户提供一个安全、私密的网络连接,实现远程访问、数据传输、保护隐私等功能。

    具体来说,VPN技术可以通过以下方式工作:

    加密:VPN技术使用加密技术对数据进行加密,确保数据在传输过程中不会被窃取或篡改。加密算法通常使用AES、DES等强加密算法,以保护数据的安全。

    隧道:VPN技术使用隧道技术将数据包装在一个安全的通道中进行传输,确保数据不会在传输过程中被劫持或篡改。隧道技术可以使用多种协议实现,如PPTP、L2TP、IPSec等。

    认证:VPN技术使用认证技术对用户进行身份验证,以确保只有经过授权的用户才能访问网络。认证技术通常包括用户名和密码、数字证书、双因素认证等。

    通过使用VPN技术,用户可以在不受限制的公共网络上访问私人网络,实现远程访问企业内部系统、保护隐私、绕过地理限制等功能。VPN技术已经广泛应用于企业、政府、个人等领域,成为保护网络安全和隐私的重要工具。


    4. VP恩技术有哪些分类?

    1. 按VPN的协议分类
    2. VPN的隧道协议主要有三种,即PPTP、L2TP和IPSec,其中PPTP和L2TP协议工作在OSI模型的第二层,又称为二层隧道协议;IPSec是第三层隧道协议。

    还有一种基于SSL的VPN技术。SSL协议位于TCP/IP协议与各种应用层协议之间,是目前最常用的VPN形式。

    1. 按VPN的应用分类
      根据VPN网络的应用可以将VPN分为三类:Client-LAN类型、LAN-LAN类型、ExtranetVPN类型。

    (1)Client-LAN类型的VPN也称为Access VPN(远程接入VPN),即远程访问方式的VPN。

    它提供了一种安全的远程访问手段,使用公网作为骨干网在设备之间传输VPN数据流量。例如,出差在外的员工,有远程办公需要的分支机构,都可以利用这种类型的VPN,实现对企业内部网络资源进行安全的远程访问。

    (2)LAN-LAN类型的VPN,也称为Intranet VPN(内联网VPN),网关到网关,通过公司的网络架构连接来自同公司的资源。

    为了在不同局域网之间建立安全的数据传输通道,例如在企业内部各分支机构之间或者企业与其合作者之间的网络进行互联,可以采用LAN-LAN类型的VPN。而采用LAN-LAN类型的VPN,可以利用基本的Internet和Intranet网络建立起全球范围内物理的连接,再利用VPN的隧道协议实现安全保密需要,就可以满足公司总部与分支机构以及合作企业间的安全网络连接。

    (3)Extranet VPN(外联网VPN)即与合作伙伴企业网构成Extranet,将一个公司与另一个公司的资源进行连接,这和第一种VPN类似。

    1. 按所用的设备类型进行分类
      网络设备提供商针对不同客户的需求,开发出不同的VPN网络设备,主要为交换机、路由器和防火墙。

    (1)交换机式VPN:主要应用于连接用户较少的VPN网络。

    (2)路由器式VPN:路由器式VPN部署较容易,只要在路由器上添加VPN服务即可。

    (3)防火墙式VPN:这是最常见的一种VPN的实现方式,许多厂商都提供这种配置类型。


    5. IPSEC技术能够提供哪些安全服务?

    IPsec(Internet Protocol Security)是一种网络安全协议,它提供了一系列的安全服务,包括:

    认证(Authentication):确保通信的两个实体是真实的,并且不会被伪装或篡改。IPsec提供了两种认证机制:预共享密钥和数字证书。

    加密(Encryption):将数据进行加密,防止数据在传输过程中被窃听或篡改。IPsec提供了两种加密算法:DES和AES。

    完整性保护(Integrity Protection):防止数据在传输过程中被篡改,确保数据的完整性。IPsec使用消息摘要算法(例如SHA-1或SHA-256)来实现完整性保护。

    防重放攻击(Anti-replay):防止攻击者在通信过程中重复发送已经被发送过的数据包。IPsec通过序列号来防止重复数据包的发送。

    访问控制(Access Control):限制对网络资源的访问,保护网络的机密性和完整性。IPsec使用访问控制列表(ACL)来实现访问控制。

    综上所述,IPsec是一个功能强大的安全协议,它可以为网络通信提供多种安全服务,包括认证、加密、完整性保护、防重放攻击和访问控制等。


    6. IPSEC的技术架构是什么?



    7. AH与ESP封装的异同?

    传输模式:

    隧道模式:

    ​ 那么前面所提到的防重放攻击是怎么做到的呢。ESP报文或AH报文就会采用序号来防止重放攻击。在建立安全关联时,序号初始值会设置为0。源端发送AH报文会ESP报文,会先将序号增1。在安全关联的寿命内,不允许出现相同的序号。由于报文的到达也会有先后顺序,所以会设置一个防重放窗口,在规定窗口内到达的序号是合规的,但是如果小于窗口中允许的最小的那个序号值,那就可能是重放攻击了。

    鉴别头AH(Authentication Header)协议

    AH报文格式

    传输模式下的AH报文封装

    隧道模式下的AH报文封装

    ​ 首先两种模式,在IP协议的首部字段会与普通IP报文区分开。

    • 在传输模式下,IP首部中的协议字段值为51,表示AH报文

    • 在隧道模式下,就有两个IP首部了,在新IP包头首部的协议字段值仍未51,表示AH报文

    鉴别首部AH格式:

    • 下一个首部:

      • 在传输模式下,该字段值为IP报文中原本的数据净荷的协议类型,比如原来包的TCP报文,那么这个字段值就为6

      • 在隧道模式下,该字段值为表示净荷是隧道格式的协议字段值。

    • 鉴别首部长度:以32位为单位给出AH的总长度

    • 安全参数索引SPI:接收端将其和AH报文的目的IP地址和IP首部(隧道模式下的外层IP首部)中IPsec协议类型一起用于确定AH报文所属的安全关联

    • 序号:用于防重放攻击

    • 鉴别数据:消息鉴别码MAC,用于鉴别源端身份和实现数据完整性检测。其鉴别算法可采用MD5或SHA-1,鉴别算法和鉴别密钥都是在之前约定的,是在建立安全关联时所协商的。

    鉴别过程

    ​ 那么AH报文是如何实现源端鉴别和完整性检测过程的呢,其源端鉴别由消息鉴别码的共享密钥来实现,完整性检测则是由消息鉴别码本身所实现。

    ​ 但要注意,在传输模式下和隧道模式下要用报文摘要算法加密的数据是有所区别的。

    ​ 在传输模式下,包括IP首部,IP净荷和AH中除鉴别数据以外的其他字段。

    ​ 在隧道模式下,包括外层IP首部,包括内层IP首部在内的整个IP分组和AH中除鉴别数据以外的其他字段。

    封装安全净荷ESP(Encapsulating Security Payload)协议

    ESP报文格式

    传输模式下的ESP报文:

    隧道模式下的ESP报文:

    ​ 同样,在IP首部中的协议字段值为50,表示净荷协议ESP报文。

    封装安全净荷ESP格式:

    ​ 其字段构成跟AH是差不多的,都由安全参数索引、序号、下一个首部和鉴别数据组成。


    8. IKE的作用是什么?

    • 协商封装协议以及工作模式
    • 协商加密算法和加密算法
    • 协商密钥参数---密钥生成算法,密钥有效期,密钥分发者身份认证,密钥长度,认证算法
    • 为ipsec通信双方,动态的建立安全联盟SA,对SA进行管理与维护。

    • 为ipsec生成密钥,提供AH/ESP加解密和验证使用


    9. 详细说明IKE的工作原理?

    IKE经过两个阶段为ipsec进行密钥协商并建立安全联盟:

    第一个阶段:通信各方彼此之间需要建立一个已通过身份验证和安全保护的通道,交换建立一个iskmp

    安全联盟,iskmp sa。

    主模式

    野蛮模式

    第二个阶段:用已经建立的安全联盟 iskmp sa(ike sa)的安全通道为ipsec协商安全服务,建立ipsec sa,产生用于业务数据加密的密钥


    10. IKE第一阶段有哪些模式?有什么区别,使用场景是什么?

    IKE第一阶段

    IKE的精髓在于它永远不在不安全的网络上直接传送密钥,而是通过一系列的计算,双方最终计算出共享密钥,并且即使第三方截获了交换中的所有数据,也无法计算出真正的密钥。其中的核心技术就是DH交换算法。

    IKE协商第一阶段,参与通信的双方会生成4个秘密:

    SKEYID:后续三个都建立在它的基础上,由它推算出。

    SKEYID_d:用于为ipsec衍生出加密的材料。

    SKEYID_a:用来为IKE消息保障数据的完整性以及对数据源的身份进行验证。

    SKEYID_e:为后续的IKE协商及IPSEC SA协商进行加密。

    SKEYID的生成取决于使用哪种验证算法,常用的有1)预共享密钥;2)证书(数字签名)

    主模式采用三次交换,共交换6条信息

    在消息发送之前,协商发起者和响应者必须计算产生cookie,用于唯一标识每个单独的协商交换,cookie使用源/目的ip地址、随机数字、日期和时间进行MD5计算得出,并且会被放入消息1的ISAKMP头中,用于标识一个单独的协商交换。

    预共享密钥

    1)消息1和消息2:策略协商,交换双方的cookie和SA载荷。

    消息1:协商发起者在SA载荷中携带协商IKE SA的各项参数(5元组),包括IKE的散列类型、加密算法、认证方法、DH组、SA存活期。

    消息2:响应者查看IKE策略消息,在本地寻找与之匹配的策略,找到后发回一条消息去响应。

    第一次交换后,通信双方生成用于产生DH共享密钥的DH值。生成方法是双方各自使用一个随机数字,通过DH算法对随机数字进行计算得出一个DH值Xa和Xb,然后双方再根据DH算法各得出一个伪随机值值Ni和Nr。

    2)消息3和消息4:DH交换和伪随机值nonce交换

    这一过程中,双方交换Xa和Xb,并通过交换所得的对方的DH值(Xa或Xb)与自己计算的随机值(Ni或Nr)进行运算就可以得到一个只有双方知道的共享秘密。

    此共享秘密并不进行传输,传输的是DH值,即使被第三方截获了也无法计算出共享秘密。

    第二次交换后,生成密钥SKEYID,SKEYID_d,SKEYID_a,SKEYID_e所需的各种材料都已被交换或计算出来,就可以得出这些密钥。

    3)消息5和消息6:双方身份验证

    第三次交换对标识载荷和散列载荷进行交换,标识载荷包含了发起者的标识信息,IP地址或者主机名。散列载荷包含对上一过程中产生的三组密钥进行hash运算得出的值。这两个载荷使用SKEYID_e进行加密。交换后如果双方散列载荷中的hash值相同,那么双方认证成功。IKE第一阶段主模式共享密钥方式交换也就完成了。

    证书(数字签名)

    如果是采用证书认证方式,不同的是SKEYID的计算公式和第三阶段的交换方式。下面说一下主模式第三次交换中消息负载的发送:

    证书方式下第三次交换的消息比预共享密钥的消息多两个载荷:

    签名载荷:使用自己的私钥加密部分消息的hash值,然后使用SKEYID_e加密发送给对方;

    证书载荷:将自己的证书使用SKEYID_e加密后发送给对方。

    野蛮模式仅交换3个消息

    野蛮模式协商过程中,第1条消息发起者发送5元组,DH公共值(上文中的Xa或Xb),随机值nonce(上文中的Ni或Nr)以及身份资料。第2条消息响应者回应一个选定的5元组,DH公共值,nonce,身份材料以及一个验证载荷:对于预共享密钥来说是一个散列载荷,对于证书认证来说是一个签名载荷。第3条消息发起者发送一个验证载荷。

    主模式和野蛮模式对比

    野蛮模式由于在第一个消息中就携带了身份信息,本身无法对此进行保护,降低了协商的安全性,但也因此使其不依赖于ip地址身份标识,有了更多的灵活应用。

    1)对等体标识:主模式只能采用ip地址方式标识对等体,而野蛮模式可以采用ip地址或name;

    2)NAT支持:主模式不支持NAT转换,野蛮模式支持。

    3)野蛮模式传输的消息少,效率更高。

    IKE第二阶段

    无论第一阶段采用哪种模式,其目的都是进行身份认证并为第二阶段的交换提供保护。第二阶段的目的是生成ipsec SA.采用快速模式,交换3个消息。

    快速模式使用SKEYID_a保障数据的完整性以及对数据源的身份进行验证;使用SKEYID_e整个协商过程进行加密。需要协商出SA的各项特征。快速模式需要从SKEYID_d中衍生出用于生成ipsec SA的密钥。

    11.简单的IPsecVPN配置

    拓扑

    配置:

    R1:

    AR1的配置

    第一步 配置感兴趣流
    acl number 3000  
     rule 1 permit ip source 192.168.1.0 0.0.0.255 destination 192.168.2.0 0.0.0.255  
     


    第二步 配置IKE SA的安全提议
    ike proposal 1  //安全提议编号
     encryption-algorithm aes-cbc-128  //加密算法
     dh group5   //DH算法
     authentication-algorithm md5  //认证算法
     authentication-method pre-share  //认证模式
     sa duration 3600  //密钥周期

    第三步 配置IKE SA的身份认证信息
    ike peer yyy v1  
     exchange-mode main   //设置为主模式
     pre-shared-key simple 999  //预共享密钥
     ike-proposal 1  //调用安全提议编号
     remote-address 23.1.1.1  //对方IP地址
     

    ike peer yyy v1
     exchange-mode aggressive  //设置为野蛮模式
     pre-shared-key simple 999
     ike-proposal 1
     local-id-type name  //定义本地ID为name
     remote-name kkk   //远程ID是 kkk
     remote-address 23.1.1.1
     
    ike local-name kkk  //全局定义本地ID 
     
    第四步 配置IPSEC的提议安全参数 
     ipsec proposal yyy
     esp authentication-algorithm sha1  //封装与认证算法
     esp encryption-algorithm 3des  //封装与加密算法
     encapsulation-mode tunnel   //封装模式
     
    第五步  配置安全策略集
    ipsec policy yyy 1 isakmp   //定义安全策略集编号与协议
     security acl 3000   //调用感兴趣流
     ike-peer yyy   //调用身份认证信息
     proposal yyy  //调用IPSEC SA 提议
     
    第六步  在接口调安全策略集
    interface GigabitEthernet0/0/0
     ip address 12.1.1.1 255.255.255.0 
     ipsec policy yyy  //在公网接口调用策略集

    ip pool dhcp
     gateway-list 192.168.1.1 
     network 192.168.1.0 mask 255.255.255.0 
    #
    interface GigabitEthernet0/0/1
     ip address 192.168.1.1 255.255.255.0 
     dhcp select global
    #
    ip route-static 0.0.0.0 0.0.0.0 12.1.1.2
    #

    R2:

    interface GigabitEthernet0/0/0
     ip address 12.1.1.2 255.255.255.0 
    #
    interface GigabitEthernet0/0/1
     ip address 23.1.1.2 255.255.255.0 

    R3:

    AR3的配置

    第一步 配置感兴趣流
    acl number 3000  
     rule 1 permit ip source 192.168.2.0 0.0.0.255 destination 192.168.3.0 0.0.0.255  
     


    第二步 配置IKE SA的安全提议
    ike proposal 1  //安全提议编号
     encryption-algorithm aes-cbc-128  //加密算法
     dh group5   //DH算法
     authentication-algorithm md5  //认证算法
     authentication-method pre-share  //认证模式
     sa duration 3600  //密钥周期

    第三步 配置IKE SA的身份认证信息
    ike peer yyy v1  
     exchange-mode main   //设置为主模式
     pre-shared-key simple 999  //预共享密钥
     ike-proposal 1  //调用安全提议编号
     remote-address 12.1.1.1  //对方IP地址
     

    ike peer yyy v1
     exchange-mode aggressive  //设置为野蛮模式
     pre-shared-key simple 999
     ike-proposal 1
     local-id-type name  //定义本地ID为name
     remote-name kkk   //远程ID是 kkk
     remote-address 12.1.1.1
     
    ike local-name kkk  //全局定义本地ID 
     
    第四步 配置IPSEC的提议安全参数 
     ipsec proposal yyy
     esp authentication-algorithm sha1  //封装与认证算法
     esp encryption-algorithm 3des  //封装与加密算法
     encapsulation-mode tunnel   //封装模式
     
    第五步  配置安全策略集
    ipsec policy yyy 1 isakmp   //定义安全策略集编号与协议
     security acl 3000   //调用感兴趣流
     ike-peer yyy   //调用身份认证信息
     proposal yyy  //调用IPSEC SA 提议
     
    第六步  在接口调安全策略集
    interface GigabitEthernet0/0/0
     ip address 23.1.1.1 255.255.255.0 
     ipsec policy yyy  //在公网接口调用策略集

    ip pool dhcp
     gateway-list 192.168.2.1 
     network 192.168.2.0 mask 255.255.255.0 
    #
    interface GigabitEthernet0/0/1
     ip address 192.168.2.1 255.255.255.0 
     dhcp select global
    #
    ip route-static 0.0.0.0 0.0.0.0 23.1.1.2

    抓包:

  • 相关阅读:
    Docker常见面试题集锦
    centos k8s安装dapr
    Schema_CN28_XNA0
    C#中使用Bitmap 传递图到C++
    Java架构师缓存性能优化
    计算几何求线段与交点
    第一章 STM32 CubeMX (CAN通信发送)基础篇
    【Unity 实用工具篇】✨ | 编辑器扩展插件 Odin Inspector,进阶功能学习
    关于Tomcat启动Servlet工程与映射的访问【JavaWeb】
    【React】redux和React-redux
  • 原文地址:https://blog.csdn.net/tang_jun_yi/article/details/133585793