防火墙基础

2022-06-29 14:38:15 浏览数 (1)

防火墙概述

防火墙特征

  • 逻辑区域过滤器
  • 隐藏内网网络结构
  • 自身安全保障
  • 主动防御攻击

现代的防火墙体系不应该只是-一个“入口的屏障”,防火墙应该是几个网络的接入控制点,所有进出被防火墙保护的网络的数据流都应该首先经过防火墙,形成一个信息进出的关口,因此防火墙不但可以保护内部网络在Internet中的安全,同时可以保护若干主机在一个内部网络中的安全。在每一个被防火墙分割的网络内部中,所有的计算机之间是被认为“可信任的”,它们之间的通信不受防火墙的干涉。而在各个被防火墙分割的网络之间,必须按照防火墙规定的“策略”进行访问。

防火墙分类

包过滤防火墙

包过滤防火墙是指在网络层对每个数据包进行检查,根据配置的安全策略转发或丢弃数据包。包过滤防火墙的基本原理是:通过配置访问控制列表实施数据包的过滤。主要基于数据包中的源目IP地址,源目端口号,IP表示和报文传递的方向等信息。

包过滤缺点

  • 随着ACL复杂度和长度的增加,其过滤性能呈指数下降趋势
  • 静态ACL规则难以适应动态的安全要求
  • 包过滤不检查会话状态不分析数据,这很容易让黑客蒙混过关
代理防火墙

代理服务作用于网络的应用层,其实质是把内部网络和外部网络用户之间直接进行的业务由代理接管。代理检查来自用户的请求,用户通过安全策略检查后,该防火墙将代表外部用户与真正的服务器建立连接,转发外部用户请求,并将真正服务器返回的 响应回送给外部用户。

代理防火墙能够完全控制网络信息的交换,控制会话过程,具有较高的安全性。

缺点:

  • 软件实现限制了处理速度,易于遭受拒绝服务攻击;
  • 需要针对每一种协议开发应用层代理,开发周期长,而且升级很困难。
状态监测防火墙

状态检测是包过滤技术的扩展。基于连接状态的包过滤在进行数据包的检查时,不仅将每个数据包看成是独立单元,还要考虑前后报文的历史关联性。我们知道,所有基于可靠连接的数据流(即基于TCP协议的数据流)的建立都需要经过“客户端同步请求”、“服务器应答” 以及“客户端再应答”三个过程(即“三次握手”过程),这说明每个数据包都不是独立存在的,而是前后有着密切的状态联系的。

基本原理

状态检测防火墙使用各种会话表来追踪激活的TCP 会话和UDP 伪会话,由访问控制列表决定建立哪些会话,数据包只有与会话相关联时才会被转发。其中UDP伪会话是在处理UDP协议包时为该UDP数据流建立虚拟连接(UDP 是面对无连接的协议),以对UDP连接过程进行状态监控的会话。

状态检测防火墙在网络层截获数据包,然后从各应用层提取出安全策略所需要的状态信息,并保存到会话表中,通过分析这些会话表和与该数据包有关的后续连接请求来做出恰当决定。

优点

后续数据包处理性能优异:状态检测防火墙对数据包进行ACL检查的同时,可以将数据流连接状态记录下来,该数据流中的后续包则无需再进行ACL检查,只需根据会话表对新收到的报文进行连接记录检查即可。检查通过后,该连接状态记录将被刷新,从而避免重复检查具有相同连接状态的数据包。连接会话表里的记录可以随意排列,与记录固定排列的ACL不同,于是状态检测防火墙可采用诸如二叉树或哈希(Hash) 等算法进行快速搜索,提高了系统的传输效率。

安全性较高:连接状态清单是动态管理的。会话完成后防火墙上所创建的临时返回报文入口随即关闭,保障了内部网络的实时安全。同时,状态检测防火墙采用实时连接状态监控技术,通过在会话表中识别诸如应答响应等连接状态因素,增强了系统的安全性。

防火墙组网方式

方式一:

防火墙只进行报文转发,不能进行路由寻址,与防火墙相连两个业务网络必须在同一个网段中。此时防火墙上下行接口均工作在二层,接口无IP地址。

