防火墙工作原理和详解会话表

防火墙工作原理

防火墙工作原理:

本质上是查看会话表。

报文到达防火墙,先查看是否会有会话表匹配。

  1. 如果有会话表匹配,则匹配会话表转发。
  2. 如果没有匹配会话表,看是否能够创建会话表。

前提是必须是首包才能创建会话表。

A.先匹配路由表。B.再匹配安全策略。

《防火墙工作原理和详解会话表》

TCP: SYN ———首包
​ SYN+ACK
​ ACK

ICMP echo-request—-首包
​ echo-reply

UDP没有首包概念

状态检测机制:

  • 状态尖刺机制开启的情况下,只有首包通过设备才能建立会话表,后续包直接匹配会话表项进行转发。
  • 状态监测机制关闭的情况下,即使首包没有经过防火墙,后续包只要通过防火墙也可以生成会话表项。

开启命令:firewall session link-state check ——-默认就开启

关闭状态检测的命令:undo firewall session link-state check tcp/icmp

首包建立会话——-使用状态检测。

状态检测主要针对TCP和ICMP报文

什么情况需要关闭状态检测:

  1. (场景)来回路径不一致的情况 (SACG)。

详解会话表

查看会话表:

查看会话简要信息

[FW1]display firewall session table  ---------------查看会话表简要信息
 Current Total Sessions : 5
  https  VPN:public --> public 192.168.0.100:49363-->192.168.0.10:8443
  协议    虚拟防火墙有作用         源地址:源端口 目标地址:目标端口
  https  VPN:public --> public 192.168.0.100:49350-->192.168.0.10:8443
  tcp  VPN:public --> public 10.1.1.1:49395-->192.168.1.100:17889
  ftp-data  VPN:public --> public 192.168.1.1:20-->10.1.1.1:49396
  ftp  VPN:public --> public 10.1.1.1:49393+->192.168.1.1:21

筛选会话:

[FW1]display firewall session table servic ftp ---------筛选会话
 Current Total Sessions : 1
  ftp  VPN:public --> public 10.1.1.1:49393+->192.168.1.1:21

查看会话表详细信息:

[FW1]display firewall session table  verbose  --------------------查看会话详细信息
  
   ftp/协议        VPN:public --> public/虚拟防火墙有作用          ID: a58f362c468281b1855c0cfa4b /唯一的会话
                         
  Zone: trust--> dmz/安全区域              TTL: 00:20:00/ 老化时间          Left: 00:19:02/剩余时间
                                            
  Output-interface: GigabitEthernet0/0/2 /出接口    NextHop: 192.168.1.1/下一跳  MAC: 00-50-56-9e-ea-06/下一跳MAC
                                                                   <--packets:0 bytes:0/ 反向流量          -->packets:24 bytes:1180/正向流量
                                                

  10.1.1.1:49393+->192.168.1.1:21/源地址   源端口         目标地址 目标端口                  PolicyName: trust_dmz /匹配策略
                

+-> ---------代表开启ASPF功能

--> 无意义,正常报文


  icmp  VPN:public --> public  ID: a58f362c6bca01d8e15c0d2721
  Zone: trust--> dmz  TTL: 00:00:20  Left: 00:00:19  
  Output-interface: GigabitEthernet0/0/2  NextHop: 192.168.1.1  MAC: 00-50-56-9e-ea-06
  <--packets:4 bytes:240   -->packets:4 bytes:240
  10.1.1.1:1-->192.168.1.1:2048     PolicyName: trust_dmz


 10.1.1.1  :1-->192.168.1.1  :2048
                源端口                    目的端口

详细会话表中有 13项参数。

  1. 协议,指明会话的协议

  2. VPN,在虚拟防火墙中使用

  3. ID,标志唯一的会话

  4. ZONE(区域),指明流量的区域走向。

  5. TTL,会话的老化时间。

  6. Left:会话剩余时间

  7. output-interface:出接口

  8. nextHop:下一跳

  9. MAC:mac地址,

    MAC地址为全0的情况:

    1. 到达防火墙的接口
    2. 虚拟防火墙的MAC也是全0
    3. 当ARP请求失败的时候
  10. 反向流量统计

  11. 正向流量统计

  12. 五元组,源地址:源端口–>目的地址:目的端口

    注意:ICMP的端口计算方法:

    ICMP报文中的Identifier字段16进制转换为10进制,作为源端口

    将Type字段和Code字段的值做与运算,作为目的端口。

    例如:Type=8,Code =0;则目标端口=1000 0000 0000 & 0 = 2048

    ICMP带端口的原因:因为ICMP需要做状态检测,所有需要五元组。ICMP端口无实际意义。

    端口号为0的情况:

    当流量为OSPF,ESP,AH等协议时,端口为0.

  13. PolicyName:匹配的策略名称

老化时间(TTL)的问题:

各协议会话默认老化时间:

协议老化时间协议
20sicmp
30sdns
120s 2minqq/tftp/l2tp/udp/rip/ntp/snmp/syslog/h323
240s 4minftp-data/GRE/AH
600s 10minSIP/HTTPS/ESP
1200s 20minHTTP/FTP/Telnet/SMTP/sqlnet/ssh/tcp/pop3/BGP
14400s 4hourssqlnet-data

总结:

TCP 20min SYN 5s SYN+ACK 5s ACK 20Min frist-fin 900s finrst 5s

UDP 2min

ICMP 20s

注意:在网管防火墙流量时,当web在线时,https老化10min,当关闭web时,显示https老化时间10s。

即:HTTPS(有流量)—-10min(TTL)

HTTPS(无流量)—–10s

什么情况会话表会老化:

  1. 老化时间到了
  2. 检测到有病毒的时候,会话表立刻老化,并且加入黑名单
  3. 发送FIN,第一次收到(frist-fin),老化时间变为900s(默认),第二次收到fin(finrst ),老化时间变为10s。

老化时间的修改:

  • 知名协议修改老化时间[FW1]firewall session aging-time service-set http 2000·—-注意单位是S

  • 非知名协议修改时间
    第一步:自定义协议
    ip service-set abc type object
    service 0 protocol 200
    firewall session aging-time service-set abc 200

会话时间存在的问题:

  1. 下载过大的FTP文件,会出现中断。
  2. 访问数据库,操作的时间大于TCP的老化时间。

解决方案:

长会话:默认老化时间168小时。 注意:只针对TCP。

长会话的默认会话时间可以修改。

[FW1]display firewall  long-link aging-time  
 Long-link aging-time is 168 hours
修改长会话的默认时间
firewall long-link  aging-time 20

配置长回话步骤:

  1. 配置ACL定义协议

    acl number 3000 rule 5 permit tcp source 10.1.1.0 0.0.0.255 destination 192.168.1.0 0.0.0.255 destination-port eq ftp

  2. 调用ACL

    interzone trust dmz long-link 3000 inbound

参考文档:华为HedEx文档

    原文作者:曹世宏的博客
    原文地址: https://blog.csdn.net/qq_38265137/article/details/88548511
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