通过不安全的网络(例如Internet)维护安全的通信是Internet上任何用户以及不同公司的主要关注之一。 使用A的主要原因 VPN 是它允许我们 通过身份验证和数据加密建立安全的通信 保护所有交换的信息。 IPsec是最重要的安全协议之一,它为两个或多个参与者之间的所有IP通信提供了一层安全保护。 今天,在本文中,我们将详细了解什么是IPsec,它如何工作以及如何配置它以及在何处进行配置。
VPN是“虚拟专用”的首字母缩写 网络”,也称为虚拟专用网,是一种网络技术,借助加密技术,我们可以通过完全安全的方式扩展Internet上的LAN通信。 VPN将允许计算机在共享或公共网络上发送和接收数据,但从逻辑上讲,它具有所有功能,权限,安全性,管理策略等,都位于专用网络中。
VPN的一些非常典型的用法如下:
- 可以使用Internet连接将公司的两个或多个办公室彼此连接。
- 允许技术支持团队的成员从家中连接到公司。
- 用户可以从远程站点(例如旅馆)访问其家用计算机。
所有这些用途将始终通过众所周知的基础设施:互联网。
在VPN中,我们主要有两种VPN体系结构,即远程访问VPN(Roadwarrior VPN或移动客户端)和站点到站点VPN(站点到站点VPN)。 根据我们的需求,我们必须配置一种或另一种架构。
- 远程访问VPN(Roadwarrior或移动客户端) :此VPN体系结构旨在使一个或多个用户连接到VPN服务器,并且可以访问您的家庭或公司的所有共享资源,此外,它还允许它完成流量重定向,这样,我们将通过VPN服务器(以及VPN服务器的公共IP)访问Internet。 这种VPN是我们可以在NAS服务器,路由器和其他设备上配置的最典型的VPN,其目的是为我们提供通过Internet的安全浏览。 这些企业级VPN还可用于隔离需要额外身份验证的区域和内部网络服务,此外,每当我们在家庭和企业中使用WiFi连接添加另一层加密时,这也是一个好主意。
- 站点到站点VPN(VPN站点到站点) :此VPN体系结构旨在互连不同的站点,例如,如果我们有一家拥有不同站点的公司,则可以通过VPN互连它们并访问所有资源。 连接的建立不是像远程访问VPN那样在最终客户端中进行,而是通过路由器或防火墙来完成,这样,尽管流量会通过,但整个网络将被视为“一个”。通过多个VPN隧道。
在下图中,我们可以看到具有两种模型的VPN体系结构,即站点到站点VPN(左)和远程访问VPN(右):
VPN必须保证哪些安全性?
为了确保通过虚拟专用网络(VPN)的连接的安全性,必须保证某些功能,否则,我们可能会遇到不可靠的VPN。 由于IPsec协议是安全的VPN协议,已在公司中广泛使用,我们已经期望IPsec协议符合所有这些协议。
认证
身份验证是VPN中最重要的过程之一,此功能使用户可以看到他们确实是他们所说的真实身份。 证明方法是通过输入密码,使用数字证书或两种认证形式的组合。 当主机从源接收到IPsec数据报时,主机会确保该数据报的源IP地址是该数据报的实际源,因为它先前已成功进行了身份验证。
保密协议
机密性是VPN的另一个基本特征,机密性意味着仅授权实体才能访问该信息,也就是说,所有通信都是点对点加密的,并且只有事先在系统中进行身份验证的人才能使用能够解密交换的所有信息。 如果某人能够进入通信中间并捕获它,则他们将无法解密它,因为他们将使用对称或非对称密钥加密技术。
正直
身份验证和机密性与完整性一样重要。 完整性意味着可以确保在通讯的始端和目的地之间未修改信息。 VPN中的所有通信都包含错误检测代码,并且该信息未修改。 如果被修改,该数据包将被自动丢弃,出于安全原因,它甚至可能导致VPN隧道崩溃。 IPsec协议允许接收主机验证在将数据报传送到目的地时,数据报头字段和加密的有效载荷没有被修改。
假设我们在VPN中具有身份验证和机密性,但是我们没有完整性。 如果通信中间的用户修改了一些值,而不是发送10欧元的汇款,他可以将其转换为1,000欧元。 由于具有完整性功能,一经修改,该数据包即被丢弃,并等待其再次发送。
我不否认
加密的这种特征意味着您不能说您没有发送任何信息,因为它是由数字证书或用户名/密码对签名的。 这样,我们可以确定该用户已发送了特定信息。 仅当某人能够窃取用户名/密码对或数字证书时,才可以“规避”不可否认性。
访问控制(授权)
这是关于确保经过身份验证的参与者只能访问其授权的数据。 用户的身份必须经过验证,其访问权限仅限于授权人员。 在业务环境中,这一点非常重要,用户应具有与物理上相同的访问级别和相同的权限,或者应具有更少的权限,但决不能比其物理上拥有的权限多。
活动注册
这是关于确保正确的操作和弹性。 VPN协议应记录所有已建立的连接,带有已验证身份的源IP地址以及基于提供的虚拟IP地址在系统中所做的连接。
服务质量
关于确保良好的性能,传输速度不会出现不可接受的下降。 我们必须牢记,当建立VPN连接时,由于所有流量都是点对点加密的,因此总的真实速度会降低,并且根据VPN服务器和客户端的强度,我们可以实现更高的速度或更高的速度。较低的速度。 在开始部署VPN之前,我们应该查看设备的硬件和我们可以拥有的最大带宽。
IPsec简介
IPsec协议是最重要的安全协议之一,它已在公司以及家庭用户中广泛使用。 最近,诸如 华硕,AVM甚至D-Link都基于IPsec协议将VPN集成到其家庭路由器中。 该协议为IP层和所有更高的协议(例如TCP和UDP(Internet传输层))提供安全服务。 借助IPsec,我们可以安全地在Internet的不同点之间进行通信,例如彼此之间有两个或多个公司,或者有家的用户,IPsec非常适合两个“世界”的VPN需求。
IPsec的一个非常重要的功能是它可以在OSI(网络层)的第3层,其他VPN协议(例如OpenVPN或 WireGuard 由于后两者的安全性分别基于TLS和DTLS,因此它们在第4层(传输层)工作。 IPv4网络中的IPsec刚好在IP标头的上方,但是,在IPv6网络中,它在标头本身的“扩展”部分中进行了集成(ESP)。
IPsec提供了确保通信安全所需的所有服务,正如我们之前所解释的,这些服务是 认证,机密性,完整性和不可否认性 。 由于有了这些服务,通信的安全性得到了保证。 当然,我们还具有访问控制,服务质量和活动日志。
IPsec的另一个非常重要的功能是它 允许两种VPN架构 ,包括远程访问VPN和站点到站点VPN。 关于密码的协商,IPsec集成了一个协商系统,以便最终团队协商他们支持的最佳加密方法,就交换密钥达成协议,并选择他们共有的加密算法。 根据所使用的IPsec标头(AH或ESP),我们只能检查数据包的真实性,或者对整个IP数据包的有效负载进行加密,还可以检查其真实性。
当两个主机建立了IPsec会话后,TCP分段和UDP数据报将在它们之间进行加密和身份验证,此外,还将检查完整性以防止他人对其进行修改。 因此,IPsec保证了通信的安全性。
IPsec的一些优点是,所有IETF标准都支持它,并且提供了VPN“标准”,因此所有设备都应兼容。 IPSec正在获得所有通信设备的非常重要的支持,因为它是VPN的“标准”,它比OpenVPN或WireGuard广泛使用。 所有版本的PC操作系统,例如 Windows or Linux,适用于MacOS Apple 电脑,以及 Android 和 iOS 支持IPsec协议。 另外,另一个非常重要的特征是,作为标准,制造商之间存在互操作性,这为用户提供了保证。 IPSec的另一个显着特征是其作为开放标准的性质,并且通过PKI(公钥基础结构)技术得到了完美的补充。
IPsec结合了公钥技术(RSA或椭圆曲线),对称加密算法(主要是AES,尽管它还支持Blowfish或3DES等)和哈希算法(SHA256,SHA512等),以及基于X509v3的数字证书。
IPsec标头
IPsec协议具有包含多个标头的体系结构,具体取决于我们对“确保”感兴趣的内容,我们可以选择一个标头,也可以选择另一个标头,我们不能在同一IPsec隧道中同时选择两个标头。 该协议中的标头如下:
- 认证头(AH)
- 封装的安全有效载荷(ESP)
接下来,我们将详细解释两个标头如何工作。
身份验证标头(AH)
此标头为传输的IP数据包提供身份验证和完整性,以提供此IPsec功能,它使用HMAC指纹。 该协议本身将负责计算IP数据包内容的哈希函数,该协议使用的一些哈希函数是不安全的MD5或SHA-1,但也支持安全的SHA256或SHA512 。
该报头为IP数据包的接收者提供了一种方法来验证数据的来源,并验证所述数据在通信中没有被更改。 一个非常重要的细节是 此标头不提供机密性 由于它不对IP数据包的数据进行加密,因此,除非第三方使用具有TLS安全性的HTTPS或FTPES之类的协议,否则交换的信息可以被第三方看到。
AH是一种认证标头,它插入在标准IP标头(在IPv4和IPv6网络中)和传输的数据之间。 传输的数据可以是TCP,UDP或ICMP消息,甚至可以是完整的IP数据报。 在AH标头中是指示上层数据的位置,此外,AH还可以确保IP标头本身的完整性和真实性,可变变量如TOS,TTL,标志,偏移和校验和除外。
AH协议的操作如下:
- 发送者根据要发送的消息计算哈希函数。 它将被复制到“身份验证数据”字段中的AH标头中。
- 数据通过互联网传输。
- 当数据包到达接收方时,它将应用哈希函数并将其与已经拥有的哈希函数进行比较(它们都具有相同的共享密钥)。
如果指纹匹配,则表示数据报尚未修改,否则,我们可以声称该信息已被篡改。
封装的安全有效载荷(ESP)
封装的 安全 有效负载(也称为ESP)为通过IPsec传输的数据提供身份验证,完整性和机密性。 也就是说,在这种情况下,我们将对整个数据字段进行加密,以便所有通信都是机密的,这与AH不加密传输的消息的情况不同。 为了实现这些安全功能,使用Diffie-Hellmann进行了公钥交换以确保两个主机之间的通信。
集成在IPsec中的ESP协议的主要功能是为数据提供机密性,为此,ESP定义了加密以及将数据放置在新IP数据报中的方式。 为了提供身份验证和完整性,ESP使用与AH类似的机制。 因为ESP比AH提供更多的功能,所以标头格式更为复杂:此格式由标头和标尾(位于数据包的末尾)组成,因此ESP“环绕”了所传输的数据。 关于数据,ESP允许您使用任何IP协议,例如TCP,UDP,ICMP甚至是完整的IP数据包。
ESP数据包的结构如下:
ESP属于TCP / IP中的网络级别。 数据区是 完全加密 是, 数据报 本身也可以进行身份验证以提供更高的安全性。 数据的加密使用 对称密钥算法 ,通常使用分组密码(例如AES),数据加密使用的是 块大小 因此,我们有一个“填充”字段,一个填充字段。
为了加密数据,发送方首先使用密钥对原始消息进行加密,然后将其插入新的IP数据报(受ESP标头保护)。 在假设有人拦截消息的情况下(中间人),由于他们没有解密消息的秘密密钥,因此他们将仅获得无意义的数据。 当消息到达目的地时,它将对数据应用秘密密钥并解密数据包。
最广泛使用的算法是 AES 所有版本(128位和256位)及其不同的加密模式(例如 AES-CBC,AES-CFB和AES-OFB 。 但是,建议使用AEAD为我们提供的AES-GCM,它比其他方法更安全。 因此,必须使用 好的加密算法可以保护所有数据 ,以安全的方式分发密钥非常重要。 一个棘手的问题是,通信双方都在算法和身份验证上达成共识,这将由IKE协议完成。
IKE:这是什么,它的用途是什么
此IKE(Internet密钥交换)协议用于生成和管理建立密钥所必需的密钥。 AH(身份验证标头) 和 ESP(封装的安全有效载荷)连接 。 IPsec连接的两个或更多参与者必须以某种方式达成共识,以便能够以安全方式建立连接的加密类型和身份验证算法。 该配置可以在通道的两端手动完成,也可以通过协议( IKE协议 )以照顾参与者的自动协商(SA =安全协会)。
IKE协议不仅负责密钥的管理和管理,还负责建立相应参与者之间的连接。 IKE不仅在IPsec中使用,而且可以在其他路由算法(例如OSPF或RIP)中使用。
IKE协商的阶段
安全通道的建立将使用诸如Diffie-Hellman之类的密钥交换算法对IKE通信进行加密。 此协商通过单个双向SA完成。 可以通过PSK(共享密钥)或其他方法(例如RSA证书)进行身份验证。 使用已创建的安全通道,将协商IPsec(或其他服务)安全关联。
IKE的某些功能
IKE支持 NAT遍历 ,即使一个或两个参与者都位于NAT后面,也可以进行连接而不会出现很多问题,尽管如果VPN服务器位于NAT后面,我们将不得不打开端口。 序列号和ACK用于提供可靠性,还包括错误处理系统。 IKE可以抵抗拒绝服务攻击,并且IKE不会采取任何措施,直到确定请求的端点是否确实存在,从而防止来自假IP地址的攻击。
当前,IKEv2已在所有专业防火墙和路由器中广泛实施,但是,它尚未在Android或iOS世界中得到完全扩展。 Samsung 智能手机用户通过IKEv2支持IPsec。 Windows,Linux和macOS操作系统确实支持此协议。
IKEv2:发生了什么变化
IKEv2是此流行的Internet密钥交换协议的第二个版本,它结合了NAT遍历的改进,从而使通信和通过防火墙的传递更加容易。 它还支持新的移动性标准,该标准允许非常快速地重新建立通信,此外,它还允许多宿主(多源),非常适合智能手机,平板电脑或笔记本电脑的用户。 IKEv2允许使用VoIP中使用的SCTP,它还具有更简单的消息交换,它具有较少的加密机制,仅允许最安全的加密机制。 使用具有不安全密码的VPN有什么意义? IKEv2只允许使用最安全的
操作模式:运输或隧道
IPsec为我们提供了两种截然不同的操作模式,分别用于身份验证标头(AH)和封装的安全性有效载荷(ESP)。 这些操作模式的不同之处在于数据包的寻址方式。 接下来,我们将更深入地解释两者之间的差异。
运输方式
AH或ESP标头以保留原始IP地址的方式插入到数据区和IP标头之间。 封装在AH或ESP数据报中的内容直接来自传输层。 因此,IPsec头将插入在IP头之后,紧接在传输层提供的数据之前。 这样,仅有效负载被加密和认证。 数据报的方案如下:
传输模式可确保端到端的通信,但是两端必须知道IPsec协议的存在,以便彼此理解。
隧道模式
在隧道模式下,如果使用ESP,则将对整个IP数据包(标头+数据)进行加密和认证。 该数据包将被封装在一个新的IP数据包中,因此,该IP地址将更改为最后一个IP数据包的IP地址。 因此,将AH或ESP标头添加到原始数据包,然后添加IP标头,该IP标头将用于通过网络路由数据包。
隧道模式通常用于与网络进行网络通信,但也可以用于(实际上已经使用)网络与计算机之间的通信以及计算机与计算机之间的通信。 此操作模式使节点更容易向正在通信的其他节点隐藏其标识。 通过使用隧道模式,我们将能够拥有一个专门用于VPN客户端的子网。 隧道模式主要由IPSec网关使用,以便识别它们在相同IP地址下保护的网络,从而集中处理计算机上IPSec流量。
在下图中,可以始终使用ESP看到两种操作方案之间的比较:
了解了两种操作模式后,我们将了解IPsec中使用的身份验证方法。
认证方式
在IPsec协议中,我们总共有四种身份验证方法:共享密钥,RSA数字签名,X.509数字证书和通过一组XAuth用户的身份验证。 根据我们要实现IPsec的方案,将使用一种或另一种身份验证方法,这些方法中的每一种都有优点和缺点,将在后面提到。 接下来,我们详细解释这四种方法。
共用金钥
共享密钥是由字符串组成的密钥(生命周期的密钥),只有通信的两端才知道建立IPsec连接。 通过使用认证算法(HASH),将验证密钥是正确的,而无需透露所述密钥。 为了确保此方法的安全性,通信中的每对参与者都必须有一个密钥。 对于许多参与者来说,这种类型的身份验证是不可行的,因为将会有大量的密钥。
尽管使用散列来交换连接中的密钥,但是在此连接之前,密钥必须位于通信的两端,因此,我们无法确定该密钥在发送时是否已被捕获。 我们只有手工交付才能确保安全。 该技术对于小型网络很有用,但对于中型和大型网络则完全不可行。
RSA数字签名
IPsec与IKE协议配合使用,以实现自动密钥管理和安全性,并使用RSA数字签名通过公用和专用密钥对安全交换密钥。 这些密钥与共享密钥存在相同的问题,无论如何我们都必须将密钥发送到“另一侧”,但是我们可以使用IKE协议安全地修改密钥。
因此,为了保护网络安全,建议定期更改这些密钥。 这些RSA签名为网络提供了身份验证和机密性。
X.509证书
IPsec中最安全的身份验证形式之一是使用数字证书,使用其相应的CA(证书颁发机构),服务器的数字证书和客户端的数字证书创建公钥基础结构(PKI)。 借助这些数字证书,我们可以建立非常可靠的身份验证,此外,我们还可以使用数字证书,这些证书包含所有者的公钥及其标识。 所有者在验证时还具有一对公用密钥和专用密钥。
这些证书的使用使PKI协议出现在场景中,以对IPsec通信中涉及的节点进行身份验证。 使用此PKI可以帮助创建新证书并删除其他证书。 数字证书的有效性由PKI授予,此PKI集成了包含公钥和所有者身份的CA。 IPsec连接中涉及的端点将识别出该CA有效,因为它们拥有该CA的副本(CA的公共密钥)。
使用存储在PKI中的证书吊销列表(CRL)完成证书验证。 所有参与者都将拥有不断更新的CRL副本。
XAuth用户组身份验证
此方法将用户和密码添加到以前看到的数字证书(X.509)中,这样,除了验证证书之外,它还将验证用户和密码。 为了验证这些用户和密码,我们可以使用Radius服务器,或者直接使用包含用户和密码列表的小型数据库。
建立连接
IPsec隧道的协商是通过IKE协议进行的,该协议将为我们提供通信两端之间经过加密和身份验证的连接。 在连接过程中,将商定用于建立IPsec连接的密钥和安全性。 连接过程分为两个不同的部分。 我们在下面解释这两个部分。
1.为连接提供身份验证和安全性
为了确保连接安全,将使用对称加密算法和HMAC签名。 使用密钥交换算法(例如Diffie-Hellman)交换密钥。 这种方法不能保证参与者是他们所说的真实身份,因此,我们将使用预共享密钥或数字证书。
当安全参数已被商定且通信通道已得到保护时,通信的第一部分结束。
2.提供数据机密性。
我们已建立的IKE安全通道用于协商特定的IPsec安全参数(AH或ESP标头,身份验证算法等)。 这些特定的参数可以包括新的Diffie-Hellman密钥,以提供更高的安全性,只要我们配置了PFS(完美直接机密性),强烈建议使用该功能以使VPN更加坚固。
IPsec提供的安全服务
保密协议
机密性服务是通过ESP协议中包含的加密功能获得的。 在这种情况下,建议激活身份验证选项,因为如果不能保证数据的完整性,则加密是无用的。 这是由于以下事实:尽管传输中的任何人都无法解释数据,但可以通过向消息的接收者发送无意义的流量来更改数据,该流量将被视为有效流量。
除了提供话务加密外,ESP协议还具有隐藏正在执行的通信类型的工具。 为此,它允许在分组数据的内容中输入填充字符,从而隐藏了分组的真实长度。 这是针对流量分析技术的有用保护,它使攻击者能够通过研究加密流量的特征来推断出有用的信息。
数据来源的完整性和认证
如果不需要加密,则AH协议最合适。 ESP协议身份验证选项提供类似的功能,尽管与AH不同,此保护不包括IP头。 如前所述,此选项对于保证IP数据包内容不变性的应用程序非常重要。
重复检测
身份验证可以防止IP欺骗,但是攻击者仍然可以捕获有效的数据包并将其转发到目的地。 为了避免这种攻击,ESP和AH都采用了检测重复数据包的过程。 所述过程基于包括在ESP或AH报头中的序列号,发送方针对其发送的每个数据报递增所述编号,并且接收方对其进行检查,从而将忽略重复的分组。
攻击者无法修改此序列,因为它是通过两个协议(AH和ESP)中的任何一个的完整性选项保护的,对此编号的任何修改都会在软件包的完整性检查中引起错误。
访问控制:身份验证和授权
由于使用ESP和AH需要了解密钥,并且这些密钥通过IKE会话以安全的方式分发,在IKE会话中两个节点都进行了身份验证,因此可以保证只有所需的计算机参与通信。
值得说明的是,由于IPSec还提供了授权功能,因此有效的身份验证并不意味着对资源的完全访问。 在IKE协商期间,将指定将通过IPSec连接循环的IP流量。 考虑到协议,源和目标端口的IP地址,“ TOS”字节和其他字段,该规范类似于数据包筛选器。 例如,IPSec可用于允许从分支机构访问中心的本地网络。
我不否认
使用带数字证书身份验证的IKE,可以实现不可否认服务。 在这种情况下,身份验证过程基于包含参与者身份的消息的数字签名。 由于公共密钥和数字证书保证的身份之间存在链接,因此该签名可以明确证明已与特定计算机建立了IPSec连接,因此无法拒绝它。 但是实际上,此测试更为复杂,因为它需要存储IKE协商消息。
L2TP / IPsec –这是什么?
L2TP(第2层隧道协议)是IETF工作组(作为PPTP的继承人)设计的用于VPN的协议,其创建目的是为了纠正该协议的不足并确立其自身为标准。 L2TP使用PPP提供拨号访问,该访问可以通过Internet隧道传输到指定点。 L2TP包括PPP,PAP和CHAP的身份验证机制,此外,与PPTP类似,它支持使用这些身份验证协议,例如RADIUS。
尽管L2TP提供了多协议支持的访问和对远程局域网的访问,但是它没有特别强大的加密特性。 身份验证操作仅在隧道的端点之间执行,而不是针对通过该隧道的每个数据包执行。 这可能导致在隧道内的某个地方进行欺骗。 如果不检查每个数据包的完整性,就有可能使用伪造的控制消息来执行拒绝服务攻击,这些消息会终止底层的L2TP隧道或PPP连接。
L2TP无法可靠地加密用户数据流量,因此在保持数据机密性很重要时会引起问题。 尽管可以对包中包含的信息进行加密,但是该协议没有自动密钥生成或自动密钥刷新的机制。 这可以使在网络上侦听并发现单个密钥的人可以访问所有传输的数据。
考虑到L2TP的所有这些弱点,IETF决定使用IPsec协议本身的协议来保护通过L2TP隧道传输的数据。 因此,它们总是被写为“ L2TP / IPsec”,因为两种协议同时使用,并且这种联合协议被广泛使用。 可以说L2TP是“链路”层级别的协议,它没有安全性,但是IPSec在网络层提供了安全性,因此该协议的使用是安全的。
因此,我们总是会一起找到L2TP / IPSec命名法,因为这两种协议都用于建立安全的VPN连接。
结论
IPSec是一种非常强大和灵活的安全标准。 它的重要性在于,它解决了IP协议中的传统不足:安全性。 借助IPSec,现在可以将IP网络用于关键应用,例如公司之间的业务交易。 同时,对于要求安全性而不管其应用如何的场合,它都是理想的解决方案,因此,它是IP网络安全性中必不可少的部分。 IPSec协议已经是当今IP网络安全性的基本组成部分之一。