防火墙此组网方式可以避免改变拓扑结构造成的麻烦,只需在网络中像放置网桥(Bridge) 一样串入防火墙即可,无需修改任何已有的配置。IP报文同样会经过相关的过滤检查,内部网络用户依旧受到防火墙的保护。

方式二:

防火墙位于内部网络和外部网络之间时,与内部网络、外部网络相连的上下行业务接口均工作在三层,需要分别配置成不同网段的IP地址,防火墙负责在内部网络、外部网络中进行路由寻址,相当于路由器。

此组网方式,防火墙可支持更多的安全特性,比如NAT 、UTM等功能,但需要修改原网络拓扑,例如,内部网络用户需要更改网关,或路由器需要更改路由配置等。因此,做为设计人员需综合考虑网络改造、业务中断等因素。

防火墙转发原理

包过滤技术

传统的包过滤防火墙对于需要转发的报文,会先获取报文头信息,包括报文的源IP地址、目的IP地址、IP层 所承载的.上层协议的协议号、源端口号和目的端口号等,然后和预先设定的过滤规则进行匹配,并根据匹配结果对报文采取转发或丢弃处理。

包过滤防火墙的转发机制是逐包匹配包过滤规则并检查,所以转发效率低下。目前防火墙基本使用状态检查机制,将只对一个连接的首包进行包过滤检查,如果这个首包能够通过包过滤规则的检查,并建立会话的话,后续报文将不再继续通过包过滤机制检测,而是直接通过会话表进行转发。

防火墙安全策略

安全策略是按一定规则控制设备对流量转发以及对流量进行内容安全一体化检测的策略

规则的本质是包过滤

主要应用

  • 对跨防火墙的网络互访进行控制
  • 对设备本身的访问进行控制

原理:

防火墙安全策略定义数据流在防火墙上的处理规则,防火墙根据规则对数据流进行处理。因此,防火墙安全策略的核心作用是:根据定义的规则对经过防火墙的流量进行筛选,由关键字确定筛选出的流量如何进行下一步操作。

在防火墙应用中,防火墙安全策略是对经过防火墙的数据流进行网络安全访问的基本手段,决定了后续的应用数据流是否被处理。NGFW会对收到的流量进行检测,检测出流量的属性,包括:源安全区域、目的安全区域、源地址/地区、目的地址/地区、用户、服务(源端口、目的端口、协议类型)、应用和时间段。

域间转发

查找和创建会话

状态检测机制

对于TCP报文

  • 开启状态检测机制时,首包(SYN报文) 建立会话表项。对除SYN报文外的其他报文,如果没有对应会话表项(设备没有收到SYN报文或者会话表项已老化),则予以丢弃,也不会建立会话表项。
  • 关闭状态检测机制时,任何格式的报文在没有对应会话表项的情况下,只要通过各项安全机制的检查,都可以为其建立会话表项。

对于UDP报文

  • UDP是基于无连接的通信,任何UDP格式的报文在没有对应会话表项的情况下,只要通过各项安全机制的检查,都可以为其建立会话表项。
  • 对于ICMP报文
  • 开启状态检测机制时,没有对应会话的ICMP应答报文将被丢弃。
  • 关闭状态检测机制时,没有对应会话的应答报文以首包形式处理

会话表项

会话是状态检测防火墙的基础,每一个通过防火墙的数据流都会在防火墙上建立一个会话表项,以五元组(源目的IP地址、源目的端口、协议号)为Key值,通过建立动态的会话表提供域间转发数据流更高的安全性。下一代防火墙在五元组基础上增加用户、应用字段扩展为七元组。

七元组

  • 源IP地址
  • 源端口
  • 目标IP地址
  • 目标端口
  • 协议号
  • 用户
  • 应用

ASPF技术

(Application Specific Packet Filter)是一种高级通信过滤,它检查应用层协议信息并且监控连接的应用层协议状态。对于特定应用协议的所有连接,每一个连接状态信息都将被ASPF维护并用于动态的决定数据包是否被允许通过防火墙或丢弃。

ASPF概述

ASPF在session表的数据结构中维护着连接的状态信息,并利用这些信息来维护会话的访问规则。ASPF保存着不能由访问控制列表规则保存的重要的状态信息。防火墙检验数据流中的每一个报文,确保报文的状态与报文本身符合用户所定义的安全规则。连接状态信息用于智能的允许/禁止报文。当一个会话终止时,session表项也将被删除,防火墙中的会话也将被关闭。

