溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

ASA Modular Policy Framework_04

發(fā)布時間:2020-04-04 18:10:35 來源:網(wǎng)絡(luò) 閱讀:8872 作者:lc994811089 欄目:編程語言

MPF


基本MPF架構(gòu)介紹

 class-map:什么流量,對流分類

    3-4層:源目ip,協(xié)議號,端口

    5-7層:應(yīng)用層http ftp telnet

 policy-map:添加多個類,為每個類做什么動作

     3-4層:較簡單

    5-7層:限速,屏蔽關(guān)鍵字,比較復(fù)雜

 service-policy:在哪里 匹配哪個class 執(zhí)行哪個policy


class-map

ASA(config)# class-map 3-4 
ASA(config-cmap)# match ?

mpf-class-map mode commands/options:
  access-list                 Match an Access List
  any                         Match any packet
  default-inspection-traffic  Match default inspection traffic: 
                              ctiqbe----tcp--2748      dns-------udp--53       
                              ftp-------tcp--21        gtp-------udp--2123,3386
                              h423-h325-tcp--1720      h423-ras--udp--1718-1719
                              http------tcp--80        icmp------icmp          
                              ils-------tcp--389       ip-options-----rsvp     
                              mgcp------udp--2427,2727 netbios---udp--137-138  
                              radius-acct----udp--1646 rpc-------udp--111      
                              rsh-------tcp--514       rtsp------tcp--554      
                              sip-------tcp--5060      sip-------udp--5060     
                              skinny----tcp--2000      smtp------tcp--25       
                              sqlnet----tcp--1521      tftp------udp--69       
                              waas------tcp--1-65535   xdmcp-----udp--177      
  dscp                        Match IP DSCP (DiffServ CodePoints)    //ip包中tos里的字段
  flow                        Flow based Policy            //定義流
  port                        Match TCP/UDP port(s)        
  precedence                  Match IP precedence
  rtp                         Match RTP port numbers     //語音流量(ip udp rtp video/audio)
  tunnel-group                Match a Tunnel Group      //IPSec的tunnel里每條流(流由上面的flow 定義)的流量

flow與tunnel-group示例:將tunnel里的每條流(以不同目的ip區(qū)分流)限速56k

ASA Modular Policy Framework_04


policy-map

為每一個流量定義行為


    • 發(fā)送流量到AIP-SSM    //送往IPS 過濾檢查是否有危險代碼

    • 發(fā)送流量到CSC-SSM     //送往防病毒模塊 查看是否有病毒

    • 發(fā)送Netflow信息        //將匹配的流量信息發(fā)到網(wǎng)管

    • Qos對流量優(yōu)先處理        //優(yōu)先級

    • Qos對流量進行police或shape處理    //限速

    • 運用層監(jiān)控            

    • 配置高級連接設(shè)置        //最大連接數(shù),半開連接等等

全局和每一個接口只能配置一個policy map

在一個policy map中,行為處理的順序如下。
    QoS 入方向流量的policing
    高級連接設(shè)置
    CSC-SSM
    運用層監(jiān)控
    AIP-SSM
    QoS 出方向流量的policing
    QoS 優(yōu)先級隊列

    QoS 流量shaping


Service Policy
1.運用policy map到一個接口,或者全局運用到所有接口
2.策略的方向基于policy map的運用
    每接口:歸類和行為被運用到兩個方向上
    全局:歸類和行為被運用到所有接口的入方向

    policing(出入都可), shaping(出)和priority(出)例外



MPF對網(wǎng)管流量的控制

1.網(wǎng)絡(luò)策略僅僅只控制穿越的流量

2.使用管理策略來控制抵達ASA的流量
3.只有一部分匹配功能可以使用
4.只有一部分行為可以使用 



class-map


ASA(config)# class-map type management Management_Telnet_Traffic
ASA(config-cmap)# match port tcp eq telnet
ASA(config-cmap)# exit

policy-map

ASA(config)# policy-map inside       //這個inside是個名字,由于一個接口只能用一個policy,取名方便識別
ASA(config-pmap)# class Management_Telnet_Traffic        //添加一個類
ASA(config-pmap-c)# set connection conn-max 1 embryonic-conn-max 0 //動作:最大連接數(shù)為1,半連接數(shù)無限制
ASA(config-pmap-c)# exit

service-policy


ASA(config)# service-policy inside interface inside     //運用到接口:第一個inside是名字

ASA(config)# telnet 0 0 inside         //開啟Telnet
ASA(config)# passwd cisco                //遠程登錄需要密碼


MPF基本狀態(tài)監(jiān)控特性


ASA默認只對TCP/UDP流量進行狀態(tài)監(jiān)控,ICMP ping和ESP默認禁止

icmp:直接在默認全局policy里的class中加個inspect icmp

policy-map global_policy
 class inspection_default
  inspect icmp

esp:ipsec分協(xié)商和加密,協(xié)商部分是UDP故能生成cnnection 表,但加密部分不能生成表項,故出去了回不來

access-list ESP extended permit esp any any

class-map ESP
  match access-list ESP
  
policy-map global_policy
  class ESP
    inspect ipsec-pass-thru


