您好,登錄后才能下訂單哦!
一.概述:
今天QQ收到一位朋友的求助,如下環(huán)境,查看了ASA的配置,策略是全通,居然無(wú)法訪問(wèn),也感到困惑。
如是用GNS3搭建環(huán)境測(cè)試,在防火墻兩側(cè)進(jìn)行抓包,發(fā)現(xiàn)TCP三次握手正常,但是位于防火墻內(nèi)側(cè)客戶端發(fā)出的http get包卻被防火墻丟棄了,用google 輸入關(guān)鍵字:ASA tcp 2000搜到如下鏈接:
http://blog.csdn.net/yangcage/article/details/1787558
http://www.petenetlive.com/KB/Article/0000027.htm
終于明白:是因?yàn)?/span>ASA把訪問(wèn)外部http tcp 2000端口的流量當(dāng)成了skinny協(xié)議的流量,而實(shí)際是http流量,因?yàn)閮煞N協(xié)議流量的數(shù)據(jù)結(jié)構(gòu)肯定不相同,所有當(dāng)TCP三次握手完成后,后面的http應(yīng)用的包被丟棄。如是進(jìn)一步測(cè)試,測(cè)試分三種情況:
第一種是外部web應(yīng)用的端口不在默認(rèn)審查之列,比如TCP 8080;
第二種是外部web應(yīng)用的端口在審查之列,但是實(shí)際應(yīng)用卻沒(méi)有這種流量,比如TCP 2000;
第三種是外部web應(yīng)用的端口在審查之列,而默認(rèn)審查的協(xié)議又需要開(kāi)啟的情況。
二.測(cè)試拓?fù)洌?/span>
三.基本配置:
A.PC1:
IP:10.1.1.8/24,GW:10.1.1.1
B.ASA842防火墻:
interface GigabitEthernet0
nameif Inside
security-level 100
ip address 10.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
object network Inside-net
subnet 10.1.1.0 255.255.255.0
nat (Inside,Outside) dynamic interface
C.WebServer:
單網(wǎng)卡設(shè)置兩個(gè)IP:202.100.1.100/24,202.100.1.101/24
上面運(yùn)行IIS。
四.測(cè)試步驟:
A.外部web應(yīng)用的端口不在默認(rèn)審查之列,比如8080
這種情況不需要防火墻做額外配置,按照防火墻默認(rèn)的訪問(wèn)規(guī)則,inside的PC1就可以直接通過(guò)http://202.100.1.100:8080訪問(wèn)outside的WebServer服務(wù)器。
B.外部web應(yīng)用的端口在默認(rèn)審查之列,但是實(shí)際應(yīng)用卻沒(méi)有這種流量
比如外部web端口為2000,只需將默認(rèn)的TCP 2000的skinny協(xié)議審查取消:
policy-map global_policy
class inspection_default
no inspect skinny
這樣Inside的PC1既可以通過(guò)http://202.100.1.100:2000訪問(wèn)Outside的WebServer服務(wù)器,也可以通過(guò)http://202.100.1.101:2000訪問(wèn)Outside的WebServer服務(wù)器。
C.外部web應(yīng)用的端口在默認(rèn)審查之列,實(shí)際應(yīng)用也有這種流量
比如外部web端口為TCP 2000,而實(shí)際情況TCP 2000 skinny協(xié)議流量也有,因此不能簡(jiǎn)單把默認(rèn)的skinny審查干掉完事,
①如下方法不可行:
access-list tcp2000web permit tcp any host 202.100.1.101 eq 2000
class-map tcp2000web_traffic
match access-list tcp2000web
class-map skinny_traffic
match port tcp eq 2000
policy-map global_policy
class inspection_default
no inspect skinny
class tcp2000web-traffic
inspect http
class skinny-traffic
inspect skinny
-----------------------------------
ciscoasa# show service-policy
Global policy:
Service-policy: global_policy
Class-map: inspection_default
Inspect: dns preset_dns_map, packet 0, drop 0, reset-drop 0
.................省略部分.......
Class-map: web2000
Inspect: http, packet 4, drop 0, reset-drop 0
Class-map: global_skinny
Inspect: skinny , packet 4, drop 1, reset-drop 0
tcp-proxy: bytes in buffer 0, bytes dropped 0
貌似同一條policy-map的前后class-map的執(zhí)行關(guān)系,有點(diǎn)像接口和全局的policy-map的執(zhí)行關(guān)系,如果審查通過(guò),會(huì)被后面的執(zhí)行:我訪問(wèn)的是http包,前面的Class-map: web2000審查通過(guò)了,但是被后面的Class-map: global_skinny干掉了。
②如下方法可以:
access-list skinny extended deny tcp any host 202.100.1.100 eq 2000
access-list skinny extended permit tcp any any eq 2000
class-map skinny_traffic
match access-list skinny
policy-map global_policy
classinspection_default
no inspect skinny
class skinny_traffic
inspect skinny
這時(shí)Inside的PC1就可以通過(guò)http://202.100.1.100:2000訪問(wèn)Outside的WebServer服務(wù)器,但是不能通過(guò)http://202.100.1.101:2000(因?yàn)檎J(rèn)證這個(gè)是skinny流量)。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。