ASPF可以智能的检测“TCP的三次握手的信息”和“拆除连接的握手信息”, 通过检测握手、拆连接的状态检测,保证一个正常的TCP访问可以正常进行,而对于非完整的TCP握手连接的报文会直接拒绝。

UDP是无连接的报文,所以也没有真正的UDP”连接”。因为ASPF是基于连接的,它将对UDP报文的源、目的IP地址、端口进行检查,通过判断该报文是否与所设定的时间段内的其他UDP报文相类似,而近似判断是否存在一个连接。

在普通的场合,一般使用的是基于ACL的IP包过滤技术,这种技术比较简单,但缺乏一定的灵活性,在很多杂应用的场合普通包过滤是无法完成对网络的安全保护的。例如:对于类似于应用FTP协议进行通信的多通道协议来说,配置防火墙则是非常困难的。

ASPF使防火墙能够支持一个控制连接上存在多个数据连接的协议,同时还可以在应用非常复杂的情况下方便的制订各种安全的策略。ASPF监听每一个应用的每一个连接所使用的端口,打开合适的通道让会话中的数据能够出入防火墙,在会话结束时关闭该通道,从而能够对使用动态端口的应用实施有效的访问控制。

ASPF对多通道协议的支持

在多通道协议中,如FTP, 控制通道和数据通道是分开的。数据通道是在控制报文中动态协商出来的,为了避免协商出来的通道不因其他规则的限制(如ACL) 而中断,需要临时开启一个通道,(Servermap)

FTP包含一个预知端口的TCP控制通道和一个动态协商的TCP数据通道,对于一般的包过滤防火墙来说,配置安全策略时无法预知数据通道的端口号,因此无法确定数据通道的入口,这样就无法配置准确的安全策略。ASPF技术则解决了这一问题, 它检测IP层之上的应用层报文信息,并动态地根据报文的内容创建和删除临时的servermap表项,以允许相关的报文通过。

从图中可以看出,servermap表项是对FTP控制通道中动态检测过程中动态产生的,当报文通过防火墙时,ASPF将报文与指定的访问规则进行比较,如果规则允许,报文将接受检查,否则报文直接被丢弃。如果该报文是用于打开一个新的控制或数据连接,ASPF将动态的产生servermap表项,对于回来的报文只有是属于一个已经存在的有效的连接,才会被允许通过防火墙。在处理回来的报文时,状态表也需要更新。当一个连接被关闭或超时后,该连接对应的状态表将被删除,确保未经授权的报文不能随便透过防火墙。因此通过ASPF技术可以保证在应用复杂的情况下,依然可以非常精确的保证网络的安全。

Server-map是一种映射关系,当数据连接匹配了动态Server-map表项时,不需要再查找包过滤策略,保证了某些特殊应用的正常转发。另一种情况,当数据连接匹配Server-map表,会对报文中IP和端口进行转换。

Server-map通常只是用检查首个报文,通道建立后的报文还是根据会话表来转发。

FW上生成Server-Map表项的情况:

  • 配置ASPF后,转发FTP、RSTP等通道协议时生成的Server-Map表项。
  • 配置ASPF后,转发QQ/MSN、TFTP等STUN类型协议时生成的三元组Server-map表项。
  • 配置NAT服务器映射时,生成的静态Server-map。
  • 配置NAT No-PAT时生成的董涛Server-map。
  • 配置服务器负载均衡时生成的静态Server-map
  • 配置DS-lite场景下NAT Server时生成的动态Server-map
  • 配置静态NAT64时生成的静态Server-map

多通道协议会由客户端和服务器之间的控制通道动态协商出数据通道,即通信双方的端口号是不固定的。而在配置ASPF功能后,设备检测到控制通道的协商,根据关键报文载荷中的地址信息动态创建server-map表项,用于数据通道发起连接时进行查找。这个server-map表项包含了多通道协议报文中协商的数据通道的信息。

