ASA静态PAT的双向访问测试及理解

本文涉及的产品
公网NAT网关,每月750个小时 15CU
简介:

一.概述:

   静态PAT一般是用在外部访问内部时,将外部IP的某个端口映射到内部主机的服务端口,这样外部主机通过访问外部IP的端口,就能很轻松的访问到内部主机的服务(需要策略放行),但是在看《Cisco ASA 5500 Series Configuration Guide using the CLI, 8.4 and 8.6》文档的时候,说静态PAT与静态NAT一样,也是双向的,感到很困惑,如是打算实际测试验证一下。

233804652.jpg

二.基本思路:

A.静态PAT从外网访问内网,是经常用的,主要需要验证从内部访问外部是是否做了地址转换。

B.TCP和UDP访问的源端口都是随机的,大于1023,并且正常情况下不能指定:

---因此需要找到能指定源端口的程序

---在实际工作中正好用到一款公司自主开发的windows的syslog发送工具可以指定源端口和目标端口,于是用它来测试。

C.测试环境为:

---将外部接口的UDP 514端口映射到内部一台主机的UDP514

①.从外部主机发送syslog到外部接口的UDP514,验证目标地址转换。

②.从内部被映射的主机向外部主机发送syslog,发送的时候指定源端口和目标端口都为514,在外部主机抓包,看源地址是否转换。

③.并且顺带的验证一下静态PAT优先级比动态PAT要高。

D.实际静态PAT这种双向访问是没有多大用处的,因为源端口很难手工指定的,像把外部接口的TCP23静态PAT到内部一台主机的TCP23,而正常情况下TCP源端口不可能为23端口的,因为内部出去的时候正常情况下是不会PAT的。

---有一种情况可以用的上,比如syslog发送,因为审计的时候需要审计真实地址,而不是NAT后的地址,可以配置静态PAT来实现源地址不转换(一般的主机syslog源端口是可以指定的,linux默认为UDP514):

object network Inside_Net_syslog
subnet 100.1.1.0 255.255.255.0
object network Inside_net_syslog_nonat
subnet 100.1.1.0 255.255.255.0
object network Inside_net_syslog_nonat
nat (Inside,Outside) static Inside_Net_syslog service udp syslog syslog 

这样当指定Inside区100.1.1.0/24网段主机向Outside区的syslog服务器发送sylog的udp源端口为514时,就可以实现IP地址自己转自己(等于不转)。

三.测试拓扑:

 Inside_PC1(.8)--100.1.1.0/24-----(.1)ASA842(.1)---202.100.1.0/24-----(.8)Outside_PC2

四.基本配置:

A.Inside_PC1

ip:100.1.1.8/24

gw:100.1.1.1

B.ASA842:

①接口配置:

interface GigabitEthernet0
nameif Inside
security-level 100
ip address 100.1.1.1 255.255.255.0 
no shut
interface GigabitEthernet1
nameif Outside
security-level 0
ip address 202.100.1.1 255.255.255.0 
no shut

②静态PAT配置:

object network Inside_PC1
host 100.1.1.8

object network Inside_PC1
nat (Inside,Outside) static interface service udp syslog syslog 

③策略配置:

access-list Outside extended permit icmp any any 
access-list Outside extended permit udp any object Inside_PC1 eq syslog

access-group Outside in interface Outside

C.Outside_PC2:

ip:202.100.1.8/24

gw:202.100.1.1

五.测试:

A.外部主机给内部主机发送syslog:

----未指定源端口

①外部主机抓包截图:

234815501.jpg

②内部主机抓包截图:

234914530.jpg

---从两个截图很容易看出:源地址为指定时为1023以上的端口;在内部主机看到数据包做了目标地址转换

B.内部主机给外部主机发送sylog:

---手工指定源端口为UDP514,发送完syslog之后,为了对比,进行ping。

①内部主机抓包截图:

235240985.jpg

②外部主机抓包截图:

235312944.jpg

---从两个截图很容易看出:当内部主机发送syslog的源地址指定为514,出了ASA防火墙,源地址做了转换;PING包没有受静态PAT的影响,源地址没有发生改变。

C.测试静态PAT与动态PAT的优先级:

①修改静态PAT的地址:

object network Inside_PC1
host 100.1.1.8

object network Inside_PC1
nat (Inside,Outside) static 202.100.1.2 service udp syslog syslog

②配置动态PAT:

object network Inside_network
subnet 100.1.1.0 255.255.255.0

object network Inside_network
nat (Inside,Outside) dynamic interface

③内部主机ping外部主机:

---外部主机抓包截图,可以看到ping走的是动态PAT。

001732397.jpg

④内部主机指定syslog源端口:

---外部主机抓包截图,可以看到走的是静态PAT,因为源地址为202.100.1.2,而不是防火墙接口地址202.100.1.1。

001748522.jpg

⑤内部主机指定sylog源端口不为静态PAT的端口:

---外部主机抓包截图,可以看到走的是动态PAT,因为源地址为防火墙接口地址202.100.1.1。

001801655.jpg




本文转自 碧云天 51CTO博客,原文链接:http://blog.51cto.com/333234/1242448,如需转载请自行联系原作者

相关文章
|
2月前
|
SQL 安全 关系型数据库
接上篇文章,在测试宝塔 WAF 的未授权访问漏洞时无意间还发现了一个 SQL 注入漏洞
接上篇文章,在测试宝塔 WAF 的未授权访问漏洞时无意间还发现了一个 SQL 注入漏洞,品相还不错,可执行任意 SQL 语句。 总之,吃了一惊,一个防 SQL 注入的工具居然也有 SQL 注入漏洞。 请看这段代码
413 1
|
4月前
|
移动开发 前端开发 JavaScript
VSCode设置类似Webstorm那样可以用本地局域网IP地址访问自己开发的测试项目,vs code 前端如何以服务器模式打开?
VSCode设置类似Webstorm那样可以用本地局域网IP地址访问自己开发的测试项目,vs code 前端如何以服务器模式打开?
VSCode设置类似Webstorm那样可以用本地局域网IP地址访问自己开发的测试项目,vs code 前端如何以服务器模式打开?
|
6月前
|
SQL 关系型数据库 MySQL
软件测试|使用PyMySQL访问MySQL数据库的详细指南
软件测试|使用PyMySQL访问MySQL数据库的详细指南
46 0
|
1月前
|
弹性计算 缓存 测试技术
2核4g服务器能支持多少人访问?阿里云2核4G服务器并发数测试
2核4g服务器能支持多少人访问?阿里云2核4G服务器并发数测试,2核4G服务器并发数性能测试,阿小云账号下的2核4G服务器支持20人同时在线访问,然而应用不同、类型不同、程序效率不同实际并发数也不同,2核4G服务器的在线访问人数取决于多个变量因素
|
3月前
|
存储 安全 测试技术
金融相关软件的测试如何平衡数据的访问和安全
金融相关软件的测试如何平衡数据的访问和安全
|
9月前
|
Shell 开发工具
写一个脚本/root/bin/hostping.sh,接受一个主机的IPv4地址做为参数,测试是否可连通。如果能ping通,则提示用户“该IP地址可访问”;如果不可ping通,则提示用户“该IP地址不可访问
写一个脚本/root/bin/hostping.sh,接受一个主机的IPv4地址做为参数,测试是否可连通。如果能ping通,则提示用户“该IP地址可访问”;如果不可ping通,则提示用户“该IP地址不可访问
72 0
|
10月前
|
JSON Java Android开发
让android支持https访问银联后台,测试成功
让android支持https访问银联后台,测试成功
隧道代理如何测试访问网站的响应时间?
我们可以使用curl命令来测试,具体过程如下:
隧道代理如何测试访问网站的响应时间?
测试HTTP代理对目标服务器的访问结果,好用的HTTP代理厂商推荐
今天,就来说说要如何利用Proxifier测试HTTP代理测试对目标服务器的访问结果。
|
Linux
使用tcping测试服务器端口是否可访问,及LINUX上的编译与使用
使用tcping测试服务器端口是否可访问,及LINUX上的编译与使用
196 0