La documentazione per questo prodotto è stata redatta cercando di utilizzare un linguaggio senza pregiudizi. Ai fini di questa documentazione, per linguaggio senza di pregiudizi si intende un linguaggio che non implica discriminazioni basate su età, disabilità, genere, identità razziale, identità etnica, orientamento sessuale, status socioeconomico e intersezionalità. Le eventuali eccezioni possono dipendere dal linguaggio codificato nelle interfacce utente del software del prodotto, dal linguaggio utilizzato nella documentazione RFP o dal linguaggio utilizzato in prodotti di terze parti a cui si fa riferimento. Scopri di più sul modo in cui Cisco utilizza il linguaggio inclusivo.
Cisco ha tradotto questo documento utilizzando una combinazione di tecnologie automatiche e umane per offrire ai nostri utenti in tutto il mondo contenuti di supporto nella propria lingua. Si noti che anche la migliore traduzione automatica non sarà mai accurata come quella fornita da un traduttore professionista. Cisco Systems, Inc. non si assume alcuna responsabilità per l’accuratezza di queste traduzioni e consiglia di consultare sempre il documento originale in inglese (disponibile al link fornito).
In questo documento viene descritto come configurare la funzione TCP State Bypass, che consente il flusso del traffico in entrata e in uscita attraverso le appliance Cisco ASA serie 5500 Adaptive Security (ASA) separate.
Prima di poter procedere con la configurazione descritta in questo documento, Cisco ASA deve avere installato almeno la licenza base.
Per la stesura del documento, è stato usato Cisco ASA serie 5500 con software versione 9.x.
Le informazioni discusse in questo documento fanno riferimento a dispositivi usati in uno specifico ambiente di emulazione. Su tutti i dispositivi menzionati nel documento la configurazione è stata ripristinata ai valori predefiniti. Se la rete è operativa, valutare attentamente eventuali conseguenze derivanti dall'uso dei comandi.
Fare riferimento a Cisco Technical Tips Conventions per ulteriori informazioni sulle convenzioni dei documenti.
In questa sezione viene fornita una panoramica della funzione di bypass dello stato TCP e delle relative informazioni di supporto.
Per impostazione predefinita, tutto il traffico che attraversa l'appliance ASA viene ispezionato tramite l'algoritmo di sicurezza adattivo e può essere attraversato o interrotto in base ai criteri di sicurezza. Per ottimizzare le prestazioni del firewall, l'ASA controlla lo stato di ciascun pacchetto (ad esempio, verifica se si tratta di una nuova connessione o di una connessione stabilita) e lo assegna al percorso di gestione della sessione (un nuovo pacchetto SYN), al percorso rapido (una connessione stabilita) o al percorso del control plane (ispezione avanzata).
I pacchetti TCP che corrispondono alle connessioni correnti nel percorso rapido possono passare attraverso l'ASA senza dover ricontrollare ogni aspetto del criterio di sicurezza. Questa funzione ottimizza le prestazioni. Tuttavia, il metodo usato per stabilire la sessione nel percorso rapido (che usa il pacchetto SYN) e i controlli che avvengono nel percorso rapido (come il numero di sequenza TCP) possono ostacolare le soluzioni di routing asimmetrico; i flussi in entrata e in uscita di una connessione devono passare attraverso la stessa ASA.
Ad esempio, una nuova connessione viene stabilita con ASA 1. Il pacchetto SYN attraversa il percorso di gestione della sessione e una voce per la connessione viene aggiunta alla tabella dei percorsi rapidi. Se i pacchetti successivi su questa connessione passano attraverso l'appliance ASA 1, i pacchetti corrispondono alla voce nel percorso rapido e vengono passati. Se i pacchetti successivi passano all'ASA 2, dove non era presente un pacchetto SYN che ha attraversato il percorso di gestione della sessione, non vi è alcuna voce nel percorso rapido per la connessione e i pacchetti vengono scartati.
Se sui router a monte è configurato il routing asimmetrico e il traffico è alternato tra due appliance ASA, è possibile configurare la funzione TCP State Bypass per il traffico specifico. La funzione di bypass dello stato TCP altera il modo in cui le sessioni vengono stabilite nel percorso rapido e disabilita i controlli del percorso rapido. Questa funzione tratta il traffico TCP in modo analogo alla connessione UDP: quando un pacchetto non SYN che corrisponde alle reti specificate entra nell'ASA e non c'è un percorso rapido, il pacchetto passa attraverso il percorso di gestione della sessione per stabilire la connessione nel percorso rapido. Una volta sul percorso rapido, il traffico ignora i controlli del percorso rapido.
Nell'immagine viene mostrato un esempio di routing asimmetrico, in cui il traffico in uscita attraversa un'appliance ASA diversa da quella in entrata:
Nota: La funzione TCP state bypass è disabilitata per impostazione predefinita su Cisco ASA serie 5500. Inoltre, la configurazione TCP state bypass può causare un numero elevato di connessioni se non è implementata correttamente.
In questa sezione vengono descritte le informazioni di supporto per la funzione TCP State Bypass.
Queste funzionalità non sono supportate quando si utilizza la funzione di bypass dello stato TCP:
Nota: Poiché la sessione di conversione viene stabilita separatamente per ciascuna ASA, verificare di configurare il protocollo NAT (Network Address Translation) statico su entrambe le ASA per il traffico di bypass dello stato TCP. Se si usa il protocollo NAT dinamico, l'indirizzo scelto per la sessione sull'appliance ASA 1 sarà diverso dall'indirizzo scelto per la sessione sull'appliance ASA 2.
In questa sezione viene descritto come configurare la funzione TCP State Bypass sull'appliance ASA serie 5500 in due scenari diversi.
Nota: per ulteriori informazioni sui comandi menzionati in questa sezione, usare lo strumento di ricerca dei comandi (solo utenti registrati).
Questa è la topologia utilizzata per il primo scenario:
Nota: La configurazione descritta in questa sezione deve essere applicata a entrambe le appliance ASA.
Completare questa procedura per configurare la funzione TCP State Bypass:
Nota: La mappa delle classi utilizzata in questo esempio è tcp_bypass.
ASA(config)#class-map tcp_bypass
ASA(config)#class-map tcp_bypass ASA(config-cmap)#match access-list tcp_bypass
Nota: Il valore tcp_bypass è il nome dell'elenco degli accessi utilizzato nell'esempio. Fare riferimento a Identifying Traffic (Layer 3/4 Class Map) per ulteriori informazioni su come specificare il traffico di interesse.
ASA(config-cmap)#policy-map tcp_bypass_policy
ASA(config-cmap)#policy-map tcp_bypass_policy ASA(config-pmap)#class tcp_bypass
ASA(config-cmap)#policy-map tcp_bypass_policy ASA(config-pmap)#class tcp_bypass ASA(config-pmap-c)#set connection advanced-options tcp-state-bypass
ASA(config-pmap-c)#service-policy tcp_bypass_policy outside
Di seguito è riportata una configurazione di esempio per la funzione TCP state bypass su ASA1:
!--- Configure the access list to specify the TCP traffic
!--- that needs to by-pass inspection to improve the performance.
ASA1(config)#access-list tcp_bypass extended permit tcp 10.1.1.0 255.255.255.0
172.16.1.0 255.255.255.0
!--- Configure the class map and specify the match parameter for the
!--- class map to match the interesting traffic.
ASA1(config)#class-map tcp_bypass
ASA1(config-cmap)#description "TCP traffic that bypasses stateful firewall"
ASA1(config-cmap)#match access-list tcp_bypass
!--- Configure the policy map and specify the class map
!--- inside this policy map for the class map.
ASA1(config-cmap)#policy-map tcp_bypass_policy
ASA1(config-pmap)#class tcp_bypass
!--- Use the set connection advanced-options tcp-state-bypass
!--- command in order to enable TCP state bypass feature.
ASA1(config-pmap-c)#set connection advanced-options tcp-state-bypass
!--- Use the service-policy policymap_name [ global | interface intf ]
!--- command in global configuration mode in order to activate a policy map
!--- globally on all interfaces or on a targeted interface.
ASA1(config-pmap-c)#service-policy tcp_bypass_policy outside
!--- NAT configuration
ASA1(config)#object network obj-10.1.1.0
ASA1(config-network-object)#subnet 10.1.1.0 255.255.255.0
ASA1(config-network-object)#nat(inside,outside) static 192.168.1.0
Di seguito è riportata una configurazione di esempio per la funzione TCP state bypass su ASA2:
!--- Configure the access list to specify the TCP traffic
!--- that needs to by-pass inspection to improve the performance.
ASA2(config)#access-list tcp_bypass extended permit tcp 172.16.1.0 255.255.255.0
10.1.1.0 255.255.255.0
!--- Configure the class map and specify the match parameter for the
!--- class map to match the interesting traffic.
ASA2(config)#class-map tcp_bypass
ASA2(config-cmap)#description "TCP traffic that bypasses stateful firewall"
ASA2(config-cmap)#match access-list tcp_bypass
!--- Configure the policy map and specify the class map
!--- inside this policy map for the class map.
ASA2(config-cmap)#policy-map tcp_bypass_policy
ASA2(config-pmap)#class tcp_bypass
!--- Use the set connection advanced-options tcp-state-bypass
!--- command in order to enable TCP state bypass feature.
ASA2(config-pmap-c)#set connection advanced-options tcp-state-bypass
!--- Use the service-policy policymap_name [ global | interface intf ]
!--- command in global configuration mode in order to activate a policy map
!--- globally on all interfaces or on a targeted interface.
ASA2(config-pmap-c)#service-policy tcp_bypass_policy outside
!--- NAT configuration
ASA2(config)#object network obj-10.1.1.0
ASA2(config-network-object)#subnet 10.1.1.0 255.255.255.0
ASA1(config-network-object)#nat(inside,outside) static 192.168.1.0
In questa sezione viene descritto come configurare la funzione di bypass dello stato TCP sull'appliance ASA per scenari che usano il routing asimmetrico, in cui il traffico in entrata e in uscita dall'appliance da una stessa interfaccia (u-turn).
Di seguito è riportata la topologia utilizzata in questo scenario:
Completare questa procedura per configurare la funzione TCP State Bypass:
ASA(config)#access-list tcp_bypass extended permit tcp 192.168.2.0 255.255.255.0
192.168.1.0 255.255.255.0
Nota: La mappa delle classi utilizzata in questo esempio è tcp_bypass.
ASA(config)#class-map tcp_bypass
ASA(config)#class-map tcp_bypass ASA(config-cmap)#match access-list tcp_bypass
Nota: Il valore tcp_bypass è il nome dell'elenco degli accessi utilizzato nell'esempio. Per ulteriori informazioni su come specificare il traffico di interesse, fare riferimento a Identificazione del traffico (Mappa classi layer 3/4).
ASA(config-cmap)#policy-map tcp_bypass_policy
ASA(config-cmap)#policy-map tcp_bypass_policy ASA(config-pmap)#class tcp_bypass
ASA(config-cmap)#policy-map tcp_bypass_policy ASA(config-pmap)#class tcp_bypass ASA(config-pmap-c)#set connection advanced-options tcp-state-bypass
ASA(config-pmap-c)#service-policy tcp_bypass_policy inside
ASA(config)#same-security-traffic permit intra-interface
Di seguito è riportata una configurazione di esempio per la funzione TCP State Bypass sull'appliance ASA:
!--- Configure the access list to specify the TCP traffic
!--- that needs to bypass inspection to improve the performance.
ASA(config)#access-list tcp_bypass extended permit tcp 192.168.2.0 255.255.255.0
192.168.1.0 255.255.255.0
!--- Configure the class map and specify the match parameter for the
!--- class map to match the interesting traffic.
ASA(config)#class-map tcp_bypass
ASA(config-cmap)#description "TCP traffic that bypasses stateful firewall"
ASA(config-cmap)#match access-list tcp_bypass
!--- Configure the policy map and specify the class map
!--- inside this policy map for the class map.
ASA(config-cmap)#policy-map tcp_bypass_policy
ASA(config-pmap)#class tcp_bypass
!--- Use the set connection advanced-options tcp-state-bypass
!--- command in order to enable TCP state bypass feature.
ASA(config-pmap-c)#set connection advanced-options tcp-state-bypass
!--- Use the service-policy policymap_name [ global | interface intf ]
!--- command in global configuration mode in order to activate a policy map
!--- globally on all interfaces or on a targeted interface.
ASA(config-pmap-c)#service-policy tcp_bypass_policy inside
!--- Permit same security level traffic on the ASA to support U-turning
ASA(config)#same-security-traffic permit intra-interface
Immettere il mostra conn per visualizzare il numero di connessioni TCP e UDP attive e le informazioni sulle connessioni dei vari tipi. Per visualizzare lo stato della connessione per il tipo di connessione designato, immettere il mostra conn in modalità di esecuzione privilegiata.
Nota: Questo comando supporta gli indirizzi IPv4 e IPv6. L'output visualizzato per le connessioni che utilizzano la funzione di bypass dello stato TCP include il flag b.
Di seguito è riportato un esempio di output:
ASA(config)show conn
1 in use, 3 most used
TCP tcp 10.1.1.1:49525 tcp 172.16.1.1:21, idle 0:01:10, bytes 230, flags b
Non sono disponibili informazioni specifiche sulla risoluzione dei problemi per questa funzionalità. Per informazioni generali sulla risoluzione dei problemi di connettività, consultare i seguenti documenti:
Nota: Le connessioni TCP di bypass dello stato non vengono replicate nell'unità di standby in una coppia di failover.
L'ASA visualizza questo messaggio di errore anche dopo aver abilitato la funzione TCP state bypass:
%PIX|ASA-4-313004:Denied ICMP type=icmp_type, from source_address oninterface interface_name to dest_address:no matching session
I pacchetti ICMP (Internet Control Message Protocol) vengono scartati dall'appliance ASA a causa dei controlli di sicurezza aggiunti dalla funzionalità ICMP con stato. In genere, si tratta di risposte echo ICMP senza una richiesta echo valida già passata sull'appliance ASA o di messaggi di errore ICMP non correlati a sessioni TCP, UDP o ICMP attualmente stabilite nell'appliance ASA.
L'ASA visualizza questo registro anche se la funzione TCP state bypass è abilitata perché non è possibile disabilitare questa funzionalità (ossia, le verifiche delle voci restituite ICMP per il tipo 3 nella tabella delle connessioni). Tuttavia, la funzione TCP state bypass funziona correttamente.
Immettere questo comando per evitare che vengano visualizzati questi messaggi:
hostname(config)#no logging message 313004
Revisione | Data di pubblicazione | Commenti |
---|---|---|
1.0 |
15-Jun-2015 |
Versione iniziale |