QQ/MSN等协议中,当用户登录之后,用户的IP地址和端口就固定下来了,可是会向该用户发起对话的另-方的IP地址和端口号是不固定的。通过配置STUN类型的ASPF,当QQ或者MSN等用户连接服务器时,设备会记录下用户的IP地址和端口信息,并动态生成STUN类型的Server-map。这个server-map表项中仅包含三元组信息,即通信一方的IP地址,端口号和协议号。这样其他用户可以直接通过该IP和端口与该用户进行通信。

在使用NAT Server功能时,外网的用户向内部服务器主动发起访问请求,该用户的IP地址和端口号都是不确定的,唯一可以确定的是内部服务器的IP地址和所提供服务的端口号。所以在配置NAT Server成功后,设备会自动生成Server-map表项,用于存放Globle地址与Inside地址的映射关系。设备根据这种映射关系对报文的地址进行转换并转发。每个生效的NAT Server都会生成正反方向两个静态的Server-map。在SLB(服务器负载均衡,server load balancing)功能中, 由于需要将内网多个服务器以同一个IP地址对外发布,所以也会建立与NAT Server类似的Server-map表项,只不过根据内网服务器的个数需要建立1个正向表项和N个反向表项。

在使用NAT功能时,如果配置了No-PAT参数,那么设备会对内网IP和公网IP进行一对一的映射,而不进行端口转换。此时,内网IP的所有端口号都可以被映射为公网地址的对应端口,外网用户也就可以向内网用户的任意端口主动发起连接。所以配置NAT No-PAT后,设备会为有实际流量的数据流建立Server-map表,用于存放私网IP地址与公网IP地址的映射关系。设备根据这种映射关系对报文的地址进行转换,然后进行转发。

端口识别(端口映射)

是防火墙用来识别使用非标准端口的应用层协议报文。

端口识别基于ACL进行,只匹配某条ACL的报文,才能实施端口映射。端口映射使用基本ACL(2000~2999)。端口映射在使用ACL过滤报文时,使用报文的目的IP地址去匹配基本ACL中配置的源IP地址。

端口映射功能只对安全域间的数据流动生效,因此在配置端口映射时,也必须配置安全区域和安全域间。

ACL分为以下四类:

  • 基本ACL (2000~2999) :只能通过源IP地址和时间段来进行流量匹配,在一些只需要进行简单匹配的功能可以使用。
  • 高级ACL (3000~3999) : 通过源IP地址、目的IP地址、ToS、 时间段、协议类型、优先级、ICMP报文类型和ICMP报文码等多个维度来对进行流量匹配,在大部分功能中都可使用高级ACL来进行精确流量匹配。
  • 基于MAC地址的ACL (4000~4999) :可以通过源MAC地址、目的MAC地址、CoS、协议码等维度来进行流量匹配。
  • 硬件包过滤ACL (9000~9499) :将硬件包过滤ACL下发到接口卡上后,接口卡通过硬件实现包过滤功能,比普通的软件包过滤速度更快,消耗系统资源更少。硬件包过滤ACL的匹配条件比较全面,可以通过源IP地址、目的IP地址、源MAC地址、目的MAC地址、CoS、协议类型等维度来进行流量匹配。

分片缓存

网络设备在传输报文时,如果设备上配置的MTU (Maximum Transfer Unit)小于报文长度,则会将报文分片后继续发送。在实际传输过程中,可能存在首片分片报文不是第一个到达防火墙的现象。此时,防火墙将丢弃该系列分片报文。为保证会话的正常进行,缺省情况下,防火墙支持分片缓存功能。设备会将非首片的分片报文缓存至分片散列表,等待首片到来建立会话后,将所有分片报文进行转发。若在指定的时间内首片分片报文没有到来,防火墙将丢弃分片缓存中的分片报文。

在V**应用中(如IPSEC和GRE),由于需要设备对分片报文进行重组后解密或者解封装,设备才能进行后续处理,所以必须将设备配置成分片缓存状态,完成原始报文重组之后,才可以进行相应的加密解密处理。在NAT应用中,需要设备对分片报文进行重组后才能正常解析和转换报文中的IP地址,所以也必须将设备配置成分片缓存状态,才可以正常进行NAT。

分片报文直接转发功能一般用在不进行NAT转换的情况下。开启该功能后,防火墙将收到的分片报文直接转发出去,不创建会话表。

长连接

