防火墙的转发原理可以大概分为3个阶段:
第1阶段,可以看成是一台交换机设备的处理流程,接受报文,做一些简单的防护,防ping,白名单,2-3层报文的解封装
第2阶段是设备的核心处理环节,主要包括会话建立、会话刷新等过程。设备根据该报文是否存在匹配的会话表项,有以下两种处理方式:这是包状态防火墙的关键核心之处,重点。
图中可以看到第2阶段流程为2大方向,首包报文跟后续报文处理方式不同,重点在于首包的检测流程,往下层数层层匹配。
在设备状态检测环节,首包,回报必须完整,比如TCP流量得先有请求,不能直接是回应报文,如果不完整会被直接拒绝,这就是来回不一致防火墙不通的问题
黑名单很好理解,在黑名单里面直接丢弃
server-map是一个公网服务器端口映射表项,如果匹配这张表那么公网主动过来的请求报文就将放通,并将目的地址修改为表中私网地址
其后,到达查表这个阶段其本质作用就是看目的地址在哪个接口,进而确定在哪个区域为下一阶段匹配安全策略匹配出源目区域
安全策略这一步应该不用分析吧?就是自定义一些允许,或者拒绝访问的规则,如果匹配是允许,那么我们还有的往下聊,如果是拒绝那就下班。
如果安全策略是允许,那么就到了源目IP地址转换策略,也是根据需要自定义规则去转换源目IP
连接数限制,也算一个保护,这里需要注意下,链接数大了不管是路由器,还是防火墙都会有上不了网的情况,一般是设备中毒了
创建会话后表明这个防火墙的状态检测已经通过,将会交给发送模块,第3阶段处理
第3阶段简单说其实就是封装发送报文外,多了防火墙的高级安全特性,比如入侵检测,防病毒,应用过滤之类的。这个阶段要特别注意,这IPSEC-VPN跟GRE-VPN的发送处理也是在这个第3阶段完成的。也就是说上面的所有流程都允许通过,NAT转换完后流量才会从第3阶段发送。这样就能理解你的VPN在建立通道成功后,为什么2段网端不能通讯,那么就好好分析上面的处理模块,是不是被拒绝了,或者IP 被转换了导致数据流没有从vpn出去
为了看这篇文章的有缘人更好理解,分析一下报文处理流程:
假设你从家里Ping公司电脑:防火墙上有做端口映射
报文到达防火墙第一阶段,经过简单解封装没问题会到达第2阶段
报文到达防火墙后,ICMP的请求报文为首包,需要被一系列检测。不在黑名单之内,那么允许往下走,在server-map表项存在映射,目的地址会被转换成表中的公司电脑地址,为什么会有这个表项?前面配置了端口映射么,这个就是这个表,当然这个表不止是配置端口映射会 生成,这里解释起来比较废,没碰到这种情况当不知道吧,有兴趣可以详细查资料
有了目的地址后查询路由表判定到目的安全区域,匹配到规则为any-any允许通过,
在到源NAT表项,为空,那么就不转换,外网访问内网一般不准换,特殊情况除外,这里不考虑特殊
连接数限制一般也不会去做,也没有中病毒,那么报文直接允许,这个会话创建成功,交由第3阶段,进行安全杀毒,反入侵检测,然后最后经由3-2层封装报文,到达PC
到达PC后是单向通讯,报文需要回包,回报的时候流程在走一遍。这里有个问题,你觉得回包的时候,状态检测会认为这个是首包处理,还是后续包处理呢?想明白为什么吗?另外大家看废了嘛?
| 留言与评论(共有 0 条评论) “” |