当前位置: 首页 > news >正文

学习日志8.10--防火墙ASPF

防火墙ASPF多通道协议的实验拓扑
将客户端配置成FTPclient,将服务器配置成FTPserver。

上节只是简单学习了ASPF多通道协议的原理及运用,这节学习ASPF在防护墙上的运用。

在交换机的g0/0/2口进行抓包,在客户端的交互模式下选择PASV被动模式,然后登入

在流量数据进入防火墙后匹配好安全策略,就会生成会话表,查看防火墙的会话表信息有ftp的会话条目,这是建立控制通道的连接,控制通道端口是2061到21;ftp-data会话条目是建立数据通道的连接,数据通道控制端口是2062到2054。这是控制通道的建立,TCP三次握手建立连接,端口是2061到21,和防火墙的会话表匹配,回包数据能通。建立连接后开始协商控制,确定用户名、确定密码、客户端申请使用为PASV模式在被动模式下,服务器给的端口是2054。
然后就进入数据通道的建立,三次TCP握手建立成功。进行数据传输,端口是2062(随机)到2054(协商控制服务器提供的)。端口2062到2054和防火墙会话表匹配一致,数据可以通过。

现在通过使用主动模式看数据的情况,在使用测试主动模式之前,需要输这条命令使实验现象明显。
命令:[FW01]undo firewall detect ftp,关闭防火墙检查ftp流量
然后继续实验。在登入之后,不能获取到服务器的文件,说明通信连接失败。

我们来看防火墙的会话表创建了一个ftp的会话,端口是2071到21,但是没有创建ftp-data的会话,说明只创建了控制通道没有创建数据通道。
从数据包中可以看到正常的TCP三次握手端口是2071(随机)到21(默认),控制通道建立后就进行协商控制,确定用户名、确定密码、由客户端向服务器申请使用主动连接PORT模式,并告诉服务器主动连接客户端的端口是2072。

然后进行数据通道的建立,因为是主动模式,需要服务器主动访问客户端,服务器主动发送TCP的ACK请求

但是数据通道只有服务器主动向客户端的TCP的ACK申请请求,端口是服务器的21到客户端的        2071,没有客户端的回复。然后服务器又给客户端发送一个Response说不能打开数据连接,IP地址是192.168.1.2,端口号是2072​​​​​​​,这就造成无法建立数据通道,就不能进行数据的转发处理。

这是因为在防火墙的会话表里面没有匹配数据通道的会话,而且防火墙没有配置从untrust到trust的安全策略,在默认的安全策略下是拒绝的,所以拒绝untrust安全区域内的数据主动访问trust安全区域的网络,这样数据通道就无法建立,主机和服务器之间就无法进行互相访问。

为了解决这个问题,就要使用防火墙的ASPF特殊应用层的包过滤,他可以识别应用层的流量。在防火墙中开启了ASPF后,防火墙可以分析对应的应用层流量。可以检测ftp、dns、icp等的应用层流量。
以ftp为例,防火墙开启防火墙检测ftp之后,防火墙会检测这个数据包这是客户端主动给服务器发的数据包,说你服务器后面可以主动访问我的客户端的2072端口,我的IP地址是192.168.1.2。在防火墙检测到这个数据包之后,ASPF就会创建一个ASPF的server-map表,server-map表的优先级比安全策略高比会话表高。
命令:[FW01]display firewall server-map,查看防火墙server-map表

在防火墙默认是开启ASPF的功能,所以在实验之前把这个检测ftp的功能关闭了,才能使实验现象明显。
命令:[FW01]undo firewall detect ftp,关闭防火墙检测ftp流量的功能
命令:[FW01]firewall detect ftp,打开防火墙检测ftp的功能

开启之后重新用客户端以主动模式去获取服务器的服务

查看数据包,有完整的交互过程​​​​​​​建立控制通道的连接​​​​​​​客户端告诉服务器用户名和密码,进行登入认证,客户端申请为主动模式​​​​​​​客户端高数服务器,用主动模式连接,让服务器主动访问客户端,告诉服务器主动访问客户端的端口是2084。​​​​​​​然后是服务器主动发起数据通道的建立,端口是从服务器的20到客户端的2084​​​​​​​开始进行数据传输是由服务器传给客户端的FTP-DATA​​​​​​​关闭数据通道​​​​​​​关闭控制通道

