Java教程

防火墙的原理设计与实现

本文主要是介绍防火墙的原理设计与实现,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

防火墙的定义

防火墙是指设置在不同网络(如可信任的企业内部网和不可信的公共网)或网络安全域之间的一系列部件的组合。它可通过监测、限制、更改跨越防火墙的数据流,尽可能的对外部屏蔽网络内部信息、结构和运行的基本状况,以此来实现网络的安全与保护。除了安全作用,防火墙还支持具有Internet服务特性的企业内部网络技术体系VPN(虚拟专用网)。从专业角度讲,防火墙是位于两个(或多个)网络间,实施网络之间访问控制的一组组件集合。防火墙是设置在内部网络和外部网络之间的一道屏障,从而实现网络安全保护,以防止发生不可预测的、潜在破坏性的侵入。防火墙具有较强的抗攻击能力,它是提供安全服务、实现网络信息安全的基本设施。

防火墙使用的技术

过滤包方式

包过滤 (Packet Filtering) 方式是防火墙最早支持的一种方式。防火墙部署在数据流量必须经过的链路上, 对经过的每一个数据包逐条匹配ACL, 直到适合某条规则执行规则设定的动作。不设置内容缓冲区, 不关心传输的内容。优点是简单易行, 处理速度快;缺点是单包处理, 只检查包头, 不建立前后数据包的逻辑关系, 不能发现通信中插入或缺漏的数据包, 也不能发现假冒的数据包。如TCP通信三次握手, 包过滤方式防火墙不去检查发送的数据包顺序是否合法, 因此容易受到DoS攻击。

 

状态检测方式

为了弥补包过滤防火墙天生存在的弱点, 后来出现了状态检测方式的防火墙, 依据TCP标准的协议规则对数据包进行协议检测。状态检测防火墙基于数据包检测, 同时针对每个数据连接建立协议运行的状态跟踪, 发现状态不匹配时则丢弃该数据包。图3所示为状态检测防火墙工作原理。当数据包进入防火墙后, 防火墙首先检测该数据包是否匹配已经配置好的状态检测列表, 如果匹配则转发放行;如果不匹配则按照包过滤方式安全检测, 匹配则转发放行, 不匹配则丢弃该数据包。状态检测方式是对包过滤方式的功能扩展, 既能对数据包是否符合安全策略进行检查, 也能对包的状态进行检测, 能够实现对基于破坏数据包状态进行攻击 (如DoS) 的防护。

状态检测防火墙实现对每一个数据包进行状态检测, 需要针对进入防火墙的数据包开启缓冲区。当通过防火墙的数据包数量增多时, 会大量占用防火墙硬件资源, 降低数据通过性能, 有影响业务正常运行的可能。

 

2.2.4应用代理方式

  在防火墙上开启若干应用代理, 每个代理需要一个不同的应用进程或一个后台运行的服务程序, 针对每个新的应用必须添加针对此应用的服务程序, 否则不能使用该服务, 即不代理的业务无法通过。应用代理防火墙的特点是把用户的请求数据包统一收集起来, 还原成应用级的请求, 对应用级请求按规则进行处理后再转发给服务器, 用户向服务器的请求是中断的。应用代理防火墙的优点是成为用户访问业务的中间代理人, 中断用户与服务器的直接连接, 可以避免对服务器的直接入侵;缺点是需要与包过滤、状态过滤技术一起使用, 而且缓冲时间长、速度慢、延迟大。

 防火墙的实现

 防火墙硬件层面的实现

 分布式防火墙

分布式防火墙是指物理上有多个防火墙实体在工作,但在逻辑上只有一个防火墙、分布式防火墙仍然由中心定义策略,但由各个分布在网络中的端点实施这些制定的策略。说明哪一类连接可以被允许或禁止的策略语言,。然后中心采用系统管理工具把策略文件分发给各台“内部”主机:“内部”主机将从两方面来判定是否接受收到的包,一方面是报据IP安全协议。另一方面是根据服务器端的策略文件.

 

  芯片级硬件防火墙

芯片级硬件防火墙,它采用专门设计的硬件平台,在上面搭建的软件也是专门开发的,并非流行的操作系统,因而可以达到较好的安全性能保障。从实现原理来看,是通过专门设计的芯片逻辑进行硬件加速处理,通过把指令或计算逻辑固化到芯片中,获得很高的处理能力。明显地提升防火墙的性能。

 智能防火墙

前几代防火墙技术有一个共同的特点,就是采用逐一匹配方法,需要对IP包和状态检测包进行匹配检查,计算量太大,效率低。智能防火墙从技术特征上,是利用统计、记忆、概率和决策的智能方法对数据进行识别,达到访问控制的目的。运用了数学方法,消除了匹配检查所需要的海量计算,高效发现网络行为的特征值,直接进行访问控制.由于这些方法多是人工智能学科采用的方法,因此称为智能防火墙。

这篇关于防火墙的原理设计与实现的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!