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,据说是由于找不到更好的名字,所以就 ...
随机推荐
- #考研笔记#计算机之PPT问题
PPT1. 幻灯片母版.版式.模板之间的联系与区别?见下 12 2. 占位符的意义用于幻灯片上,就表现为一个虚框,虚框内部往往有“单击此处添加标题”之类的提示语,一旦鼠标点击之后,提示语会自动消失.当 ...
- 学习Unity -- 理解依赖注入(IOC)三种方式依赖注入
IOC:英文全称:Inversion of Control,中文名称:控制反转,它还有个名字叫依赖注入(Dependency Injection).作用:将各层的对象以松耦合的方式组织在一起,解耦,各 ...
- 我发起并创立了一个 C 语言编译器 开源项目 InnerC
本文是 VMBC / D# 项目 的 系列文章, 有关 VMBC / D# , 见 <我发起并创立了一个 VMBC 的 子项目 D#>(以下简称 <D#>) https: ...
- Spring Cloud(Dalston.SR5)--Zuul 网关-Hystrix 回退
当我们对网关进行配置让其调用集群的服务时,将会执行 Ribbon 路由过滤器,该过滤器在进行转发时会封装为一个 Hystrix 命令予以执行,Hystrix 命令具有容错的功能,如果"源服务 ...
- Flask--(登录注册)抽取视图函数
视图函数抽取: 在info目录下准备视图业务模块包:modules 在modules中添加首页模块包index 在index包的__init__中导入蓝图 在index的__init__创建蓝图 在i ...
- Python NLP完整项目实战教程(1)
一.前言 打算写一个系列的关于自然语言处理技术的文章<Python NLP完整项目实战>,本文算是系列文章的起始篇,为了能够有效集合实际应用场景,避免为了学习而学习,考虑结合一个具体的项目 ...
- 【剑指offer】链表第一个公共子结点
*思路: 先求得两个链表的长度,然后得到长度差diff,再先遍历长链表diff步后,再同时遍历两个链表并比较对象指针. /* public class ListNode { int val; List ...
- sas 获取数据集观测数量
DATA _NULL_;SET SASHELP.CLASS NOBS=N;CALL SYMPUTX('N',N);STOP;RUN; %PUT N=&N.; 运行结果: 57 DATA _NU ...
- 转:细说ASP.NET Windows身份认证
转自:https://www.cnblogs.com/fish-li/archive/2012/05/07/2486840.html 细说ASP.NET Windows身份认证 阅读目录 开始 认识A ...
- kubernetes学习笔记之十二:资源指标API及自定义指标API
第一章.前言 以前是用heapster来收集资源指标才能看,现在heapster要废弃了从1.8以后引入了资源api指标监视 资源指标:metrics-server(核心指标) 自定义指标:prome ...