当一个TCP会话的两个连续报文到达防火墙的时间间隔大于该会话的老化时间时,为保证网络的安全性,防火墙将从会话表中删除相应会话信息。这样,后续报文到达防火墙后,防火墙将丢弃该报文,导致连接中断。在实际的网络环境中,某些特殊的业务 数据流的会话信息需要长时间不被老化。为了解决这一问题,防火墙支持在安全域间配置长连接功能,通过引用ACL定义数据流规则,为匹配ACL规则的特定报文的会话设置超长老化时间,确保会话正常进行。缺省情况下,长连接的老化时间为168小时(7*24小时)。

防火墙仅支持对TCP协议报文配置域间长连接功能。 状态检测机制关闭时,非首包也可以建立会话表,所以此时不需使用长连接功能也可保持业务的正常运行。

入侵概述

入侵是指未经授权而尝试访问信息系统资源、窜改信息系统中的数据,使信息系统不可靠或不能使用的行为;

入侵企图破坏信息系统的完整性、机密性、可用性以及可控性。

典型入侵行为

  • 篡改Web网页
  • 破解系统密码
  • 复制/查看敏感数据
  • 使用网络嗅探工具获取用户密码
  • 访问未经允许的服务器
  • 其他特殊硬件获得原始网络包
  • 向主机植入特洛伊木马程序

入侵防御系统

入侵检测系统(IDS,Intrusion Detection System)能在发现有违反安全策略的行为或系统存在被攻击的痕迹时,立即启动有关安全机制进行应对。

防火墙与IDS

  • 防火墙属于串路设备,需要做快速转发,无法做深度检测
  • 防火墙无法正确分析掺杂在允许应用数据流中的恶意代码,无法检测来自内部人员的恶意操作或误操作。
  • 防火墙属于粗颗粒度的访问控制,IDS属于细颗粒度的检测设备,通过IDS可以更准确监控现网
  • IDS可与防火墙、交换机进行联动,成为防火墙的得力“助手”,更好、更精确的控制外域间地访问。
  • IDS可灵活、及时的进行升级,策略地配置操作方便灵活。

特点:

  • 实时阻断:能够让IPS实时阻断到发现的网络攻击行为,避免IDS发现攻击,而无法实时阻止攻击行为发生的缺陷,最大限度的提升系统的安全性;
  • 自学习与自适应: IPS能够通过自学习与自适应将系统的漏报与误报降低到最低,减少对业务的影响;
  • 自定义规则: IPS能够自定义入侵防御规则,最大限度的对最新的威胁作出反应;
  • 业务感知(SA: Service Awareness) :让IPS能够检测到基于应用层的异常与攻击;
  • 零配置上线:系统提供了默认的入侵防御安全配置文件,可以直接被引用。

网络病毒概念

计算机病毒分类

  • 按照恶意代码功能分类:病毒、蠕虫、木马;
  • 按照传播机制分类:可移动媒体、网络共享、网络扫描、电子邮件、P2P网络;
  • 按照感染对象分类:操作系统、应用程序、设备;
  • 按照携带者对象分类:可执行文件、脚本、宏、引导区;

病毒、蠕虫、木马

项目

病毒

蠕虫

密码

存在形式

寄生

独立个体

有寄生性

复制机制

插入宿主程序中

自身拷贝

不自我复制

传染性

寄主程序运行

系统存在漏洞

依据载体或功能

触发机制

计算机使用者

程序自身

肉机或僵尸

影响重点

文件系统

网络性能、系统性能

信息窃取或拒绝服务

防治措施

从宿主程序中摘除

为系统打补丁(patch)

防止木马植入

毒、蠕虫、木马关系

  • 病毒是一段寄生在正常程序中的恶意代码,当用户启用这段正常程序时,病毒也会被启动,从而对系统的文件系统造成破坏。
  • 蠕虫是病毒的变种,是一个独立的个体,不需要寄生,其能进行自我拷贝,利用网络上的系统漏洞或人为意识漏洞进行传播,影响更为恶劣,主要影响整个网络的性能和计算机的系统性能。
  • 木马也是一种具有寄生性的恶意代码,它极具隐蔽性,黑客往往通过木马能够控制一台主机,使其成为“肉鸡”,此外,木马也可以用于监控获取受害人关键信息,如银行密码等。

