一种网络安全设备,通过各种配置,拒绝非授权的访问,保护网络安全。
通过访问控制、身份验证、数据加密、VPN技术等安全功能,形成一个进出屏障。
主要经历了包过滤防火墙、代理防火墙和状态检测防火墙等三代,统一威胁管理和下一代防火墙是最近几年提出的概念。
第一代防火墙。通过配置访问控制列表(ACL)对数据报文进行过滤,并根据策略转发或丢弃数据报文,设计简单易于实现。
包过滤不检查会话状态且不分析数据,攻击者可以使用假冒地址进行欺骗,然后通过防火墙。
包过滤仅能审核处于网络层和传输层的协议首部信息,对每个数据包执行允许和禁止的操作。这种过滤能够基于下列基本标准制定访问决策:
(1)源IP地址和目的IP地址
(2)源和目的地端口号码
(3)协议类型
(4)进出的流量方向。
第二代防火墙。代理检查来自用户的请求,匹配安全策略后代表外部用户与真正的服务器建立连接,转发外部用户请求。
代理防火墙安全性较高,但软件限制处理速度,同时需要为每一种应用开发对应的代理服务,开发周期长且升级困难。
代理是一个中间人。设置在可信任网络和不可信任网络之间,总是代表数据来源建立连接。
代理防火墙断开了通信信道,两个通信设备之间不能直接连接。
有两种类型的防火墙,工作在OSI模型底层(会话层)的代理防火墙称为电路级代理,工作在应用层的代理防火墙叫应用级代理。
创建了客户端计算机和服务器之间的一个电路,仅能看到会话层,从网络角度监控流量。
这种代理不能看到数据包的内容,不执行深层次的检查。只是基于它能看到的协议首部和会话信息做访问决策。不理解应用层协议,因此是独立于应用层的程序代理。
提供的保护强度没有应用级代理大。但是能提供更宽泛的保护。
电路级代理的工作方式类似于包包过滤,它基于地址、端口和协议类型的首部值来做访问决策。电路级代理检查包首部内的数据,而不是检查应用层数据。不检查包内数据是否安全。
可以检查通过应用层的数据包。应用级代理可以理解整个数据包,因为可以根据数据包的内容作出访问决策。
应用级代理可以区分FTP的GET和PUT命令,并且根据这种细粒化的信息作出访问决策。包过滤防火墙和电路级代理只可以允许或者拒绝FTP的整个请求,而不是通过FTP协议内部所使用的命令进行决策。
应用级代理防火墙需要为每个协议都配备一个代理。因此,提供应用级代理保护比较难。代理必须完全理解特定协议的工作方式以及该协议内的合法命令。
应用级防火墙的特征如下:
(1)检查整个网络包,不仅是网络地址和端口,因此有强大的日志记录功能。
(2)能够之间对用户进行身份验证,包过滤防火墙和状态检查防火墙是不可以的。
(3)不仅仅是第三层设备,因此能够抵御欺骗攻击和其它复杂的攻击。
应用级防火墙的缺点:
(1)通常不适合高带宽或实时应用。
(2)支持新网络应用和协议的能力有限。
(3)由于逐包处理的要求,会产生性能问题。
应用级和电路级代理防火墙的特征:
1、应用级代理防火墙的特征如下:
(1)每个被监控的协议都需要一个独特的代理。
(2)比电路级代理防火墙提供更多的保护。
(3)对每个包都要进行更多处理,速度比电路级代理防火墙慢。
2、电路级代理防火墙的特征如下:
(1)不需要为每个协议设置一个代理。
(2)不提供应用级代理防火墙的更深层次的检查。
(3)为更广范围的协议提供安全性。
第三代防火墙。状态检测属于包过滤技术的延伸,对基于连接状态的数据报文进行检查时,它会考虑数据报文前后的关系,这意味着每个数据报文都不是独立存在的,而是前后有状态联系的。基于这样的状态联系,发展处了状态检测技术。于1994年提出。
状态检测防火墙通过动态分析激活的TCP会话和UDP会话状态采取动作,处理速度快且安全性高。
数据包通过包过滤防火墙时,就会忘记接收过该包,因此称为无状态的。状态过滤检查,它能跟踪记录包到达什么位置,直到特定的连接关闭。
状态检测防火墙比常规的过滤路由器更好管闲事,因为它跟踪计算机之间说了什么。这就需要防火墙维护一个状态表,以记录谁对谁说了什么,就像一张记分表那样。
状态检测防火墙记录着通信的每一个步骤。它知道协议应该如何工作,如果出现不合常规的情况,它不会允许流量通过。
当两个系统之间的连接开始时,防火墙调查数据包的所有层(所有首部、有效载荷和尾部)。有关这个具体连接的所有必要信息都存储在状态表中(源IP地址和端口,目的IP地址和端口、协议乐西、首部标志、序列号和时间戳等)。一旦这个数据包通过了这个深入的检查,一切都被认为是安全的,防火墙会审核网络,为剩下的会话传输首部部分。每一个数据包都会语当前状态表中的值做对比,这个表被更新以反映通信进程的进展情况。把检查整个数据包缩减为只检查每个数据包的首部可以提高性能。
状态检测防火墙的特征:
(1)维护一个状态表,以跟踪每一个通信会话。
(2)它提供了高度的安全性,而且不会像代理防火墙那样引入性能问题。
(3)可升级,对用户透明。
统一威胁管理(UTM)防火墙属于新一代防火墙。除了具备基本防火墙功能外,它将入侵检测、访问控制、防病毒、URL过滤等功能集成于一身,实现全面的安全防护功能。
下一代防火墙概念在2008年提出,最初目的是解决UTM防火墙运行多个功能后性能下降的问题。2009年明确了定义,明确了下一代防火墙除了具有UTM防火墙功能外,还可以基于用户、应用、内容进行管控。
2013年9月发布。
USG6000系列防火墙将安全能力与应用识别进行深度融合,实现安全防护一体化。
应用识别基础上的入侵检测,防病毒;
应用识别基础上的内容过滤;
用户不同、位置不同、时间不同、对应的访问权限也不同;
对房型的高风险应用,进行更深入的安全防护。
安全区域,也称为区域。一般来说,同一区域间的数据报文不使用安全策略进行控制,只有当数据报文在不同区域间传送时才会使用安全策略进行控制。
网络地址转换(NAT)技术最早的应用是将私有网络IP地址转换为互联网IP地址,以减少对互联网IP地址的使用。
源NAT地址转换有多种方式,客户端访问互联网时,防火墙将私有网络IP子弟转换为互联网IP地址,当回程数据报文返回防火墙时再将数据报文的目的地址由互联网IP转换为私有网络IP地址。源NAI技术是最常用的技术。比较常用的源NAT地址转换有以下三种:
(1)出接口地址转换(Easy-IP)。内部客户端访问互联网时,会转换数据报文的IP地址,但转换后的IP地址只能为出接口IP地址。这种模式适用于多数环境,同时接口支持动态获取,例如ADSL线路。
(2)网络地址和端口转换(NAPT)。内部客户端访问互联网时,会对网络地址以及端口进行转换。NAPT也是生产环境中使用比较广泛的源NAT技术。
(3)网络地址转换(No-PAT)。内部客户端访问互联网时,不转换端口只转换IP地址,通常用于一些特殊环境。
NAT Server是NAT技术的一种特殊应用。在生产环境中,内部网络中的服务器可能会提供给外部用户或合作企业访问,而这些服务器使用私有网络IP地址,通过NAT技术可以实现内部服务器地址到互联网IP地址的转换,让外部用户或合作企业通过互联网访问内部服务器,这种技术称为NAT Server。
路由黑洞是指数据报文在防火墙和路由器之间进行循环转发,产生路由环路,同时消耗设备的资源,导致设备无法正常工作。配置路由黑洞是为了避免数据报文的循环转发,使防火墙和路由器之间不产生环路。
当NAT地址池和互联网那个接口地址在同一网段时,必须配置路由黑洞,避免防火墙和路由器之间产生环路。
当NAT地址池在互联网那个接口地址在同一网段时,建议配置路由黑洞,避免防火墙返送ARP数据报文,降低防火墙资源使用。
虚拟专用网络(VPN)是利用互联网建立私有网络通道进行数据传递的网络。
1、VPN建设方式
(1)企业自建。
(2)租用。中国电信等运营商均提供VPN租用服务。
2、VPN组网方式
(1)点对点访问。一般用于分支机构与总部进行连接。
(2)远程访问。一般用于出差用户访问总部网络,可以通过拨号方式连接到总部网络。
3、VPN使用的主要技术
由于互联网本身的安全性差,需要包括隧道、认证、加密、密钥管理等。
(1)隧道技术。VPN的关键就是使用隧道技术。隧道技术是指在隧道两端使用封装和解封装方式在互联网上建立一条私有网络通道,使用这条通道对数据报文进行传输。封装和解封装过程可以为原始报文提供安全防护功能。
隧道技术由隧道协议组成,可以分为第二层和第三层隧道协议,第二层隧道协议主要有L2TP等,第三层隧道协议主要有IPSec等。
(2)认证技术。认证技术主要分为数据认证技术和身份认证技术。
数据认证技术用于保证数据在网络传输过程中不被篡改,以保证数据的原始性。数据认证主要采用散列算法。
身份认证技术主要用于保证接入用户的合法性,主要采用用户名,密码以及USBKey认证方式。
(3)加密技术。把明文变成密文。当数据被封装入隧道后立即进行加密,当数据到达对端后,由隧道对端对数据进行解密。比较常用的对称加密和非对称加密。
L2TP协议不支持加密技术,IPSec VPN、SSL VPN支持对数据报文和协议报文加密。
(4)密钥管理。保证密钥不被窃取。
通用路由封装协议(GRE)是早期出现的VPN技术,能够实现数据报文在互联网隧道中进行封装和解封装。
GRE VPN封装和解封装过程:在颞部网络原始数据报文前添加GRE头,再在GRE头前添加互联网IP地址头,这就是封装过程;封装后数据报文就可以通过隧道在互联网那个上进行传递,当数据报文到达隧道对端后,会去掉互联网IP地址头、GRE信息,恢复原始报文。
GRE VPN最大的问题在于数据报文采用明文,无法直接对其进行加密传输,数据不能得到安全保证。
第二层隧道协议(L2TP)是为分支机构或者出差用户通过互联网访问总部网络设计的隧道协议。
L2TP VPN主要由接入集中器以及网络服务器组成。
(1)L2TP接入集中器(LAC)。LAC是L2TPVPN接入的汇聚点,可以为PPP用户提供接入服务。
(2)L2TP网络服务器(LNS)。是部署在企业总部出口的网络服务器,既可以是PPP端系统,也可以是L2TP服务器端。
L2TP VPN属于第二层VPN协议,其封装和解封装过程如下:
(1)封装过程。客户端PPP数据报文到达LAC时,封装L2TP头、UDP头、互联网IP地址头。
(2)解封装过程。当LNS收到L2TP数据报文后,首先检查互联网IP地址头和UDP头信息,再检查L2TP头信息,如果与建立成功的L2TP隧道ID以及会话ID相同则解封装;不同则丢弃。
无论是GREVPN还是L2TP VPN,虽然有一定的安全机制,但建立的隧道传输没有安全加密机制。IP安全(IP Security)是IETF制定的安全协议,它为IP数据报文提供了基于密码学的安全保护机制。IPSec VPN就是利用IPSec隧道建立的网络层VPN,于GRE VPN和L2TP VPN相比,IPSec VPN更加安全。
IPSec VPN主要由验证头协议、封装安全载荷、网络密钥交换组成。其中验证头协议、封装安全载荷定义了协议格式以及提供的服务,能够提供数据完整性验证等功能,保障数据在传输过程中的机密性。网络密钥交换可以进行自动协商交换密钥等服务。在生产环境中,验证头协议和封装安全载荷可以单独使用,也可以同时使用。
(1)验证头协议(AH)。能够对数据源进行验证,同时还能对数据的完整性进行校验以及数据报文重放。AH本身不加密数据,AH协议号为51。
(2)封装安全载荷(ESP)。除了具有AH功能外,还能对IP报文进行加密,ESP协议号为50。
(3)网络密钥交换(IKE)。用于协商AH和ESP所使用的加密算法。
IPSecVPN有以下两种模式:
(1)传输模式。IPSec处理模块在IP报文和上层协议报头之间插入IPSec报头,IP报文中的协议字段会变成IPSec所使用的协议号(AH或ESP协议号),然后重新计算IP报头校验和。传输模式一般用于主机安全网关或主机与主机间的通信。
(2)隧道模式。原始IP分组给封装为一个新的IP报文,在内部报头和外部报头之间插入IPSec报头,源IP地址被当做有效载荷的一部分受到IPSec保护。隧道模式一般用于主机安全网关与安全网关之间的通信。
IPSec VPN常用的加密算法:
(1)DES。(2)3DES。(3)AES.
为了保证数据的完整性,用散列函数生成固定签名长度。常用散列算法。
(1)MD5。(2)SHA-1。(3)SHA-2
安全套接层(SSL)是为应用层提供安全连接的安全协议。SSL介于TCP/IP第四层与第七层之间,可以为HTTP提供安全连接。
SSL协议分为底层SSL记录协议和上层SSL握手协议。
(1)底层SSL记录协议。对上层数据进行处理并进行加密传输。
(2)上层SSL握手协议。使用公钥加密算法对密文进行传输。
SSL VPN以SSL协议为基础,基于B/S架构,不需要使用客户端,只需要使用标准浏览器内置的SSL即可实现,属于新型VPN技术。同时,SSL VPN不需要改变现有网络架构,不涉及NAT穿越等问题,可以企业中快速部署。