ASA會話超時

如果出現(xiàn)TCP連接關(guān)閉事件,或閑置超時事件,會話表項會被刪除

等待SYN/ACK    超時時間30s  

半關(guān)閉      10分鐘    tcp 是雙向的,單向存在的時間

閑置時間     1小時     沒數(shù)據(jù)包的連接 idle時間


Telnet的connection表項超時時間DCD

access-list global_mpc_1 extended permit tcp 10.1.1.0
  255.255.255.0 host 202.100.1.1 eq telnet
  
class-map Client-to-Server-Telnet
  match access-list global_mpc_1
  
policy-map global_policy
  class Client-to-Server-Telnet
    set connection timeout idle 4:00:00 reset dcd 0:15:00 5
    //超時后會清除connection表項  reset:清除表后還會向兩邊發(fā)送reset報文,使得兩端也清除連接信息
    // dcd(探測鄰居存活):每15分鐘檢測一次,5次超時則清除

ASA默認對穿越流量不減TTL,也可激活

(順便提下,win的tracert發(fā)得是icmp報文,而路由器traceroute發(fā)的是UDP報文)

class-map Traceroute
  match access-list Traceroute        //acl抓包看看端口33434,自己對著寫,記得放行流量
policy-map global_policy
  class Traceroute
    set connection decrement-ttl    //ttl減一

      穿越ASA 別人寫的就是好..


MPF TCP規(guī)范化


ASA對IP分片的處理

1.緩存一個數(shù)據(jù)包的所有分片,直到所有分片被收齊。
2.確認分片被適當?shù)那蟹帧?br />3.重組裝IP分片,并對其進行TCP規(guī)范化和運用層監(jiān)控處理。

4.發(fā)送分片就和收到它們的時候一樣

ASA(config)# fragment ?

configure mode commands/options:
  chain       Configure maximum number of elements in a fragment set //一個包最多 多少個分片
  reassembly  Configure reassembly option
  size        Configure maximum number of blocks in database  //每個接口最多緩存1000個分片
  timeout     Configure number of seconds to assemble a fragment set //一個包多少S內(nèi)沒有收到全部分片完成重組。則全部丟棄
ASA(config)# fragment size 1000 Outside 
ASA(config)# fragment chain 24 Outside 
ASA(config)# fragment timeout 5 Outside


MPF TCP規(guī)范化

1.確認遵循TCP協(xié)議,并且阻止逃避***
2.默認情況下,只是允許最小的TCP特性(option字段全部置1)
3.執(zhí)行TCP初始化序列號擾亂以保護內(nèi)部主機(防止會話挾持)

4.為上層監(jiān)控提供對字節(jié)流的重組裝


這會導(dǎo)致異步鏈路的一些鏈接建立失?。ㄈ鐃cp的握手):

ASA Modular Policy Framework_04

