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,据说是由于找不到更好的名字,所以就 ...
随机推荐
- hibernate一级缓存和快照
摘自网络: Hibernate中的一级缓存的底层是以Map形式存在的,key是主键,value是对象,所以它的泛型为Map<Serializable,Object>,key的泛型为串行化是 ...
- stylelint 安装配置
1.安装 stylelint: npm i stylelint -g npm i stylelint stylelint-config-standard --save-dev 2.在 scripts ...
- Java_初入IO流_字符流_Write-Read_小笔记
package IO; import java.io.FileWriter; import java.io.IOException; class File_Writer { public static ...
- Makefile中的ifeq 多条件使用
Makefile中的ifeq 多条件使用 网上关于makefile中ifeq的介绍已经很多了,为什么我还要在写这篇文章,因为他们只说了if else两种条件的情况,并没有讲多于两种条件情况的使用. 多 ...
- 配置jboss为windows服务
先确保jdk和jboss的环境变量是正常可用的 1.(下载binaries 2.x.x-windows x86)找到service.bat和jbosssvc.exe两个文件 1.1 binaries ...
- msvcp140.dll丢失解决方案
[首先给出99%情况下都能解决这个问题的最简单办法]: 下载并安装微软VC++2015版运行库 (英文全称:Microsoft Visual C++ 2015 Redistributable Pa ...
- 【ELK】之Centos6.9_x64安装elasticsearch6.2.1
1.下载elasticsearch6.2.1 wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.2.1 ...
- TCP TIME_WAIT过多的解决方法
总结: 最合适的解决方案是增加更多的四元组数目,比如,服务器监听端口,或服务器IP,让服务器能容纳足够多的TIME-WAIT状态连接.在我们常见的互联网架构中(NGINX反代跟NGINX,NGINX跟 ...
- alertjs Documentation
原文地址:https://github.com/PaulNieuwelaar/alertjs/wiki/Documentation#alertshow For version 3.0 document ...
- 涂抹mysql笔记-数据导出导入
数据导出导入<>利用CSV存储引擎加载数据:CSV存储引擎基于CSV格式文件存储数据,CSV格式是纯文本格式的文件,以逗号分隔取值.CSV引擎表的所有列值不能为空.Excel可以直接打开有 ...