Introduzione
In questo articolo viene descritto come risolvere i problemi relativi alla funzionalità DNScrypt di blocco del firewall ASA.
Panoramica
Cisco ASA Firewall può bloccare la funzionalità DNScrypt offerta da Umbrella Virtual Appliance. Di seguito è riportato il messaggio di avviso di Umbrella Dashboard:

I messaggi di errore possono essere visualizzati anche nei log del firewall dell'ASA:
Dropped UDP DNS request from inside:192.168.1.1/53904 to outside-fiber:208.67.220.220/53; label length 71 bytes exceeds protocol limit of 63 bytes
La crittografia DNSCrypt è progettata per proteggere il contenuto delle query DNS e, di conseguenza, impedisce ai firewall di eseguire l'ispezione dei pacchetti.
Causa
Questi errori non devono causare alcun impatto sulla risoluzione DNS per gli utenti.
L'appliance virtuale invia query di test per determinare la disponibilità di DNScrypt. Le query di test sono bloccate. Tuttavia, questi messaggi di errore indicano che l'appliance virtuale non aggiunge ulteriore sicurezza crittografando il traffico DNS della società.
Risoluzione
È consigliabile disabilitare l'ispezione dei pacchetti DNS per il traffico tra l'appliance virtuale e i resolver DNS Umbrella. Anche se questa operazione disabilita la registrazione e l'ispezione del protocollo sull'appliance ASA, migliora la sicurezza consentendo la crittografia DNS.
Nota: Questi comandi vengono forniti solo come guida e si consiglia di consultare un esperto Cisco prima di apportare qualsiasi modifica a un ambiente di produzione.
Tenere presente questo difetto anche sull'appliance ASA potrebbe influire sul DNS su TCP, il che può causare problemi anche con DNSCrypt:
Supporto ispezione DNS CSCsm90809 per DNS su TCP
Eccezioni ispezione pacchetti - Comandi IOS
- Creare un nuovo ACL chiamato 'dns_inspect' con regole per negare il traffico a 208.67.222.222 e 208.67.220.220.
access-list dns_inspect extended deny udp host <Appliance IP> host 208.67.220.220 eq domain
access-list dns_inspect extended deny tcp host <Appliance IP> host 208.67.220.220 eq domain
access-list dns_inspect extended deny udp host <Appliance IP> host 208.67.222.222 eq domain
access-list dns_inspect extended deny tcp host <Appliance IP> host 208.67.222.222 eq domain
access-list dns_inspect extended permit udp any any eq domain
access-list dns_inspect extended permit tcp any any eq domain
For VA 2.2.0, please also add our 3rd and 4th resolver IPs which are also enabled for encryption. This will not be needed for 2.2.1+
access-list dns_inspect extended deny udp host <Appliance IP> host 208.67.220.222 eq domain
access-list dns_inspect extended deny tcp host <Appliance IP> host 208.67.220.222 eq domain
access-list dns_inspect extended deny udp host <Appliance IP> host 208.67.222.220 eq domain
access-list dns_inspect extended deny tcp host <Appliance IP> host 208.67.222.220 eq domain
- Rimuovere i criteri di ispezione DNS correnti sull'appliance ASA. Ad esempio:
ciscoasa(config)# policy-map global_policy
ciscoasa(config-pmap)# class inspection_default
ciscoasa(config-pmap-c)# no inspect dns
- Creare una mappa delle classi corrispondente all'ACL creato nel passaggio 1:
class-map dns_inspect_cmap
match access-list dns_inspect
- Configurare una mappa dei criteri in global_policy. Deve corrispondere alla mappa delle classi creata nel passaggio 3. Abilitare l'ispezione DNS.
policy-map global_policy
class dns_inspect_cmap
inspect dns
- Dopo aver abilitato la funzione, è possibile verificare se il traffico sta raggiungendo le esclusioni eseguendo:
sh access-list dns_inspect
Eccezioni ispezione pacchetti - Interfaccia ASDM
- Disabilitare innanzitutto l'ispezione dei pacchetti DNS, se applicabile. Questa operazione viene eseguita in Configurazione > Firewall > Regole dei criteri di servizio.

- Nell'esempio, l'ispezione DNS è abilitata nella classe Criteri globali e 'selection_default'. Evidenziarlo e fare clic su Modifica. Nella nuova finestra deselezionare la casella relativa a 'DNS' nella scheda "Azione regola".

- È ora possibile riconfigurare l'ispezione DNS, questa volta con ulteriori esenzioni dal traffico. Fare clic su Add > Add Service Policy Rule...

- Selezionare "Global - Applies to all interfaces" e fare clic su Next (applicabile anche a un'interfaccia specifica).

- Assegnare un nome alla mappa di classe (ad esempio 'dns-cmap') e selezionare l'opzione "Source and Destination IP Address (uses ACL)". Fare clic su Avanti.

- Iniziare configurando il traffico che non si desidera venga ispezionato utilizzando l'azione "Non corrispondenza".
Per Source, è possibile utilizzare l'opzione 'any' per esentare tutto il traffico destinato ai server DNS di Umbrella. In alternativa, è possibile creare una definizione dell'oggetto di rete per esentare solo l'indirizzo IP specifico dell'appliance virtuale.

- Fare clic su ... nel campo Destinazione. Nella finestra successiva, fare clic su Add > Network Object e creare un oggetto con l'indirizzo IP '208.67.222.222'. Ripetere questo passaggio per creare un oggetto con indirizzo IP '208.67.220.220'.


- Aggiungere entrambi gli oggetti di rete Umbrella al campo Destinazione e fare clic su OK.

- Nella finestra successiva selezionare la casella relativa a 'DNS' e fare clic su Fine.

- L'ASA mostra ora la nuova policy globale per 'dns-cmap'. A questo punto, è necessario configurare il traffico rimanente che viene ispezionato dall'ASA. A tale scopo, fare clic con il pulsante destro del mouse su 'dns-cmap' e selezionare l'opzione "Insert After..." (Inserisci dopo). che crea una nuova regola.

- Nella prima finestra, fare clic su Next (Avanti), quindi selezionare il pulsante di opzione "Add rule to existing traffic class:" (Aggiungi regola alla classe traffico esistente). Selezionare 'dns-cmap' dall'elenco a discesa e fare clic su Avanti.

- Lasciare l'azione come 'Corrispondenza'. Scegliere l'origine, la destinazione e il servizio del traffico soggetto a ispezione DNS. In questo caso, ad esempio, viene confrontato il traffico proveniente da qualsiasi client diretto a qualsiasi server DNS TCP o UDP. Fare clic su Next (Avanti).

- Lasciare selezionata l'opzione 'DNS' e fare clic su Fine.
- Fare clic su Apply (Applica) nella parte inferiore della finestra.

Ulteriori informazioni
Se si preferisce disabilitare DNScrypt anziché configurare le esenzioni ASA, contattare il supporto Umbrella.