解決:采用TCP狀態(tài)化旁路(TCP Bypass

   TCP Bypass用MPF歸類特定流量,以訪問控制列表對待這些流量,同時也關(guān)閉了ASA對這些流量的三層監(jiān)控,認證代理和TCP規(guī)范化處理,故只能旁路可信流量


實驗:TCP Bypass

ASA Modular Policy Framework_04

inside的lo0訪問DMZ的lo0口,走的是ospf過防火墻

DMZ(config)#ip route 7.7.7.7 255.255.255.255 10.0.0.72    //在DMZ上添加指向inside的lo0靜態(tài)路由

當inside的lo0 Telnet DMZ的lo0時,去的包過防火墻而回來的包走的10.0.0.0網(wǎng)段,形成異步鏈路

Telnet默認是不通的:ASA Modular Policy Framework_04

但可以ping,不受影響

ASA(config)# access-list tcpbypass permit tcp host 7.7.7.7 host 2.2.2.2 eq tel
ASA(config)# class-map tcpbypass 
ASA(config-cmap)# match access-list tcpbypass
ASA(config-cmap)# exit
ASA(config)# policy-map tcpbypass
ASA(config-pmap)# class tcpbypass
ASA(config-pmap-c)# set connection advanced-options tcp-state-bypass
ASA(config-pmap-c)# exit
ASA(config)# service-policy tcpbypass interface inside

ASA Modular Policy Framework_04

ASA(config)# show conn detail 
Flags: B - initial SYN from outside, b - TCP state-bypass or nailed,
TCP DMZ: 2.2.2.2/23 inside: 7.7.7.7/55245,
    flags b , idle 3m47s, uptime 3m50s, timeout 1h0m, bytes 31

這種connection表項無法正常檢測到鏈路是否終結(jié),只能等超時清除

實驗:BGP 穿越ASA

*Mar  1 01:08:35.219: %TCP-6-BADAUTH: No MD5 digest from 2.2.2.2(179) to 7.7.7.7(15325) (RST
//原由:經(jīng)過bgp md5(tcp頭部+密碼+偽首部->hash)散列后的值會在bgp的報文中添加option為tcp的字段,type類型為19 
    而ASA會將tcp type=19 的option字段全改成1了,并



MPF支持動態(tài)運用協(xié)議


Cisco ASA默認嗅探很多動態(tài)協(xié)議(FTP,HTTP),只需ACL放行初始化會話,ASA會自動放行后續(xù)會話


FTP:

 高優(yōu)先級 以主動模式訪問 低優(yōu)先級的FTP時

    第一信道:由高優(yōu)先級先發(fā)起的,會建立connection會話,也能回來

    第二信道:由低先發(fā)起,但ASA已經(jīng)嗅探到第一信道的port數(shù)據(jù),根據(jù)port建立了對應(yīng)的connection會話,所以第二信道能通


    但當FTP的端口不是21

    第一信道:高到低能建立conn

    第二信道:由于端口不是21,ASA并不知道是FTP,沒有記錄port信息,也就沒有conn表項,低到高,通不了

class-map New-FTP
    match port tcp eq 2121    //FTP自定義端口
policy-map global_policy
    class New-FTP
        inspect ftp


    被動發(fā)起都是client,怎么都能通,除非client在低優(yōu)先級,那么acl放行第一信道即可,如果不是21,第二信道也要放

ASA Modular Policy Framework_04ASA Modular Policy Framework_04

以下是做了PAT的FTP,ASA會修改port數(shù)據(jù),ip,端口發(fā)給外網(wǎng),自動建立conn和PAT表項



ASA Modular Policy Framework_04

ASA Modular Policy Framework_04ASA Modular Policy Framework_04



MPF運用層策略


DNS..............


配置MPF URL過濾

ASA Modular Policy Framework_04

定義URL過濾服務(wù)器:
url-server (DMZ) vendor websense host 192.168.1.100
定義需要過濾的流量:
filter url http 10.1.1.0 255.255.255.0 0.0.0.0 0.0.0.0 allow //allow表示服務(wù)器掛了就放行
配置正則表達式:
regex Shrun "sh/run"
regex WWWCisco www.cisco.com
配置運用層監(jiān)控類型的Class-Map:
class-map type inspect http match-all Match-HTTP-Class
match request header host regex WWWCisco
match not request uri regex Shrun
配置運用層監(jiān)控類型的Policy-Map:
policy-map type inspect http Control-HTTP
parameters
protocol-violation action reset
class Match-HTTP-Class
reset
調(diào)用運用層監(jiān)控類型的Policy-Map:
policy-map global_policy
class inspection_default
inspect http Control-HTTP

ASA Modular Policy Framework_04

配置ESMTP運用層控制
配置運用層監(jiān)控類型的Policy-Map:
policy-map type inspect esmtp Control-ESMTP
match header length gt 4096
reset
調(diào)用運用層監(jiān)控類型的Policy-Map:
policy-map global_policy
class inspection_default
no inspect esmtp
inspect esmtp Control-ESMTP


MPF連接控制與TCP Intercept


access-list global_mpc extended permit tcp any host
  202.100.1.1 eq www
class-map Connection-Control
  match access-list global_mpc
policy-map global_policy
  class Connection-Control
    set connection conn-max 1000 embryonic-conn-max 600 per-client-max 10 per-client-embryonic-max 5

MPF實現(xiàn)QoS


有兩種方式實現(xiàn)QoS:

    Policing:丟棄超時速率限制的流量;支持對一個接口出入流量配置;丟棄會造成TCP重傳

    Shaping:緩存超過限制的流量;只支持對一個接口的出流量配置;緩存會減少TCP重傳,但會造成抖動

    Priority Queuing:優(yōu)先隊列

Policing

配置HTTP限速     內(nèi)部接口入方向
class-map HTTP-Traffic
  match port tcp eq www
policy-map Inside-policy
  class HTTP-Traffic
    police input 1000000 1500
service-policy Inside-policy interface Inside


配置ICMP限速     外部接口出方向
access-list Outside_mpc extended permit icmp any any
class-map ICMP-Traffic
  match access-list Outside_mpc
policy-map Outside-policy
  class ICMP-Traffic
    police output 56000 1500
service-policy Outside-policy interface Outside

Shaping
出接口
policy-map Outside-policy
  class class-default
    shape average 10000000
service-policy Outside-policy interface Outside

Priority Queuing

1.Cisco ASA默認為一個接口收到的流量執(zhí)行best‐effort隊列
2.best‐effort隊列是一個基于FIFO機制的服務(wù)
3.應(yīng)該在一個接口為那些延時敏感的流量,例如:語音流量創(chuàng)建一個優(yōu)
先級隊列。
4.Cisco ASA在移動數(shù)據(jù)包到best‐effort隊列之前,首先騰空優(yōu)先級隊列
5.使用Cisco MPF配置優(yōu)先級隊列


priority-queue Outside
  tx-ring-limit 128 (硬件隊列 最大512)        //只有當硬件隊列滿了,設(shè)備發(fā)生擁塞了,才會使用到軟件隊列
  queue-limit 2048 (軟件隊列 最大2048)        //此隊列機制都有各自的調(diào)度機制和丟棄機制
class-map VoIP
  match dscp ef            //通過dscp字段是否為ef判斷語言
policy-map Outside-policy
  class VoIP
    priority
service-policy Outside-policy interface Outside


向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI