防火墙报文转发流程

防火墙的转发流程

以会话为中心,分别分析会话前、会话中、会话后的转发流程。

下一代防火墙:

下一代防火墙通过应用与内容的深度检测,提供更加完善的网络安全防护。

FW提供了先进的“一次扫描”和“实时检测”机制。

  • “一次扫描”机制是指FW通过专业的智能感知引擎,只需对报文进行一次扫描,就可以提取所有内容安全功能所需的数据,识别出流量的应用类型、包含的内容与可能存在的网络危险。即使开启所有内容安全功能,也不会造成设备性能的大幅下降。
  • “实时检测”机制是指通过高性能的智能感知引擎,可以在流量传输过程中的所有报文进行实时检测,随时发现和阻断其中的不安全因素,实现对网络的持续保护。

FW通过签名和特征可以识别上千种应用,并且可以防护在应用层传输的网络入侵、蠕虫、病毒、木马和攻击。FW所提供的安全策略功能可以在一条策略中完成对一条流量的所有内容安全防护功能。

总的转发流程图:

网络设备对流量的处理最终都是通过对单个报文的识别、转发、丢弃和改造来实现的。根据报文的类型和所配置的策略不同,FW对报文的处理过程也有所不同。USG6000典型的IP报文从接收到发送的简化转发流程如下图所示:

报文转发流程

图:防火墙报文转发流程

会话前:

会话前

图:会话前报文转发流程

这个阶段的主要目的是解析出报文的帧头部和IP报文头部。根据头部当中的信息进行一些基础的安全检测。

首先根据接收报文的接口是二层还是三层:两种处理方式:

  • 二层:判断是否是同一个VLAN?
    • 是同一VLAN,查看MAC地址
    • 不是同一VLAN,查看VLAN ID。
  • 三层:
    1. 解析IP头部
    2. 入接口带宽阈值
    3. 白名单
    4. DDoS攻击防范
    5. 查看IP/MAC绑定

会话中:

会话中

图:会话中的报文处理流程图

这个阶段是FW的核心处理环节,主要的安全功能都在这个阶段实现。FW根据该报文是否存在匹配的会话表项,有以下两种处理方式:

  • 有会话:匹配会话
  • 没有会话:首包创建会话。

有会话——匹配会话

  1. 刷新在线用户

  2. 基于流的攻击防范

    有一些攻击的特征需要综合该条流量的多个报文才能判断。所以在后续报文处理中,可以进行基于流的攻击防范。例如UDP FLOOD中基于会话的UDP报文速率限制。

  3. 状态检测:为应用识别服务

    获取流量的用户和应用通常不能根据分析一个报文完成。

    为了获取这条流量的多个业务报文,FW将首先根据认证策略,向需要认证但是尚未登录的用户进行网页重定向,向其推送认证页面,以获取其用户信息。在用户认证通过后,FW将根据用户实际传输的多个报文分析出该条流量的应用类型。

    在这个分析过程中,FW会先根据首包先建立一条会话,其中的应用信息保留为空。直至分析完成后再刷新会话表项填入应用信息。此时这条流量所能匹配的策略就可能发生变化,FW对其的处理方式也会随之改变。

  4. 会话是否需要刷新?

    什么条件下需要刷新会话?

    1. 路由发现变化
    2. 安全策略发生变化
    3. 用户上下线
    4. 认证策略发生变化

    不会刷新会话:服务器负载均衡(SLB)

刷新会话:

  1. 服务器负载均衡(SLB)
  2. 路由表
  3. 安全策略匹配包过滤
  4. 黑名单
  5. 用户重定向

没有会话的话:创建会话需要经历的步骤:

