ASA5505上的VPN数据包捕获

继上一个关于如何在ASA5505上捕获数据包的问题之后,我很难区分哪些stream量通过了VPN,哪些是从防火墙本身生成的。

为了概括这个问题,我有一个通过vpn连接到telnet服务器的应用程序,它在连接空闲一段时间后发送数据时正在接收重置数据包。 我想弄清楚这些重置来自哪里。 无论是VPN另一端的路由器/远程login服务器,还是应用服务器所在的ASA5505服务器。 我读过有关ASA系列丢弃连接,由于默认超时时间较短,我希望这是问题。

我已经捕获了应用程序服务器上的数据包以识别重置。 我现在已经在防火墙的内部接口捕获了数据包,并且重置也在那里。 我无法做的是捕获从VPN隧道出来的数据包,看看他们是否也在那里。 我已经尝试捕获外部接口上的所有数据包,但根本没有任何数据包,所以我猜测VPN数据无法通过外部接口捕获。 有没有人知道我如何捕获数据包一出VPN通道?

为了捕获内部的数据包,我在远程login服务器上将其匹配为源:

capture capture1 interface Inside match tcp 171.28.18.50 255.255.255.255 any 

为了捕获外部数据包,我匹配了任何不是我build立的ssh连接来监视捕获的任何源/目标:

 capture capture2 interface Outside match tcp any neq 22 any neq 22 

configuration中的超时连接线是:

 timeout conn 1:00:00 half-closed 0:10:00 udp 0:02:00 icmp 0:00:02 

更新:在Shane Madden的build议下,我捕获了ESP数据包,现在已经确定复位是由ASA生成的。 我现在要去尝试增加timeout conn

更新:我还没有增加timeout conn但使用ASDM中的graphics来监视VPN连接,看起来当它闲置30分钟时,隧道closures。 我怀疑当它closures时,TCP连接中断,并在一小时后在连接上发送更多的数据时,ASA响应重置。 30分钟是vpn-idle-timeout的默认值。 当我运行show run | include vpn-idle-timeout show run | include vpn-idle-timeout我没有得到任何回应,所以希望只需要解决如何设置vpn-idle-timeoutvariables。

ESP数据包应该被捕获得很好 – 它们在查看是否存在重置方面并不是很有帮助,因为它们仍然是encryption的( capture的ACL或匹配语句是什么样的?)。

尝试匹配ESP数据包时间戳以重置数据包时间戳是我可以考虑确定ASA是否生成重置的最佳方式。

愚蠢的问题:什么是在ASA设置为timeout conn命令?

这条线是否来自ASA的实际configuration?

 timeout conn 1:00:00 half-closed 0:10:00 udp 0:02:00 icmp 0:00:02 

如果是这样,那么这就是你的答案,这是防火墙。 TCP没有实现任何机制来确定连接是否仍然存在(我知道),所以客户端和服务器在理论上应该完全满足即使没有数据stream动也能保持会话。 任何一个人都可以实现TCP Keepalive,但是这会对你所看到的产生相反的影响。 来自任何一方的TCP存活将导致防火墙将连接看作活动的。

TCP连接的正常终止将是发起连接的主机向另一端发送FIN,从而从发起方的angular度产生半closures连接,并且(通过禁止任何问题)TCP连接将通过closures过程。 这是一个优雅的过程,不会导致TCP RST。 如果连接的一端崩溃,这将导致一个半打开的连接,但是再一次,双方都不能检测到(我知道),所以除了防火墙之外,不会发出RST。 由于长时间闲置连接,任何一方都不应该发送RST,除非任一方(telnet客户端软件或telnet服务器软件)上的软件被编程为发出RST或用于长时间闲置连接的某种types的终止命令。

作为一个testing(并且能够在防火墙的外部接口上捕获),您可以考虑build立到另一个服务器(如果可用)的telnet会话,该会话不会传输VPN连接并让它闲置。 您也可以通过build立到外部服务器的FTP连接进行testing,该外部服务器不会传输VPN连接并让它闲置。 如果你看到相同的RST行为,那么我认为防火墙是一个安全的select。

你有没有考虑在应用服务器和telnet服务器之间的连接上应用TCP超时? 我会尝试在您的应用服务器上最接近您的ASA界面上应用它,在您testing它之后。

下面是一个例子:访问列表no_tcp_timeout扩展许可证ip对象appserver对象telnetserver

class-map no_tcp_timeout匹配访问列表no_tcp_timeout

策略映射dmz_policy类no_tcp_timeout

服务策略dmz_policy接口dmz