FortiGate防火墙对数据包处理流程
1.流程图
2.防火墙对数据包处理过程的各步骤如下:
1)Interface(网卡接口)
网卡接口驱动负责接数收据包,并转交给下一过程。
2)DoS Sensor(DoS防御,默认关闭)
负责过滤SYN flood、UDP flood、ICMP flood等DoS攻击,并可针对源、目的IP的并发连接数进行限制。
3)IP integrity header checking(IP头完整性校验)
检查数据包头完整性。
4)IPSec(IPSec VPN解密,默认关闭)
如果是防火墙本身的IPSec VPN隧道中的数据包,将对其进行解密。
5)DNAT(目标地址NAT)
检查数据包中的目标IP地址,如果在 VIP(目标地址NAT)表中,则将其替换为映射后IP地址(真实IP地址)和端口。
6)Routing(路由)
本步骤根据数据包的目标IP地址确定该数据包的流出接口。
7)Stateful Inspection Engine(状态检测引擎)
状态检测引擎包含几个组件:
a、Policy lookup(策略查找)
在会话建立阶段,判断是否允许数据通过并建立会话状态,并根据UTM功能的开关决定数据包是否需要进入流检测引擎(Flow-based inspection engine)和代理检测引擎(Proxy-based inspection engine)。
b、Session track(会话跟踪)
维护会话表,跟踪会话状态、NAT和其它相关功能。会话建立之后的后续数据包不再进行策略匹配,直接根据会话状态转发。
c、User authentication(用户认证,默认关闭)
对用户身份进行认证,根据用户名和用户所在组选择防火墙策略。
d、Management traffic(管理流量)
与防火墙自身相关的流量处理,如Web、SSH管理,Syslog、SNMP通信等。
e、SSL VPN流量(默认关闭)
将SSL VPN流量解密,送至SSL VPN虚拟接口(通常为ssl.root),然后查找策略。
f、Session helpers(即ALG)
对FTP、SIP、Oracle等特殊应用进行处理,如动态开启策略、NAT,自动修改payload等,保证其正常通信。
8)Flow-based inspection engine(流检测引擎,默认关闭)
如果在防火墙策略中启用了防病毒、IPS、应用控制等流检测UTM功能,则会话后续数据包交由流检测引擎处理。
9)Proxy-based inspection engine(代理检测引擎,默认关闭)
如果在防火墙策略中启用了Web过滤、防病毒、反垃圾邮件、DLP等应用代理检测UTM功能,则会话后续数据包交由代理检测引擎处理。
10)IPSec(IPSec VPN加密,默认关闭)
如果会话匹配了IPSec VPN策略,此步骤将数据包加密封装
11)Source NAT(源地址NAT)
如果策略中启用了NAT,则将数据包的源IP地址和源端口替换为目标接口地址或IP池中的IP地址(通常为公网IP地址)。
12)Routing(路由)
最后一个路由步骤,确定数据包的流出接口,由路由引擎转发数据包。
13)Egress(流出)
由流出接口网卡将数据包发出防火墙。
FortiGate防火墙对数据包处理流程的更多相关文章
- Linux内核二层数据包接收流程
本文主要讲解了Linux内核二层数据包接收流程,使用的内核的版本是2.6.32.27 为了方便理解,本文采用整体流程图加伪代码的方式从内核高层面上梳理了二层数据包接收的流程,希望可以对大家有所帮助.阅 ...
- Linux内核网络数据包处理流程
Linux内核网络数据包处理流程 from kernel-4.9: 0. Linux内核网络数据包处理流程 - 网络硬件 网卡工作在物理层和数据链路层,主要由PHY/MAC芯片.Tx/Rx FIFO. ...
- linux 内核网络数据包接收流程
转:https://segmentfault.com/a/1190000008836467 本文将介绍在Linux系统中,数据包是如何一步一步从网卡传到进程手中的. 如果英文没有问题,强烈建议阅读后面 ...
- linux内核数据包转发流程(三)网卡帧接收分析
[版权声明:转载请保留出处:blog.csdn.net/gentleliu.邮箱:shallnew*163.com] 每一个cpu都有队列来处理接收到的帧,都有其数据结构来处理入口和出口流量,因此,不 ...
- linux内核数据包转发流程(二):中断
[版权声明:转载请保留出处:blog.csdn.net/gentleliu.邮箱:shallnew*163.com] 内核在处理2层数据包之前,必须先处理中断系统.设立中断系统,才有可能每秒处理成千的 ...
- linux内核数据包转发流程(一):网络设备驱动
[版权声明:转载请保留出处:blog.csdn.net/gentleliu.邮箱:shallnew*163.com] 网卡驱动为每一个新的接口在一个全局的网络设备列表里插入一个数据结构.每一个接口由一 ...
- 数据包从物理网卡流经 Open vSwitch 进入 OpenStack 云主机的流程
目录 文章目录 目录 前言 数据包从物理网卡进入虚拟机的流程 物理网卡处理 如何将网卡收到的数据写入到内核内存? 中断下半部分软中断处理 数据包在内核态 OvS Bridge(Datapath)中的处 ...
- Linux数据包路由原理、Iptables/netfilter入门学习
相关学习资料 https://www.frozentux.net/iptables-tutorial/cn/iptables-tutorial-cn-1.1.19.html http://zh.wik ...
- 数据包接收系列 — NAPI的原理和实现
本文主要内容:简单分析NAPI的原理和实现. 内核版本:2.6.37 Author:zhangskd @ csdn 概述 NAPI是linux新的网卡数据处理API,据说是由于找不到更好的名字,所以就 ...
随机推荐
- LeetCode - Online Election
In an election, the i-th vote was cast for persons[i] at time times[i]. Now, we would like to implem ...
- 支持Oracle的模糊查询和精准查询
相信所有的软件开发者都做过页面上的查询功能,而且很多都需要既支持模糊查询的,也需要支持精准查询的,而且不需要增加多余的功能,只需要在文本框中输入包含类似*之类的符号即可. 下面的方法就是通过*来判断到 ...
- spring中使用@PostConstruct和@PreConstruct注解
1.@PostConstruct说明 被@PostConstruct修饰的方法会在服务器加载Servlet的时候运行,并且只会被服务器调用一次,类似于Serclet的inti()方法.被@PostCo ...
- 右击菜单一键优化(增加新建office2003、新建reg和bat,删除新建公文包、新建wps、新建rar)
右击菜单一键优化(增加新建office2003.新建reg和bat,删除新建公文包.新建wps.新建rar) Windows Registry Editor Version 5.00 [HKEY_CL ...
- 从Tomcat的处理web请求分析Java的内存模型
Tomcat作为一个java应用,同样是有主线程和子线程的.主线使用while(true)的方式一直循环,等待客户端来连接.一个客户端来了之后,就从线程池中拿一个线程来处理请求,如果没有配置线程池,就 ...
- 知识点:SQL中char、varchar、text区别
Char为定长,varchar,text为变长. 1.CHAR.CHAR存储定长数据很方便,CHAR字段上的索引效率级高,比如定义char(10),那么不论你存储的数据是否达到了10个字节,都要占去1 ...
- 03-封装BeanUtil工具类(javabean转map和map转javabean对象)
package com.oa.test; import java.beans.BeanInfo; import java.beans.IntrospectionException; import ja ...
- WordPress版微信小程序2.1.8版发布
近来的工作比较多,同时也在思考这个项目未来的发展方向,尽管不断有新的wordpress站长,利用我的开源程序搭建了微信小程序,但个人对这个项目的热情日渐减少,促使我不断完善和维护这个开源项目的动力也再 ...
- css变换与动画详解
举个栗子:--------元素整体居中.box{ position:absolute;top:50%;left:50%; width:50px; height:50px; t ...
- gentoo freemind 安装设置
安装 freemind 之后,感觉菜单上面的字体比较模糊,通过设置 tools --> preference 中的 defaults --> default fonts 里面 的 defa ...