ASA对FTP的审查抓包测试

本文涉及的产品
云防火墙,500元 1000GB
简介:
一.概述:
听了yeslab的秦珂老师的ASA视频,说PAT时,FTP服务器在Outside,FTP客户端在Inside,这种情况主动FTP能正常工作是因为:ftp审查可以使得穿越PAT时FTP能正常工作(修改了FTP应用层的数据),并且使得FTP主动模式下从Outside主动向Inside发起的包能够顺利通过防火墙。因为在路由器上配置PAT,FTP也能正常工作,因此打算测试一下,到底是FTP审查使得PAT能正常工作,还是ASA自身的PAT就能使得PAT能正常工作。

二.测试思路及结论:
A.关闭ASA的FTP审查,确认FTP被动模式是否能正常工作
----能正常工作,FTP被动模式都由Inside的FTP客户端主动发起,防火墙不需要放行策略的FTP审查就能正常工作
B.关闭ASA的FTP审查,Inside路由器作为FTP客户端设置为主动模式,确认FTP主动模式是否能正常工作
----不能正常工作,通过抓包可以发现,Outside接口FTP服务器收到的FTP客户端的发送的FTP应用层的数据中IP没有被更改,FTP服务器主动去连接PAT之前的地址,导致连接无法建立
----进一步确认了老师讲课所说的是正确的
三.测试拓扑:
192528766.jpg
四.基本配置:
A.FTP服务器
ip:202.100.1.1/24
开启3CDamon,并配置FTP服务器
B.ASA842防火墙:
①接口配置
interface GigabitEthernet0
nameif Outside
security-level 0
ip address 202.100.1.10 255.255.255.0
no shut
interface GigabitEthernet1
nameif Inside
security-level 100
ip address 10.1.1.10 255.255.255.0
no shut、
②全局policy map修改:
----关闭FTP审查,并且启用icmp审查
policy-map global_policy
class inspection_default
no inspect ftp
inspect icmp
③PAT配置:
object network Inside_net
subnet 10.1.1.0 255.255.255.0
nat (inside,outside) dynamic interface
C.Inside路由器:
①接口配置:
interface Ethernet0/0
ip address 10.1.1.1 255.255.255.0
no shut
②默认路由配置:
ip route 0.0.0.0 0.0.0.0 10.1.1.10
③FTP用户名和密码配置:
ip ftp username xll
ip ftp password 1234qwer,
五.测试步骤:
A.关闭FTP审查后,被动FTP能正常工作
①被动FTP能正常传文件
Inside#copy ftp: flash:
Address or name of remote host [202.100.1.1]?
Source filename [202.100.1.1]? xx.txt
Destination filename [xx.txt]?
%Warning:There is a file already existing with this name
Do you want to over write? [confirm]
Accessing ftp://202.100.1.1/xx.txt...
Erase flash: before copying? [confirm]
Erasing the flash filesystem will remove all files! Continue? [confirm]
Erasing device... eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee ...erased
Erase of flash: complete
Loading xx.txt
[OK - 24/4096 bytes]

Verifying checksum... OK (0x8A8A)
24 bytes copied in 6.820 secs (4 bytes/sec)
Inside#
②Inside路由器接口抓包:
191757853.jpg

③Outside接口FTP服务器上面抓包:
191818797.jpg

B.关闭FTP审查后,主动FTP不能正常工作:
①Inside路由器设置FTP客户端为主动模式:
(config)#no ip ftp passive
②主动FTP无法正常工作:
Inside#copy ftp: flash:
Address or name of remote host [202.100.1.1]?
Source filename [202.100.1.1]? xx.txt
Destination filename [xx.txt]?
%Warning:There is a file already existing with this name
Do you want to over write? [confirm]
Accessing
ftp://202.100.1.1/xx.txt...
③Inside路由器接口抓包:
191841250.jpg

