天天看點

ASA對TCP序列号擾亂測試

一.概述:

聽了yeslab的秦珂老師的ASA的課程,講到ASA對TCP的随機初始化序列号擾亂功能,于是搭建環境進行測試,發現其實不僅對TCP初始化的序列号進行擾亂,對後續的TCP包序列号也會進行擾亂。

----後記:聽了後面的教程,才知道之是以叫初始化序列号擾亂,是因為後續的變化都基于初始的序列号之上的,比如未擾亂前第一個SYN包ISN序列号為A,第四個包的序列号為B,擾亂後的第一個SYN包ISN序列号為A',擾亂後的第四個包的序列号的B',那麼B-A=B'-A',即它們的內插補點總是相同的。

二.基本思路和結論:

A.搭建環境在ASA兩側進行抓包測試

B.抓包軟體顯示的相對随機号,實際資料才是真正的序列号

C.ASA不僅僅對TCP初始化包進行序列号擾亂,對其他的包也進行序列号擾亂

D.通過policy-map可以禁止讓ASA對序列号進行擾亂

三.測試拓撲:

<a href="http://blog.51cto.com/attachment/201309/223453812.jpg" target="_blank"></a>

四.基本配置:

A.Outside路由器:

interface Ethernet0/0

ip address 202.100.1.1 255.255.255.0

no shut

line vty 0 4

password cisco

login

ip route 0.0.0.0 0.0.0.0 202.100.1.10

B.ASA842防火牆:

interface GigabitEthernet0

nameif Outside

security-level 0

ip address 202.100.1.10 255.255.255.0

interface GigabitEthernet1

nameif DMZ

security-level 50

ip address 192.168.1.10 255.255.255.0

interface GigabitEthernet2

nameif Inside

security-level 100

ip address 10.1.1.10 255.255.255.0

C.Inside路由器:

ip address 10.1.1.1 255.255.255.0

ip route 0.0.0.0 0.0.0.0 10.1.1.10

五.TCP序列号擾亂測試:

A.沒有NAT情況下,Inside路由器Telnet Outside路由器:

Inside路由器TCP第一個包:

<a href="http://blog.51cto.com/attachment/201309/223604839.jpg" target="_blank"></a>

----從抓包的注釋relative sequence number可以看到seq 0其實是相對值,真正的值為D6D2CFDC。

Outside路由器TCP第一個包:

<a href="http://blog.51cto.com/attachment/201309/223717681.jpg" target="_blank"></a>

---從兩個圖對比很容易看出,兩邊的syn包的序列号是不相同的,雖然相對值都是0。

Inside路由器TCP第四個包:

<a href="http://blog.51cto.com/attachment/201309/223822384.jpg" target="_blank"></a>

outside路由器TCP第四個包:

<a href="http://blog.51cto.com/attachment/201309/223933997.jpg" target="_blank"></a>

---四個截圖序列号的值:未擾亂前第一個包D6D2CFDC,未擾亂前第四個包D6D2CFDD,增加值為1,擾亂後第一個包2F67830F,擾亂後四個包2F678310,增加值也為1,這就是抓包軟體顯示相對值為1的原因。

B.NAT情況下,Inside路由器Telnet Outside路由器:

①PAT配置:

object network Inside_net

subnet 10.1.1.0 255.255.255.0

nat (Inside,Outside) dynamic interface

②抓包測試:

----發現跟沒有NAT情況相同,不僅僅是TCP初始化進行序列号擾亂,其他的包也會進行序列号擾亂

六.TCP序列号擾亂避免:

A.配置policy-map并應用:

access-list telnet extended permit tcp any any eq telnet

class-map noseqrandom

match access-list telnet

policy-map noseqrandom

class noseq

set connection random-sequence-numberdisable

service-policy noseqrandom interface Inside

B.Inside路由器telnet Outside路由器并在兩邊抓包測試:

----抓包可以發現兩邊的序列号保持一緻(截圖略)

本文轉自 碧雲天 51CTO部落格,原文連結:http://blog.51cto.com/333234/1303915,如需轉載請自行聯系原作者

繼續閱讀