防火墙按照访问控制方式分类

包过滤防火墙

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

优点:设计简单,易于实现,价格便宜。

缺点:

  • 随着ACL复杂度和长度的增加,其过滤性能呈指数下降趋势
  • 静态的ACL规则难以适应动态的安全要求
  • 包过滤不检查会话状态也不分析数据,这很容易让黑客蒙混过关。例如,攻击者可以使用假冒地址进行欺骗,通过把自己主机IP地址设成一个合法主机IP地址,就能很轻易地通过报文过滤器

代理防火墙

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

优点:能够完全控制网络信息的交换,控制会话过程,具有较高的安全性。

缺点:

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

状态检测防火墙

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

基本原理:

  • 状态检测防火墙使用各种会话表来追踪激活的TCP(Transmission Control Protocol)会话和UDP(User Datagram Protocol)伪会话,由访问控制列表决定建立哪些会话,数据包只有与会话相关联时才会被转发。其中UDP伪会话是在处理UDP协议包时为该UDP数据流建立虚拟连接(UDP是面对无连接的协议),以对UDP 连接过程进行状态监控的会话。
  • 状态检测防火墙在网络层截获数据包,然后从各应用层提取出安全策略所需要的状态信息,并保存到会话表中,通过分析这些会话表和与该数据包有关的后续连接请求来做出恰当决定。

优点:

  • 后续数据包处理性能优异:状态检测防火墙对数据包进行ACL 检查的同时,可以将数据流连接状态记录下来,该数据流中的后续包则无需再进行ACL检查,只需根据会话表对新收到的报文进行连接记录检查即可。检查通过后,该连接状态记录将被刷新,从而避免重复检查具有相同连接状态的数据包。连接会话表里的记录可以随意排列,与记录固定排列的ACL 不同,于是状态检测防火墙可采用诸如二叉树或哈希(Hash)等算法进行快速搜索,提高了系统的传输效率。
  • 安全性较高:连接状态清单是动态管理的。会话完成后防火墙上所创建的临时返回报文入口随即关闭,保障了内部网络的实时安全。同时,状态检测防火墙采用实时连接状态监控技术,通过在会话表中识别诸如应答响应等连接状态因素,增强了系统的安全性。

猜你喜欢

转载自blog.csdn.net/weixin_43915762/article/details/86155009
今日推荐