答题思路:总体分为三个阶段:
1、查询会话前的基本处理
2、查询会话表中
3、对通过安全检测后的流量进行正确的转发
1、查询会话前的基本处理
接受报文 ----------MAC过滤------解析帧头部--------(二层--VLAN)/三层------解析IP头部---------IP/MAC绑定---入接口带宽阈值 -----单包***
2、查询会话表中
没有会话表 据首包创建会话
(1).状态检测
A.必须开启状态检测
配置TCP代理方式的SYN FLood***防范、TCP全连接***防范时,针对SMTP和POP3协议的邮件过滤/反病毒/内容过滤功能 如果不开启状态检测的话 这些功能都没有用
1. 针对TCP ICMP首包建立会话
SYN SYN+ACK ACK
echo-request echo-reply
2.特殊报文---不会创建会话
- OSPF RIP和ISIS路由协议报文不会创建会话(组播的)
- IGMP报文不会创建会话
- IP Protocol字段没有值报文也不会创建会话
- 二层模式下目的MAC为Unkown MAC而需要再VLAN内广播的报文不会创建会话
B.关闭状态检测
Lab当中来回路径不一致的的时候 (SACG的场景)---必须关闭状态检测
(2),黑名单:针对IP和用户的快速过滤
类型:用户黑名单 源IP黑名单,目标IP黑名单
黑名单创建:手动和自动
手动创建:管理员自己创建
自动创建:自动创建黑名单的场景
登录失败 10分钟(缺省时间)
***防范 20分钟
***防御 IPS 不固定
***检测 IDS 大于10分钟的默认10分钟
非法访问 20分钟
(3) SERVER-MAP(重点说)
作用:
1、可以为某些协议 比如FTP协议 在主动模式下 通过ASPF技术产生动态的server-map表象 让数据平面能够顺利的将数据进行转发
2、针对NAT的某些场景:比如no-pat、NAT-Server、SLB
产生的场景:
1.配置ASPF后,转发FTP、RTSP等多通道协议时生成的四元组Server-map表项
2.配置ASPF后,转发QQ/MSN、等STUN类型协议时生成的三元组Server-map表项
3.配置NAT服务器映射时生成的静态Server-map
4.配置SLB生成静态Server-map
5.配置NAT No-PAT时生成的动态Server-map
小结:
前两种情况和第五种情况下是只在有流量的情况才会触发产生server-map表,有老化时间。
第三种情况和第四种情况在配置好NAT-SERVER和SLB的时候后就产生静态的server-map,只有删除nat-server或者SLB,server-map才会被删除,没有老化时间
(4) 服务器映射-----------真正把目的地址做转换
查看数据包有没有对应的服务器映射,数据包要先将访问的目的地址转换后才能进一步查路由表 安全策略匹配的话 是匹配转换后的地址 server-map对于nat来说 永远只能做匹配 不能做转换
(5)在线用户表
在线用户:
A.首先需要经过NGFW的认证,目的是识别这个用户当前在使用哪个IP地址
B.NGFW还会检查用户的属性(用户状态、帐号过期时间、IP/MAC地址绑定、是否允许多人同时使用该帐号登录),只有认证和用户属性检查都通过的用户,该用户才能上线
NGFW上的在线用户表记录了用户和该用户当前所使用的地址的对应关系,对用户实施策略,也就是对该用户对应的IP地址实施策略。
用户上线后,如果在在线用户超时时间内(缺省30分钟)没有发起业务流量,则该用户对应的在线用户监控表项将被删除。当该用户下次再发起业务访问时,需要重新进行认证。
(6)应用关联表
应用识别
获取流量的用户和应用信息通常不能根据分析一个报文完成。为了获取这条流量的多个业务报文,将首先根据认证策略,向需要认证但是尚未登录的用户进行网页重定向,向其推送认证页面,以获取其用户信息。在用户认证通过后,FW将根据用户实际传输的多个报文分析出该条流量的应用类型,在这个分析过程中,FW会先根据首包建立一条会话,其中的应用信息保留为空。直至分析完成后再刷新会话表项填入应用信息
此时这条流量所能匹配的策略就可能发生变化,FW对其的处理方式也会随之改变
应用关联表
系统识别出某一应用后,会在系统内部生成应用识别关联表,该应用的后续报文命中应用识别关联表后不再进行应用识别操作,直接按照该应用对应的策略进行转发,提高了应用识别的效率 (用于记录当前流量的应用信息的重要表项)
<sysname> display protocol-identify all
Total: 1
-------------------------------------------------------------------------------
ID SERVER PORT SERVICE ***-Instance TTL Left-Time
1 10.2.2.2 5555 HTTP aaa 3600 00:02:30
---------------------------------------------------------------------------------
(7)路由表
NGFW根据该报文的目的地址查询路由表,获取出接口信息
(8)认证策略
NGFW获取到流量的源和目以及安全区域信息的信息后决定是否要求对该条流量进行认证,以获取用户信息
在用户管理与认证技术中配置认证策略,此项要配置了才检查,有认证的策略情况下,此项只是匹配认证策略,下一阶段“用户首包处理”才进行认证
(9)用户首包处理
对于需要认证的用户,设备会重定向该用户的http请求,向其推送网页形式的认证页面,请求用户输入用户名和密码做认证
(10)安全策略
用户认证通过后,NGFW根据之前提取的流量源和目的信息,加上通过认证获取到的用户信息,对流量进行安全策略匹配。如果匹配成功,首先会根据策略动作是“允许”还是“禁止”决定是放行首包建立会话,还是丢弃首包禁止流量。如果动作为“允许”,那么NGFW会根据安全策略引用的内容安全配置文件对该条流量进行标记,在下一阶段将会进行内容安全的处理
(11) 源NAT策略匹配
在此处只是匹配了源NAT策略,但是没有做源NAT真真做源地址转换
(12) 会话连接数阈值限制
如果此时会话数尚未达到管理员配置的连接数限制阈值,NGFW就会通过上述检测的首包建立会话。首包本身将继续进入后续的转发模块处理,而这条流量的后续报文将进入“存在匹配的会话表项”这个流程处理
(13) 创建会话
有会话处理
(1) 在线用户刷新
后续报文首先会触发在线用户表的刷新,以保持有流量的用户持续在线
首包建立过程也可能会刷新在线用户列表,这种情况出现在:用户在线,在线用户列表还未超时消失,但没有传数据,突然又重新传数据,那么这个数据的第一个包被状态检测出来为首包走首包建立会话的流程,到“在线用户列表”这一阶段刷新用户列表
(2)基于流***防范
例如DDoS***,来的第一个包(首包)看不出有什么问题,建立了会话,结果后续数据流变成1s来几千个包,便会定义为DDoS***,然后给予防范动作
(3)状态检测
由于NGFW认为“首包安全并不代表后续报文一定安全”,所以NGFW实现的是对一条流量持续不断的安全检测。这第二个状态检测是在这个持续检测中,应用信息识别、用户上下线、内容安全功能检测出流量携带***或病毒等安全风险(首包没有病毒,后续报文突然包含病毒会触发该项)、管理员配置变更(例如修改安全策略中的源目的IP等)多种情况都有可能导致会话表项刷新。所以一但会话表项被刷新过,NGFW就会对该条流量的报文重新进行一些检查和处理
(4)会话刷新
1) 应用识别
2) 内容安全功能检测查询到你后续包有带病毒或者***会刷新
3) 配置变更(策略、路由)
4) 用户上下线也会被刷新
如果没有会话刷新就行执行5,如果有会话刷新就执行 56789
(5) 服务器负载均衡(SLB)
同一目的地址的报文将根据带宽情况被分配到不同的物理服务器上处理,所以在后续报文处理中,判断转发出接口还需要考虑服务器负载均衡的配置
(6)路由表
(7)安全策略
(8)黑名单
(9)重定向
3、对通过安全检测后的流量进行正确的转发
(1) 带宽策略
根据带宽策略,NGFW会判断一下当前流量的带宽占用情况,以判断是否需要丢弃这个报文以降低流量速率
(2)内容安全(UTM)
根据安全策略中引用的内容安全配置文件,NGFW会对报文进行内容安全过滤。所以针对安全策略一定是permit的才会产生会话进而到此处做内容安全过滤处理
包含各模块的处理流程是怎样?
应用行为控制、***防御、反病毒、URL过滤、文件过滤、内容过滤、邮件过滤在NGFW中是并行处理的
(3)目的NAT处理-----真真转换目的地址
(4)源NAT处理 ------真真转换源地址
根据源NAT策略,NGFW会对报文的源IP地址进行真真的IP地址转换
(5)***
根据***配置,NGFW会判断该报文是否需要进入***隧道,进入哪条隧道,如果来的是***报文,***封装的是有外层IP报文头的,然后进行解封装,将内层数据包要重走一遍“第一、二、三阶段”,对通过的***报文最后进行必要的加密,封装等操作传输
(6)出接口阈值
根据之前的MAC地址转发表或者路由表查询的结果,NGFW已经得知该报文的出接口。根据出接口配置的带宽阈值限制,NGFW会再次控制流量的速率,如果当前流量带宽已经超过了阈值,出接口就会将超出的报文进行丢弃
(7)发送报文
来源:oschina
链接:https://my.oschina.net/u/4302631/blog/4517021