④Outside的FTP服务器抓包:
191857237.jpg
---从抓包中,确实可以看到,如果不开启FTP审查的话,ASA不会修改FTP应用层的IP地址,因为FTP服务器收到FTP客户端告诉给它的地址为内网PAT前的地址,导致FTP服务器无法连接。
C.开启FTP审查后,被动FTP能正常工作:
①ASA防火墙开启FTP审查:
policy-map global_policy
class inspection_default
inspect ftp
②被动FTP能正常工作:
Inside#copy ftp: flash:
Address or name of remote host []? 202.100.1.1
Source filename []? xx.txt
Destination filename [xx.txt]?
%Warning:There is a file already existing with this name
Do you want to over write? [confirm]
Accessing ftp://202.100.1.1/xx.txt...
Erase flash: before copying? [confirm]
Erasing the flash filesystem will remove all files! Continue? [confirm]
Erasing device... eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee ...erased
Erase of flash: complete
Loading xx.txt
[OK - 24/4096 bytes]

Verifying checksum... OK (0x8A8A)
24 bytes copied in 1.788 secs (13 bytes/sec)
③Inside路由器接口抓包:
191920267.jpg

④Outside的FTP服务器抓包:
191941908.jpg

----从抓包接口来看,确实因为开启FTP审查,ASA修改了FTP应用层的数据,将IP地址和端口进行了修改。



本文转自 碧云天 51CTO博客,原文链接:http://blog.51cto.com/333234/1304633,如需转载请自行联系原作者
相关文章
|
6月前
|
监控 测试技术
QA 如何审查测试过程?
QA 如何审查测试过程?
122 0
QA 如何审查测试过程?
|
6月前
|
测试技术 数据安全/隐私保护
通过抓包能否做好接口测试
通过抓包能否做好接口测试
56 0
|
1月前
|
自然语言处理 机器人 Python
ChatGPT使用学习:ChatPaper安装到测试详细教程(一文包会)
ChatPaper是一个基于文本生成技术的智能研究论文工具,能够根据用户输入进行智能回复和互动。它支持快速下载、阅读论文,并通过分析论文的关键信息帮助用户判断是否需要深入了解。用户可以通过命令行或网页界面操作,进行论文搜索、下载、总结等。
44 1
ChatGPT使用学习:ChatPaper安装到测试详细教程(一文包会)
|
3月前
|
测试技术 开发工具 Python
在Jetson Nano上编译 pyrealsense2库包,并在Intel的tof相机上进行测试
在Jetson Nano上编译 pyrealsense2库包,并在Intel的tof相机上进行测试
144 0
|
4月前
|
测试技术 数据安全/隐私保护 索引
基于SpringBoot+Vue大学生体质测试管理系统【源码+论文+演示视频+包运行成功】(2)
基于SpringBoot+Vue大学生体质测试管理系统【源码+论文+演示视频+包运行成功】
38 0
|
4月前
|
Java 关系型数据库 MySQL
基于SpringBoot+Vue大学生体质测试管理系统【源码+论文+演示视频+包运行成功】(1)
基于SpringBoot+Vue大学生体质测试管理系统【源码+论文+演示视频+包运行成功】
70 0
|
6月前
|
Android开发 数据安全/隐私保护 iOS开发
ios和安卓测试包发布网站http://fir.im的注册与常用功能
ios和安卓测试包发布网站http://fir.im的注册与常用功能
275 0
ios和安卓测试包发布网站http://fir.im的注册与常用功能
|
5月前
|
存储 网络安全 Android开发
接口测试:抓包工具证书配置
Charles 抓包工具配置指南:包括Charles的基础设置,证书安装(Mac和Windows),SSL代理设置,移动端(同一WIFI环境,启用透明HTTP代理)和模拟器的代理配置,以及iOS系统的代理与证书安装步骤。注意Android 6+及iPhone 10+的特殊信任设置。配置完成后,通过Charles进行网络请求监控。
|
6月前
|
安全 测试技术 Go
Golang深入浅出之-Go语言单元测试与基准测试:testing包详解
【4月更文挑战第27天】Go语言的`testing`包是单元测试和基准测试的核心,简化了测试流程并鼓励编写高质量测试代码。本文介绍了测试文件命名规范、常用断言方法,以及如何进行基准测试。同时,讨论了测试中常见的问题,如状态干扰、并发同步、依赖外部服务和测试覆盖率低,并提出了相应的避免策略,包括使用`t.Cleanup`、`t.Parallel()`、模拟对象和检查覆盖率。良好的测试实践能提升代码质量和项目稳定性。
103 1
|
6月前
|
分布式计算 Java 测试技术
Spark 单元测试报Error:(26, 16) java: 程序包sun.misc不存在
Spark 单元测试报Error:(26, 16) java: 程序包sun.misc不存在
110 0