反病毒技术

根据防护对象分为:

  • 单机反病毒
  • 网络反病毒
单机反病毒

单机反病毒可以通过安装杀毒软件实现,也可以通过专业的防病毒工具实现。病毒检测工具用于检测病毒、木马、蠕虫等恶意代码,有些检测工具同时提供修复的功能。

网络反病毒
  • 内网用户可以访问外网,且经常需要从外网下载文件。
  • 内网部署的服务器经常接收外网用户上传的文件。
网络防病毒主要实现方式

代理扫描方式

将所有经过网关的需要进行病毒检测的数据报文透明的转交给网关自身的协议栈,通过网关自身的协议栈将文件全部缓存下来后,再送入病毒检测引擎进行病毒检测。

流扫描方式

依赖于状态检测技术以及协议解析技术,简单的提取文件的特征与本地签名库进行匹配。

防火墙反病毒工作原理

1.网络流量进入智能感知引擎后,首先智能感知引擎对流量进行深层分析,识别出流量对应的协议类型和文件传输的方向。

2.判断文件传输所使用的协议和文件传输的方向是否支持病毒检测。

FW所支持的对协议传输文件进行病毒检测:

  • FTP (File Transfer Protocol) :文件传输协议
  • HTTP (Hypertext Transfer Protocol) :超文本传输协议
  • POP3 (Post Office Protocol – Version3) :邮局协议的第3个版本
  • SMTP (Simple Mail Transfer Protocol) :简单邮件传输协议
  • IMAP (Internet Message Access Protocol) :因特网信息访问协议
  • NFS (Network File System) :网络文件系统
  • SMB (Server Message Block) :文件共享服务器

3.判断是否命中白名单。若命中,不进行病毒检测

4.病毒检测

智能感知引擎对符合病毒检测的文件进行特征提取,提取后的特征与病毒特征库中的特征进行匹配。如果匹配,则认为该文件为病毒文件,并按照配置文件中的响应动作进行处理。如果不匹配,则允许该文件通过。当开启联动检测功能时,对于未命中病毒特征库的文件还可以上送沙箱进行深度检测。如果沙箱检测到恶意文件,则将恶意文件的文件特征发送给NIP,NIP将此恶意文件的特征保存到联动检测缓存。下次再检测到该恶意文件时,则按照配置文件中的响应动作进行处理。

5.当FW检测出传输文件为病毒文件时,需要进行如下处理:

  • 判断该病毒文件是否命中病毒例外。如果是病毒例外,则允许该文件通过。
  • 病毒例外,即病毒白名单。为了避免由于系统误报等原因造成文件传输失败等情况的发生,当用户认为已检测到的某个病毒为误报时,可以将该对应的病毒ID添加到病毒例外,使该病毒规则失效。如果检测结果命中了病毒例外,则对该文件的响应动作即为放行。
  • 如果不是病毒例外,则判断该病毒文件是否命中应用例外。如果是应用例外,则按照应用例外的响应动作(放行、告警和阻断)进行处理。
  • 应用例外可以为应用配置不同于协议的响应动作。应用承载于协议之上,同一协议上可以承载多种应用。

由于应用和协议之间存在着这样的关系,在配置响应动作时也有如下规定:

  • 如果只配置协议的响应动作,则协议上承载的所有应用都继承协议的响应动作。
  • 如果协议和应用都配置了响应动作,则以应用的响应动作为准。
  • 如果病毒文件既没命中病毒例外,也没命中应用例外,则按照配置文件中配置的协议和传输方向对应的响应动作进行处理。
反病毒响应动作
  • 告警:允许病毒文件通过,同时生成病毒日志。
  • 阻断:禁止病毒文件通过,同时生成病毒日志。
  • 宣告:对于携带病毒的邮件文件,设备允许该文件通过,但会在邮件正文中添加检测到病毒的提示信息,同时生成病毒日志。宣告动作仅对SMTP协议和POP3协议生效。
  • 删除附件:对于携带病毒的邮件文件,设备允许该文件通过,但设备会删除邮件中的附件内容并在邮件正文中添加宣告,同时生成病毒日志。删除附件动作仅对SMTP协议和POP3协议生效。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/100116.html原文链接:https://javaforall.cn

0 人点赞