此时报文被认为是一条流量的首包,进入首包处理流程。

  1. 状态检测:判断该报文是否属于正常的可以建立会话的首包。

    必须开启状态检测的功能,默认开启。

    必须开启状态检测的场景:

    场景:如果启用DDOS、单包攻击、反病毒、入侵检测等功能的时候,必须开启状态检测。如果不开启状态检测,功能失效。

    必须关闭状态检测的场景:

    场景:防火墙充当硬件SACG的时候,必然会有来回路径不一致。此时需要关闭状态检测。

  2. 黑名单:根据报文的源或者目的IP地址、用户等信息对报文进行快速过滤。

    分类:基于用户,基于源地址,基于目的地址。

  3. Server-Map:临时通道。绕过安全策略,直接创建会话。

    产生Server-map的类型:

    1. ASPF:产生的Server-map的优先级高于安全策略。

      (1)多通道协议(FTP等)产生。(2)STUN类型(QQ,MSN)。

      STUN(Session Traversal Utilities for NAT,NAT会话穿越应用程序)一种网络协议,它允许位于NAT(或多重NAT)后的客户端找出自己的公网地址,查出自己位于哪种类型的NAT之后以及NAT为某一个本地端口所绑定的Internet端端口。这些信息被用来在两个同时处于NAT路由器之后的主机之间创建UDP通信。

    2. NAT:(1)No-PAT。 (2)服务器映射:静态映射—-Nat-Server。服务器负载分担——SLB。

  4. 在线用户:用于记录当前在线用户信息的重要表项,包括用户与IP地址的对应关系,用户上线时间和在线时长等。

    注意
    A.要匹配用户属性
    B.默认在线最大老化时间是30min

  5. 应用关联表 :用于记录当前流量的应用信息的重要表项。

    查看应用关联表
    [FW1]display protocol-identify all

    注意: 首包无法判定是那些应用,需要有会话的状态检测,所有第一个应用是空的。

  6. 路由表

    用于记录路由信息的重要表项,决定了IP报文的转发出接口。策略路由也在查路由这个环节处理。

  7. 认证策略

    1. 事前认证
    2. 会话认证
    3. 免认证
    4. AD单点登录
  8. 用户首包处理(重定向)

    对于需要认证的用户,设备会重定向该用户的HTTP请求,向其推送网页形式的认证页面,要求用户输入用户名和密码。

  9. 安全策略

    普通的安全策略,不涉及内容安全检测
    匹配条件:源目ZONE 源目地址/地区 用户 应用 服务 时间段

    动作: 允许 禁用

  10. 源NAT策略匹配

    只是做源地址的转换映射的匹配,不做具体的转换。

  11. 连接会话数限制

    超过会话的条目,肯定创建不了会话的

Server-map:

用于服务器映射、负载均衡和多通道协议转发的重要表项。如果首包匹配Server-map,FW根据Server-map对报文进行转发或地址转换。Server-map分为静态Server-map和动态Server-map:

  • 服务器映射、负载均衡、NAT64生成的静态表项:FW根据Server-map中的地址映射关系在首包创建的会话中记录修改后的目的IP和端口信息。
  • ASPF、NAT No-PAT、NAT Full-cone、DS-Lite服务器映射等生成的动态表项:FW根据Server-map的信息转发报文并生成会话,而且不对此报文进行安全策略检查。

会话后:

会话后

图:会话后报文转发流程图

这个阶段的主要目的是对流量进行持续的安全防护,同时保证报文被正确发送。

会话后的报文转发步骤:

  1. 带宽策略:根据带宽策略,FW会判断一下当前流量的带宽占用情况,以判断是否需要丢弃这个报文以降低流量速率。

  2. 安全策略里面的内容安全(UTM)

    反病毒 IPS URL过滤 文件过滤 内容过滤 应用过滤 邮件过滤

  3. 源NAT:根据会话表中的地址转换信息修改报文中的源地址或目的地址。

  4. VPN:根据VPN配置,FW会判断该报文是否需要进入VPN隧道,进入哪条隧道,并且对需要通过VPN传输的报文进行必要的加密,封装等操作。

  5. 出接口的阈值:根据出接口配置的带宽阈值限制,FW会再次控制流量的速率。


参考资料:华为HedEx文档


坚持原创技术分享,您的支持将鼓励我继续创作!