一、引言
随着Internet的迅猛发展,其现存安全机制的脆弱性也暴露无疑。网络上各种病毒层出不穷,黑客攻击也屡见不鲜。防火墙作为网络安全技术的重要手段,已经成为使用最多的网络安全解决方案。由于Linux具有良好的网络性能和开放源代码的特点,越来越多的用户选择它作为防火墙的操作平台。Linux防火墙从2.0内核的ipfwadm,发展到2.2内核的ipchains。在Linux2.4版内核中则推出了一套全新的Netfilter/iptables包过滤机制,在业内被称为第三代Linux防火墙。
本文探讨了在IPv6环境下,以Linux为开发平台,在Netfilter/iptables机制下如何实现包过滤防火墙。
二、IPSec的安全机制
IPv6的提出解决了现有协议的一些安全问题,它在网络层支持对每个分组的认证和加密。IPSec是IPv6的重要组成部分,它是IETF专门为提高Internet 的协议安全性而制定的IP 安全标准。IPSec通过所定义的一整套完善安全机制,为IPv4和IPv6网络环境下的IP层数据提供各种安全服务,如访问控制、数据源的身份验证、数据完整性检查、机密性保证,以及抗重播攻击服务。
安全联盟(SA)是构成IPSec的基础。认证报头(AH)和封装安全载荷(ESP)都要用到安全联盟,而Internet密钥交换(IKE)的一个主要功能就是建立和维护安全联盟。安全联盟是两个应用IPSec的实体间的一个单向逻辑连接,决定保护什么、如何保护以及谁来保护通信数据。SA提供的服务通过AH或者ESP两者之一来实现,若传输流中同时运用AH和ESP,则可以通过建立两个或者多个安全联盟来实现。
IPSec协议支持两种实现模式,即传输模式和隧道模式。如果把这两种模式跟IPSec的两种安全协议ESP和AH相结合,总共可以产生四种不同的组合:传输模式中的ESP、传输模式中的AH、隧道模式中的ESP和隧道模式中的AH。在发送方和接收方的系统都应用了IPSec情况下采用传输模式,IP数据包格式如图1所示。
实施了AH传输模式安全保护的IP数据包格式
实施了ESP传输模式安全保护的IP数据包格式
同时使用AH和ESP传输模式安全保护的IP数据包格式
图1 采用传输模式安全保护的IP数据包格式
在大多数情况下,采用IPSec隧道模式。可以使用路由器或安全网关等专用设备为需要提供安全服务的每个数据包重新进行封装,在原来数据包的基础上增加了一个IPSec头(主要是ESP头,通常不使用AH的隧道模式)。如图2所示:
图2 采用IPSec隧道模式安全保护的IP数据包格式
在当前的网络安全应用中已大量地使用防火墙,通常的防火墙都要对IP报文携带的协议类型、TCP/IP端口号进行过滤。但是当IPSec和防火墙一起使用时,由于采用了ESP加密,这些信息将无法获得,因此会降低防火墙的性能。所以在设计IPv6防火墙时,必须考虑加密报文的处理问题。例如我们可以采用IPSec隧道模式,在两个防火墙之间建立一个安全通道。
(责任编辑:adminadmin2008)