CAN201-网络安全3
CAN201-网络安全3
迟然Network layer security: IPsec
- 网络层机密性(Network-layer confidentiality):在两个网络实体之间,发送实体对数据报负载(payload)进行加密,这里的负载可以是TCP或UDP段、ICMP消息、OSPF消息等各种类型的数据。这样,所有从一个实体发送到另一个实体的数据都会对任何第三方(可能在嗅探网络的)隐藏起来,包括网页、电子邮件、P2P文件传输、TCP SYN数据包等,实现了全面的“覆盖式”保护。
- 虚拟专用网络(Virtual Private Networks ,VPNs)
- 动机(motivation):机构常常为了安全需要私有网络。虽然可以部署独立的物理网络,但成本高昂,需要单独的路由器、链路、DNS基础设施等。VPN则是将机构的办公室间流量通过公共互联网发送,在进入公共互联网之前进行加密,并且在逻辑上与其他流量分离,既保证了安全性又降低了成本。
- 工作原理(IPsec in VPNs):以笔记本电脑(laptop)和销售人员(salesperson)通过IPsec与总部(headquarters)和分支机构(branch office)通信为例,IPsec在其中起到了关键的安全保障作用。
- IPsec服务(IPsec services)
- 数据完整性(data integrity):确保数据在传输过程中没有被篡改。
- 源认证(origin authentication):验证数据的发送源是否合法。
- 防止重放攻击(replay attack prevention):通过一些机制(如序列号)来防止攻击者重放之前捕获的数据包。
- 机密性(confidentiality):保证数据内容不被未授权方获取。
- 协议(protocols):包括Authentication Header(AH)和Encapsulation Security Payload (ESP)。AH提供源认证和数据完整性,但不提供机密性;ESP则提供源认证、数据完整性和机密性,并且比AH更广泛使用。
- IPsec模式(IPsec modes)
- 传输模式(主机模式)(IPsec transport mode ,host mode):IPsec数据报由端系统发送和接收,主要用于保护上层协议。例如,当两个主机之间进行通信时,直接在主机上对传输的数据进行IPsec处理。
- 隧道模式(IPsec tunneling mode):边缘路由器需要支持IPsec。常用于连接不同网络,如分支机构与总部之间的连接,在边缘路由器处对数据包进行封装和加密,通过公共网络传输,到达对端边缘路由器后再解封装还原数据。在实际应用中,有四种可能的组合,其中隧道模式结合ESP是最常见和最重要的。
- 安全关联(Security Associations ,SAs)
- 建立与特性:在发送数据之前,从发送实体到接收实体建立“安全关联(SA)”。SAs是单向的,即只为一个方向建立逻辑连接。发送和接收实体都维护关于SA的状态信息,这与TCP端点维护状态信息类似,但要注意IP是无连接的,而IPsec是面向连接的。例如,在一个包含一个总部办公室、一个分支机构办公室和n个出差销售人员的VPN中,计算SAs的数量就需要考虑到这种单向性和不同实体之间的连接情况。
- SA的存储信息(Example SA):以从R1到R2的SA为例,R1存储的信息包括32位SA标识符(Security Parameter Index ,SPI)、源SA接口、目的SA接口、使用的加密类型(如3DES with CBC)、加密密钥、使用的完整性检查类型(如HMAC with MD5)、认证密钥等。这些信息在处理IPsec数据报时起到关键作用,如R1在发送IPsec数据报时,会根据存储在安全关联数据库(Security Association Database,SAD)中的SA信息来确定如何处理数据报;当IPsec数据报到达R2时,R2通过检查数据报中的SPI,在SAD中查找对应的SA并据此处理数据报。
- IPsec数据报(IPsec datagram):以隧道模式结合ESP为例,IPsec数据报的结构包括新的IP头、原始IP头、ESP头、ESP认证字段(ESP MAC)、数据报负载、ESP尾部(ESP trailer)等部分。原始数据报经过一系列处理生成IPsec数据报,具体步骤为:在原始数据报后添加“ESP trailer”字段,使用SA指定的算法和密钥对结果进行加密,在加密数据前添加“ESP header”形成“enchilada”,再使用SA中的算法和密钥对整个“enchilada”创建认证MAC(ESP MAC)并添加到后面形成负载,最后创建全新的IP头并添加在负载前。在“enchilada”内部,ESP trailer用于块密码的填充,ESP header包含SPI(用于接收实体确定如何处理)和序列号(用于防止重放攻击),ESP认证字段中的MAC是使用共享密钥创建的。
- IPsec序列号(IPsec sequence numbers):对于新的SA,发送方将序列号初始化为0。每次在SA上发送数据报时,发送方递增序列号计数器并将值放入序列号字段。其目的是防止攻击者嗅探并重放数据包,因为接收重复的、经过认证的IP数据包可能会干扰服务。接收方通过检查序列号来检测重复数据包,并且不跟踪所有接收的数据包,而是使用一个窗口来实现。这种机制有效地增强了IPsec的安全性,防止重放攻击对网络造成威胁。
- 安全策略数据库(Security Policy Database ,SPD):发送实体需要根据安全策略来决定对于给定的数据报是使用IPsec还是普通IP,以及使用哪个SA。策略可能基于源和目的IP地址、协议号等信息。SPD中的信息指示了对于到达的数据报“做什么”,而SAD中的信息则指示“怎么做”,两者协同工作来确保IPsec的正确应用。
- IKE (Internet Key Exchange):在之前手动建立IPsec SAs的示例中,如手动配置SPI、源IP、目的IP、协议、加密算法、加密密钥、HMAC算法、HMAC密钥等信息在实际的VPN场景中,当有大量端点时是不切实际的。因此,使用IPsec IKE (Internet Key Exchange)协议(在RFC 5996中指定)来自动进行算法、密钥和SPI号码的交换,简化了IPsec的配置和管理过程,提高了效率和可扩展性。
IPsec通过多种机制和协议,在网络层为数据提供了全面的安全保障,包括机密性、完整性、源认证和防止重放攻击等,适用于多种网络设备和连接场景,是构建安全网络通信的重要技术。
Operational security: firewalls and IDS
- 防火墙(Firewalls)
- 隔离与作用(Isolation and Functions):防火墙用于将组织的内部网络与更大的互联网隔离开,只允许特定的数据包通过,阻止其他数据包。其主要作用包括防止拒绝服务攻击(如SYN洪水攻击,攻击者建立大量虚假TCP连接,耗尽资源,使“真实”连接无法建立)、防止内部数据被非法修改或访问(例如防止攻击者篡改CIA的主页)以及只允许授权用户访问内部网络。
- 类型(Types)
- 无状态包过滤器(Stateless Packet Filters):内部网络通过路由器防火墙连接到互联网,路由器逐个数据包进行过滤,根据源IP地址、目的IP地址、TCP/UDP源和目的端口号、ICMP消息类型、TCP SYN和ACK位等决定是否转发或丢弃数据包。例如,可以通过设置规则来阻止特定协议或端口的数据包,如阻止IP协议字段为17且源或目的端口为23的传入和传出数据报(会导致所有传入、传出UDP流和telnet连接被阻止),或者阻止ACK = 0的入站TCP段(防止外部客户端与内部客户端建立TCP连接,但允许内部客户端连接到外部)。还可以通过访问控制列表(Access Control Lists,ACL)来更精确地定义过滤规则,ACL是一个规则表,按照从上到下的顺序应用于传入数据包,每个规则是(动作,条件)对,类似于OpenFlow转发表。
- 有状态包过滤器(Stateful Packet Filters):无状态包过滤器可能会允许一些“不合理”的数据包通过,如有状态包过滤器则会跟踪每个TCP连接的状态,包括连接建立(SYN)和拆除(FIN),从而确定传入和传出数据包是否“合理”,并在防火墙处对不活动的连接进行超时处理,不再允许其数据包通过。ACL会扩充以指示在允许数据包之前需要检查连接状态表。
- 应用网关(Application Gateways):应用网关不仅在IP/TCP/UDP字段上过滤数据包,还在应用数据上进行过滤。例如,若要允许特定内部用户进行telnet外部访问,需要所有telnet用户通过网关进行telnet操作,对于授权用户,网关会建立到目标主机的telnet连接,并在两个连接之间中继数据,同时路由器过滤器会阻止所有非源自网关的telnet连接。
- 局限性(Limitations):防火墙存在一些局限性,如路由器难以确定数据是否真正来自声称的源(IP欺骗问题);如果多个应用需要特殊处理,每个应用都需要自己的应用网关;客户端软件必须知道如何联系网关(如在Web浏览器中设置代理的IP地址);过滤器对UDP通常采用全有或全无的策略;并且在安全与对外通信程度之间需要权衡,即使有防火墙保护,许多高度受保护的站点仍可能遭受攻击。
- 入侵检测系统(Intrusion Detection Systems ,IDS)
- 与包过滤的区别(Difference from Packet Filtering):包过滤仅对TCP/IP头进行操作,且不进行会话之间的关联检查。而IDS进行深度包检测,会查看数据包内容(例如将数据包中的字符串与已知病毒、攻击字符串数据库进行检查),并且会检查多个数据包之间的相关性,能够检测端口扫描、网络映射、拒绝服务(DoS)攻击等多种攻击行为。
- 部署(Deployment):通常会在网络中的不同位置部署多个IDS,例如在防火墙、内部网络、Web服务器、FTP服务器、DNS服务器等周围,形成一个多层次的检测体系,以提高检测的准确性和全面性,更好地保护网络安全。
防火墙和IDS在网络安全中起着至关重要的作用,防火墙主要用于阻止未经授权的访问,而IDS则侧重于检测潜在的入侵行为,两者相辅相成,共同构建起网络安全的防护体系。
评论
匿名评论隐私政策
✅ 你无需删除空行,直接评论以获取最佳展示效果