Introduction
Cet article décrit comment dépanner le pare-feu ASA bloquant la fonctionnalité DNScrypt.
Aperçu
Le pare-feu Cisco ASA peut bloquer la fonctionnalité DNScrypt offerte par l'appareil virtuel Umbrella. Cela entraîne cet avertissement de tableau de bord de parapluie :

Ces messages d'erreur peuvent également être vus dans les journaux du pare-feu 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
Le cryptage DNSCrypt est conçu pour protéger le contenu de vos requêtes DNS et, en tant que tel, empêche également les pare-feu d'effectuer l'inspection des paquets.
Motif
Ces erreurs ne doivent pas avoir d'impact sur la résolution DNS pour les utilisateurs.
L'appliance virtuelle envoie des requêtes de test pour déterminer la disponibilité de DNScrypt et ce sont ces requêtes de test qui sont bloquées. Cependant, ces messages d'erreur indiquent que l'appliance virtuelle n'ajoute pas de sécurité supplémentaire en chiffrant le trafic DNS de votre entreprise.
Résolution
Nous vous recommandons de désactiver l'inspection des paquets DNS pour le trafic entre l'appliance virtuelle et les résolveurs DNS d'Umbrella. Bien que cela désactive la journalisation et l'inspection de protocole sur l'ASA, cela améliore la sécurité en autorisant le chiffrement DNS.
Remarque : Ces commandes sont fournies à titre indicatif uniquement et il est recommandé de consulter un expert Cisco avant d'apporter des modifications à un environnement de production.
Notez également ce défaut sur ASA pourrait affecter DNS sur TCP, ce qui peut également entraîner des problèmes avec DNSCrypt :
CSCsm90809 Prise en charge de l'inspection DNS pour DNS sur TCP
Exceptions d'inspection des paquets - Commandes IOS
- Créez une nouvelle liste de contrôle d'accès appelée « dns_inspect » avec des règles pour refuser le trafic vers 208.67.222.222 et 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
- Supprimez la stratégie d'inspection DNS actuelle sur l'ASA. Exemple :
ciscoasa(config)# policy-map global_policy
ciscoasa(config-pmap)# class inspection_default
ciscoasa(config-pmap-c)# no inspect dns
- Créez une carte de classe correspondant à la liste de contrôle d’accès créée à l’étape #1 :
class-map dns_inspect_cmap
match access-list dns_inspect
- Configurez un policy-map sous global_policy. Cela doit correspondre à la carte de classe créée à l'étape #3. Activez l'inspection DNS.
policy-map global_policy
class dns_inspect_cmap
inspect dns
- Une fois activé, vous pouvez vérifier que le trafic atteint les exclusions en exécutant :
sh access-list dns_inspect
Exceptions d'inspection de paquet - Interface ASDM
- Commencez par désactiver toute inspection de paquet DNS, le cas échéant.Ceci est fait dans Configuration > Firewall > Service Policy Rules.

- Dans l'exemple, l'inspection DNS est activée sous la politique globale et la classe « inspection_default ». Mettez-le en surbrillance et cliquez sur Edit. Dans la nouvelle fenêtre, décochez la case « DNS » sous l'onglet « Rule Action ».

- Vous pouvez maintenant reconfigurer l'inspection DNS, cette fois avec des exemptions de trafic supplémentaires. Cliquez sur Add > Add Service Policy Rule...

- Sélectionnez "Global - Applies to all interfaces" et cliquez sur Next (vous pouvez également appliquer ceci à une interface spécifique si vous le souhaitez).

- Attribuez un nom au class-map (par exemple 'dns-cmap') et cochez l'option "Adresse IP source et de destination (utilise ACL). Cliquez sur Suivant.

- Commencez par configurer le trafic que vous ne souhaitez pas inspecter à l'aide de l'action « Ne pas correspondre ».
Pour Source, vous pouvez utiliser l'option 'any' pour exempter tout le trafic destiné aux serveurs DNS d'Umbrella. Vous pouvez également créer une définition d'objet réseau ici pour exempter uniquement l'adresse IP spécifique de l'appliance virtuelle.

- Cliquez sur ... dans le champ Destination. Dans la fenêtre suivante, cliquez sur Add > Network Object et créez un objet avec l'adresse IP '208.67.222.222'. Répétez cette étape pour créer un objet avec l'adresse IP « 208.67.220.220 ».


- Ajoutez les deux objets réseau Umbrella au champ Destination et cliquez sur OK.

- Dans la fenêtre suivante, cochez la case « DNS » et cliquez sur Finish.

- L'ASA affiche maintenant la nouvelle politique globale pour « dns-cmap ». Maintenant, vous devez configurer le trafic restant qui est inspecté par l'ASA. Pour ce faire, cliquez avec le bouton droit sur 'dns-cmap' et sélectionnez l'option "Insérer après..." qui crée une nouvelle règle.

- Dans la première fenêtre, cliquez sur Next et sur puis cochez la case d'option « Add rule to existing traffic class: ». Sélectionnez « dns-cmap » dans la liste déroulante, puis cliquez sur Next.

- Laissez l'action « Correspondance ». Choisissez la source, la destination et le service du trafic qui est soumis à l'inspection DNS. Ici, par exemple, nous faisons correspondre le trafic de n'importe quel client allant à n'importe quel serveur DNS TCP ou UDP. Cliquez sur Next (Suivant).

- Laissez l'option « DNS » cochée et cliquez sur Finish.
- Cliquez sur Apply en bas de la fenêtre.

Informations complémentaires
Si vous préférez désactiver DNScrypt plutôt que de configurer des exemptions ASA, contactez le support d'Umbrella.