查看防火墙的会话表新添两条会话,从端口2083到21,和控制通道的端口一致,流量可以通过
正常来说,是不存ftp-data的会话,因为,主动从服务器向客户端通信被设置为拒绝,流量无法通过就不能生成会话表,但是防火墙有ASPF,防火墙可以分析应用层的流量,会生成server-map表查看防火墙的server-map表,允许192.168.2.2向192.168.1.2的流量通过,端口是2084
通过这个允许服务器的主动访问流量通过之后,防火墙的会话表生成ftp-data的会话从192.168.2.2向192.168.1.2发送,端口是20到2084,和数据包中的数据通道的端口一致。设备通过检测报文的应用层数据,自动获取相关信息并创建相应的会话表项,以保证应用的正常通信,这项功能称为ASPF,所创建的会话表项叫做是server-map表。最后还会通过server-map创建会话表。

ASPF应用流量监测可以在系统视图下,进行全区域的配置,也可以只在某一区域进行设置。
命令:[FW01-zone-trust]detect ftp,在防火墙的trust安全区域设置ftp的流量监测

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • Java毕业设计 基于SSM和Vue的酒店管理系统小程序
  • [Java]面向对象-static继承
  • Java设计模式(命令模式)
  • 今日Java练习:选择题挑战
  • 用OpenCV与MFC写一个简单易用的图像处理程序
  • 9.C基础_指针与数组
  • 【vue3|第21期】Vue3中Vue Router的push和replace方法详解
  • 服装行业QMS中的来料检验:常见问题解析与解决策略
  • 贪心算法总结(3)
  • 设计模式的概念及必要性
  • Synchronized 的底层原理——Java全栈知识(40)
  • Flink SQL 基础操作
  • 注解Spring @AliasFor使用笔记
  • 知识点——样本间独立性,传统表征学习,显式物理连接,隐含交互,噪声,类相关类无关
  • 从零开始的CPP(37)跳跃游戏,动态规划,贪心算法
  • [译]CSS 居中(Center)方法大合集
  • 30天自制操作系统-2
  • android 一些 utils
  • Django 博客开发教程 16 - 统计文章阅读量
  • Fabric架构演变之路
  • Linux gpio口使用方法
  • vue中实现单选
  • 关于extract.autodesk.io的一些说明
  • 讲清楚之javascript作用域
  • 思否第一天
  • 突破自己的技术思维
  • 学习笔记TF060:图像语音结合,看图说话
  • 一些css基础学习笔记
  • 以太坊客户端Geth命令参数详解
  • 测评:对于写作的人来说,Markdown是你最好的朋友 ...
  • 国内开源镜像站点
  • 昨天1024程序员节,我故意写了个死循环~
  • ​linux启动进程的方式
  • #13 yum、编译安装与sed命令的使用
  • #Linux(make工具和makefile文件以及makefile语法)
  • (M)unity2D敌人的创建、人物属性设置,遇敌掉血
  • (web自动化测试+python)1
  • (附源码)ssm基于jsp的在线点餐系统 毕业设计 111016
  • (附源码)计算机毕业设计ssm本地美食推荐平台
  • (每日一问)操作系统:常见的 Linux 指令详解
  • (免费领源码)python#django#mysql公交线路查询系统85021- 计算机毕业设计项目选题推荐
  • (一)python发送HTTP 请求的两种方式(get和post )
  • (一)RocketMQ初步认识
  • (转)创业家杂志:UCWEB天使第一步
  • .net mvc部分视图
  • .Net Remoting(分离服务程序实现) - Part.3
  • .NET 中 GetProcess 相关方法的性能
  • .NET/C# 编译期间能确定的相同字符串,在运行期间是相同的实例
  • .Net接口调试与案例
  • .net中我喜欢的两种验证码
  • .php结尾的域名,【php】php正则截取url中域名后的内容
  • .skip() 和 .only() 的使用
  • :中兴通讯为何成功
  • @Autowired注解的实现原理
  • @RequestBody与@ModelAttribute