Sécurité : pare-feu de nouvelle génération Cisco ASA, série 5500-X

PIX/ASA : Exemple de configuration de DNS Doctoring avec la commande static et trois interfaces NAT

19 octobre 2014 - Traduction automatique
Autres versions: PDFpdf | Anglais (23 septembre 2014) | Commentaires


Contenu


Introduction

Ce document fournit un exemple de configuration pour effectuer le doctoring du Système de noms de domaine (DNS) sur l'appliance de sécurité adaptative de la gamme ASA 5500 ou l'appliance de sécurité de la gamme PIX 500 qui utilise des instructions de traduction d'adresses de réseau (NAT) statique. Le DNS doctoring permet à l'appliance de sécurité de réécrire les enregistrements A- DNS .

La réécriture DNS remplit deux fonctions:

  • Elle traduit une adresse publique (l'adresse routable ou mappée) dans une réponse de DNS à une adresse privée (la véritable adresse) quand le client DNS est sur une interface privée.

  • Elle traduit une adresse privée en une adresse publique quand le client DNS est sur l'interface publique.

Remarque: La configuration dans ce document contient trois interfaces NAT: à l'intérieur de, à l'extérieur et dmz. Pour un exemple du doctoring DNS soignant avec des routages statiques et deux interfaces NAT, consultez PIX/ASA : Comment réaliser le doctoring DNS avec un exemple de configuration de la Commande statique et de deux Interfaces NAT.

Consultez PIX/ASA 7.x, instructions NAT et PAT et Utilisation des commandes nat, global, static, conduit et access-list et de la redirection (transfert) de port sur le pare-feu PIX pour plus d'informations sur la façon d'utiliser NAT sur une Appliance de sécurité PIX/ASA.

Référez-vous à Utilisation des commandes nat, global, static, conduit, et liste d'accès et redirection de port (transmission) sur PIX afin d'en savoir plus sur les commandes nat, global, static, conduit et liste d'accès et la redirection de port (transmission) sur PIX.

Conditions préalables

Conditions requises

  • L'inspection de DNS doit être activée afin d'effectuer le doctoring DNS sur l'appliance de sécurité. L'inspection de DNS est allumée par défaut. Cependant, si elle a été désactivée, consultez la partie Configuration d'une inspection DNS plus tard dans ce document pour la réactiver. Quand l'inspection de DNS est activée, l'appliance de sécurité effectue ces tâches:

    • Traduit l'enregistrement DNS basé sur la configuration complétée en utilisant le routage statique et les commandes nat (réécriture de DNS). Le routage de traduction s'applique seulement à l'enregistrement A dans la réponse de DNS. Par conséquent, les recherches inverses qui demandent l'enregistrement PTR, ne sont pas affectées par la réécriture de DNS.

      Remarque: La réécriture DNS n'est pas compatible avec la Traduction d'adresses de port statique (PAT) car plusieurs règles PAT sont applicables pour chaque enregistrement-A et car la règle PAT à utiliser est ambiguë.

    • Impose la longueur maximale de message DNS (le routage par défaut est de 512 octets et la longueur maximale est de 65535 octets). Le réassemblage est exécuté selon les besoins pour vérifier que la longueur du paquet est inférieure à la longueur maximale configurée. Le paquet est abandonné s'il dépasse la longueur maximale.

      Remarque: Si vous lancez la commande inspect dns sans l'option de longueur maximum, la taille du paquet DNS n'est pas vérifiée.

    • Impose une longueur de nom de domaine de 255 octets et une longueur d'étiquette de 63 octets.

    • Vérifie l'intégrité du nom de domaine mentionnée par le pointeur situé si des pointeurs de compression sont rencontrés dans le message de DNS.

    • Contrôle pour vérifier si une boucle de pointeur de compression existe.

  • Facultatif : Cisco Adaptive Security Device Manager (ASDM) 5.2(1) ou versions ultérieures

    Remarque: Référez-vous à Permettre l'accès HTTPS pour l'ASDM afin de permettre l'ASA d'être configuré par l'ASDM.

Composants utilisés

Les informations de ce document sont basées sur l'appliance de sécurité de la gamme ASA 5500, version 7.2(1).

Les informations contenues dans ce document ont été créées à partir des périphériques d'un environnement de laboratoire spécifique. Tous les périphériques utilisés dans ce document ont démarré avec une configuration effacée (par défaut). Si votre réseau est opérationnel, assurez-vous que vous comprenez l'effet potentiel de toute commande.

Produits connexes

Cette configuration peut également être utilisée avec l'Appliance de sécurité de la gamme Cisco PIX 500, version 6.2 ou ultérieures.

Remarque: La configuration ASDM s'applique à la version 7.x seulement.

Conventions

Pour plus d'informations sur les conventions utilisées dans ce document, reportez-vous à Conventions relatives aux conseils techniques Cisco.

Informations générales

Dans un échange habituel DNS, un client de routage envoie une URL ou un nom d'hôte à un serveur DNS afin de déterminer l'adresse IP de cet hôte. Le serveur DNS reçoit la requête de routage, vérifie le consultations le mappage de nom-à-adresse-IP pour cet hôte et fournit à l'enregistrement A l'adresse IP au client de routage. Tandis que cette procédure fonctionne bien dans beaucoup de situations, les problèmes de routage peuvent se poser. Ces problèmes peuvent se poser quand le client de routage et l'hôte que le client de routage essaye d'atteindre sont tous deux sur le même réseau privé derrière NAT, mais le serveur DNS utilisé par le client de routage est sur un autre réseau public.

Scénario : Trois interfaces NAT (à l'intérieur, à l'extérieur, dmz)

Topologie

Dans ce scénario, le client de routage se trouve sur l'interface interne de l'ASA. Le serveur WWW que le client de routage essaye d'atteindre se trouve sur l'interface dmz de l'ASA. Le PAT dynamique est configuré pour permettre l'accès client au routage Internet. NAT statique avec une liste d'accès est configurée pour permettre au serveur d'accéder à Internet et de permettre aussi aux hôtes Internet d'accéder au serveur WWWW.

/image/gif/paws/72273/dns-doctoring-3zones1.gif

Ce schéma illustre cette situation. Dans ce cas, le client à l'adresse 192.168.100.2 veut utiliser l'URL server.example.com pour accéder au serveur WWW à 10.10.10.10. Les services DNS pour le client sont fournis par le serveur DNS externe à l'adresse 172.22.1.161. Puisque le serveur DNS est situé sur un autre réseau public, il ne connaît pas l'adresse IP privée du serveur WWW. En revanche, il connaît l'adresse mappée du serveur WWW, à savoir 172.20.1.10. Ainsi, le serveur DNS contient le mappage de l'adresse IP à nommer server.example.com à 172.20.1.10.

Problème : Le client de routage ne peut pas accéder au serveur WWW

Sans le doctoring DNS ou une autre solution de routage activée dans cette situation, si le client de routage envoie une demande DNS pour l'adresse IP de server.example.com, il ne peut pas accéder au serveur WWW. C'est parce que le client de routage reçoit un enregistrement A qui contient l'adresse publique mappée de 172.20.1.10 pour le serveur WWW. Quand le client de routage essaie d'accéder à cette adresse IP, l'appliance de sécurité supprime les paquets parce qu'elle ne permet pas la redirection de paquets sur la même interface. Voici ce à quoi ressemble la partie NAT de la configuration quand le doctoring DNS n'est pas activé:

ciscoasa(config)#show running-config
: Saved
:
ASA Version 7.2(1)
!
hostname ciscoasa

!--- Output suppressed.

access-list OUTSIDE extended permit tcp any host 172.20.1.10 eq www

!--- Output suppressed.

global (outside) 1 interface
nat (inside) 1 192.168.100.0 255.255.255.0
static (inside,dmz) 192.168.100.0 192.168.100.0 netmask 255.255.255.0

!--- Static translation to allow hosts on the inside access to
!--- hosts on the dmz.

static (dmz,outside) 172.20.1.10 10.10.10.10 netmask 255.255.255.255

!--- Static translation to allow hosts on the outside access
!--- to the WWW server.

access-group OUTSIDE in interface outside

!--- Output suppressed.

Voici ce à quoi la configuration ressemble dans l'ASDM quand le doctoring DNS n'est pas activé:

dns-doctoring-3zones2.gif

Voici une capture de paquets des événements quand le doctoring DNS n'est pas activé:

  1. Le client de routage envoie la requête DNS.

    No.     Time       Source          Destination     Protocol Info
    1       0.000000   192.168.100.2   172.22.1.161    DNS Standard query 
                                                       A server.example.com
    
    Frame 1 (78 bytes on wire, 78 bytes captured)
    Ethernet II, Src: Cisco_c8:e4:00 (00:04:c0:c8:e4:00), Dst: Cisco_9c:c6:1f 
    (00:0a:b8:9c:c6:1f)
    Internet Protocol, Src: 192.168.100.2 (192.168.100.2), Dst: 172.22.1.161 
    (172.22.1.161)
    User Datagram Protocol, Src Port: 50879 (50879), Dst Port: domain (53)
    Domain Name System (query)
        [Response In: 2]
        Transaction ID: 0x0004
        Flags: 0x0100 (Standard query)
        Questions: 1
        Answer RRs: 0
        Authority RRs: 0
        Additional RRs: 0
        Queries
            server.example.com: type A, class IN
                Name: server.example.com
                Type: A (Host address)
                Class: IN (0x0001)
    
  2. PAT est effectué sur la requête DNS par l'ASA et la requête est transférée. Notez que l'adresse source du paquet a changé sur l'interface externe de l'ASA.

    No.     Time       Source          Destination     Protocol Info
    1       0.000000   172.20.1.2      172.22.1.161    DNS Standard query 
                                                       A server.example.com
    
    Frame 1 (78 bytes on wire, 78 bytes captured)
    Ethernet II, Src: Cisco_9c:c6:1e (00:0a:b8:9c:c6:1e), Dst: Cisco_01:f1:22 
    (00:30:94:01:f1:22)
    Internet Protocol, Src: 172.20.1.2 (172.20.1.2), Dst: 172.22.1.161 
    (172.22.1.161)
    User Datagram Protocol, Src Port: 1044 (1044), Dst Port: domain (53)
    Domain Name System (query)
        [Response In: 2]
        Transaction ID: 0x0004
        Flags: 0x0100 (Standard query)
        Questions: 1
        Answer RRs: 0
        Authority RRs: 0
        Additional RRs: 0
        Queries
            server.example.com: type A, class IN
                Name: server.example.com
                Type: A (Host address)
                Class: IN (0x0001)
  3. Le serveur DNS répond avec l'adresse mappée du serveur WWW.

    No.     Time       Source         Destination       Protocol Info
    2       0.005005   172.22.1.161   172.20.1.2        DNS Standard query response 
                                                        A 172.20.1.10
    
    Frame 2 (94 bytes on wire, 94 bytes captured)
    Ethernet II, Src: Cisco_01:f1:22 (00:30:94:01:f1:22), Dst: Cisco_9c:c6:1e 
    (00:0a:b8:9c:c6:1e)
    Internet Protocol, Src: 172.22.1.161 (172.22.1.161), Dst: 172.20.1.2 
    (172.20.1.2)
    User Datagram Protocol, Src Port: domain (53), Dst Port: 1044 (1044)
    Domain Name System (response)
        [Request In: 1]
        [Time: 0.005005000 seconds]
        Transaction ID: 0x0004
        Flags: 0x8580 (Standard query response, No error)
        Questions: 1
        Answer RRs: 1
        Authority RRs: 0
        Additional RRs: 0
        Queries
            server.example.com: type A, class IN
                Name: server.example.com
                Type: A (Host address)
                Class: IN (0x0001)
        Answers
            server.example.com: type A, class IN, addr 172.20.1.10
                Name: server.example.com
                Type: A (Host address)
                Class: IN (0x0001)
                Time to live: 1 hour
                Data length: 4
                Addr: 172.20.1.10
    
  4. L'ASA annule le routage de traduction de l'adresse de destination de la réponse de DNS et transfère le paquet au client de routage. Notez que sans le doctoring DNS activé, l'adresse dans la réponse est toujours l'adresse mappée du serveur WWW.

    No.     Time      Source         Destination      Protocol Info
    2       0.005264  172.22.1.161   192.168.100.2    DNS Standard query response 
                                                      A 172.20.1.10
    
    Frame 2 (94 bytes on wire, 94 bytes captured)
    Ethernet II, Src: Cisco_9c:c6:1f (00:0a:b8:9c:c6:1f), Dst: Cisco_c8:e4:00 
    (00:04:c0:c8:e4:00)
    Internet Protocol, Src: 172.22.1.161 (172.22.1.161), Dst: 192.168.100.2 
    (192.168.100.2)
    User Datagram Protocol, Src Port: domain (53), Dst Port: 50879 (50879)
    Domain Name System (response)
        [Request In: 1]
        [Time: 0.005264000 seconds]
        Transaction ID: 0x0004
        Flags: 0x8580 (Standard query response, No error)
        Questions: 1
        Answer RRs: 1
        Authority RRs: 0
        Additional RRs: 0
        Queries
            server.example.com: type A, class IN
                Name: server.example.com
                Type: A (Host address)
                Class: IN (0x0001)
        Answers
            server.example.com: type A, class IN, addr 172.20.1.10
                Name: server.example.com
                Type: A (Host address)
                Class: IN (0x0001)
                Time to live: 1 hour
                Data length: 4
                Addr: 172.20.1.10
    
  5. A ce moment, le client de routage essaie d'accéder au serveur WWW à 172.20.1.10. L'ASA crée une entrée de routage de connexion pour cette communication. Cependant, parce qu'elle ne permet pas au trafic de circuler de l'intérieur vers l'extérieur vers dmz, la connexion expire. Les journaux ASA montrent ceci:

    %ASA-6-302013: Built outbound TCP connection 54175 for 
    outside:172.20.1.10/80 (172.20.1.10/80) to inside:192.168.100.2/11001 
    (172.20.1.2/1024)
    
    %ASA-6-302014: Teardown TCP connection 54175 for outside:172.20.1.10/80 
    to inside:192.168.100.2/11001 duration 0:00:30 bytes 0 SYN Timeout
    

Solution : "mot clé « dns »

Doctoring DNS avec le mot clé « dns »

Le doctoring DNS avec le mot clé de dns donne à l'appliance de sécurité la capacité d'intercepter et réécrire les contenus des réponses du serveur DNS au client de routage. Une fois correctement configurée, l'appliance de sécurité peut modifier l'enregistrement A pour autoriser le client de routage dans un scénario comme celui évoqué dans le problème de routage : Le client de routage ne peut pas accéder à la partie Serveur WWW pour se connecter. Dans cette situation, avec le doctoring DNS activé, l'appliance de sécurité réécrit l'enregistrement A pour diriger le client de routage vers 10.10.10.10, au lieu de 172.20.1.10. Le doctoring DNS est activé quand vous ajoutez le mot clé de dns à une instruction NAT statique. Voici ce à quoi ressemble la partie NAT de la configuration quand le doctoring DNS es activé:

ciscoasa(config)#show running-config
: Saved
:
ASA Version 7.2(1)
!
hostname ciscoasa

!--- Output suppressed.

access-list OUTSIDE extended permit tcp any host 172.20.1.10 eq www

!--- Output suppressed.

global (outside) 1 interface
nat (inside) 1 192.168.100.0 255.255.255.0
static (inside,dmz) 192.168.100.0 192.168.100.0 netmask 255.255.255.0

!--- Static translation to allow hosts on the inside access to
!--- hosts on the dmz.

static (dmz,outside) 172.20.1.10 10.10.10.10 netmask 255.255.255.255 dns

!--- The "dns" keyword is added to instruct the security appliance 
!--- to modify DNS records related to this entry.

access-group OUTSIDE in interface outside

!--- Output suppressed.

Exécutez les étapes suivantes afin de configurer le doctoring DNS dans l'ASDM:

  1. Naviguez vers la Configuration > NAT et choisissez que la règle NAT statique doit être modifiée. Cliquez sur Edit.

    dns-doctoring-3zones3.gif

  2. Cliquez surOptions NAT...

    dns-doctoring-3zones4.gif

  3. Sélectionnez la case à cocher Traduire les réponses de DNS qui correspondent à la règle de routage de traduction.

    dns-doctoring-3zones5.gif

  4. Cliquez sur OK pour quitter la fenêtre Options NAT. Cliquez sur OK pour quitter la fenêtre de la règle NAT statique. Cliquez sur Apply pour envoyer votre configuration à l'appliance de sécurité.

Voici une capture de paquets des événements quand le doctoring DNS est activé:

  1. Le client de routage envoie la requête DNS.

    No.     Time       Source           Destination     Protocol Info
    1       0.000000   192.168.100.2    172.22.1.161    DNS Standard query 
                                                        A server.example.com
    
    Frame 1 (78 bytes on wire, 78 bytes captured)
    Ethernet II, Src: Cisco_c8:e4:00 (00:04:c0:c8:e4:00), Dst: Cisco_9c:c6:1f 
    (00:0a:b8:9c:c6:1f)
    Internet Protocol, Src: 192.168.100.2 (192.168.100.2), Dst: 172.22.1.161 
    (172.22.1.161)
    User Datagram Protocol, Src Port: 52985 (52985), Dst Port: domain (53)
    Domain Name System (query)
        [Response In: 2]
        Transaction ID: 0x000c
        Flags: 0x0100 (Standard query)
        Questions: 1
        Answer RRs: 0
        Authority RRs: 0
        Additional RRs: 0
        Queries
            server.example.com: type A, class IN
                Name: server.example.com
                Type: A (Host address)
                Class: IN (0x0001)
    
  2. PAT est effectué sur la requête DNS par l'ASA et la requête est transférée. Notez que l'adresse source du paquet a changé sur l'interface externe de l'ASA.

    No.     Time       Source          Destination       Protocol Info
    1       0.000000   172.20.1.2      172.22.1.161      DNS  Standard query 
                                                         A server.example.com
    
    Frame 1 (78 bytes on wire, 78 bytes captured)
    Ethernet II, Src: Cisco_9c:c6:1e (00:0a:b8:9c:c6:1e), Dst: Cisco_01:f1:22 
    (00:30:94:01:f1:22)
    Internet Protocol, Src: 172.20.1.2 (172.20.1.2), Dst: 172.22.1.161 
    (172.22.1.161)
    User Datagram Protocol, Src Port: 1035 (1035), Dst Port: domain (53)
    Domain Name System (query)
        [Response In: 2]
        Transaction ID: 0x000c
        Flags: 0x0100 (Standard query)
        Questions: 1
        Answer RRs: 0
        Authority RRs: 0
        Additional RRs: 0
        Queries
            server.example.com: type A, class IN
                Name: server.example.com
                Type: A (Host address)
                Class: IN (0x0001)
  3. Le serveur DNS répond avec l'adresse mappée du serveur WWW.

    No.     Time       Source         Destination     Protocol Info
    2       0.000992   172.22.1.161   172.20.1.2      DNS Standard query response 
                                                      A 172.20.1.10
    
    Frame 2 (94 bytes on wire, 94 bytes captured)
    Ethernet II, Src: Cisco_01:f1:22 (00:30:94:01:f1:22), Dst: Cisco_9c:c6:1e 
    (00:0a:b8:9c:c6:1e)
    Internet Protocol, Src: 172.22.1.161 (172.22.1.161), Dst: 172.20.1.2 
    (172.20.1.2)
    User Datagram Protocol, Src Port: domain (53), Dst Port: 1035 (1035)
    Domain Name System (response)
        [Request In: 1]
        [Time: 0.000992000 seconds]
        Transaction ID: 0x000c
        Flags: 0x8580 (Standard query response, No error)
        Questions: 1
        Answer RRs: 1
        Authority RRs: 0
        Additional RRs: 0
        Queries
            server.example.com: type A, class IN
                Name: server.example.com
                Type: A (Host address)
                Class: IN (0x0001)
        Answers
            server.example.com: type A, class IN, addr 172.20.1.10
                Name: server.example.com
                Type: A (Host address)
                Class: IN (0x0001)
                Time to live: 1 hour
                Data length: 4
                Addr: 172.20.1.10
    
  4. L'ASA annule le routage de traduction de l'adresse de destination de la réponse de DNS et transfère le paquet au client de routage. Notez qu'avec le doctoring de DNS activé, l'adresse dans la réponse est récrite pour être la véritable adresse du serveur de WWW.

    No.     Time       Source         Destination     Protocol Info
    6       2.507191   172.22.1.161   192.168.100.2   DNS Standard query response 
                                                      A 10.10.10.10
    
    Frame 6 (94 bytes on wire, 94 bytes captured)
    Ethernet II, Src: Cisco_9c:c6:1f (00:0a:b8:9c:c6:1f), Dst: Cisco_c8:e4:00 
    (00:04:c0:c8:e4:00)
    Internet Protocol, Src: 172.22.1.161 (172.22.1.161), Dst: 192.168.100.2 
    (192.168.100.2)
    User Datagram Protocol, Src Port: domain (53), Dst Port: 50752 (50752)
    Domain Name System (response)
        [Request In: 5]
        [Time: 0.002182000 seconds]
        Transaction ID: 0x0004
        Flags: 0x8580 (Standard query response, No error)
        Questions: 1
        Answer RRs: 1
        Authority RRs: 0
        Additional RRs: 0
        Queries
            server.example.com: type A, class IN
                Name: server.example.com
                Type: A (Host address)
                Class: IN (0x0001)
        Answers
            server.example.com: type A, class IN, addr 10.10.10.10
                Name: server.example.com
                Type: A (Host address)
                Class: IN (0x0001)
                Time to live: 1 hour
                Data length: 4
                Addr: 10.10.10.10
    
  5. A ce moment, le client de routage essaie d'accéder au serveur WWW à 10.10.10.10. La connexion réussit.

Configuration finale avec le mot clé de « dns »

C'est la configuration finale de l'ASA pour effectuer le doctoring DNS avec le mot clé dns et trois interfaces NAT.

Configuration finale ASA 7.2(1)
ciscoasa(config)#show running-config
: Saved
:
ASA Version 7.2(1)
!
hostname ciscoasa
enable password 9jNfZuG3TC5tCVH0 encrypted
names
dns-guard
!
interface Ethernet0/0
 nameif outside
 security-level 0
 ip address 172.20.1.2 255.255.255.0
!
interface Ethernet0/1
 nameif inside
 security-level 100
 ip address 192.168.100.1 255.255.255.0
!
interface Ethernet0/2
 nameif dmz
 security-level 50
 ip address 10.10.10.1 255.255.255.0
!
interface Management0/0
 shutdown
 no nameif
 no security-level
 no ip address
 management-only
!
passwd 2KFQnbNIdI.2KYOU encrypted
ftp mode passive
access-list OUTSIDE extended permit tcp any host 172.20.1.10 eq www

!--- Simple access-list that permits HTTP access to the mapped
!--- address of the WWW server.

pager lines 24
logging enable
logging buffered debugging
mtu outside 1500
mtu inside 1500
mtu dmz 1500
asdm image disk0:/asdm512-k8.bin
no asdm history enable
arp timeout 14400
global (outside) 1 interface
nat (inside) 1 192.168.100.0 255.255.255.0
static (inside,dmz) 192.168.100.0 192.168.100.0 netmask 255.255.255.0
static (dmz,outside) 172.20.1.10 10.10.10.10 netmask 255.255.255.255 dns

!--- PAT and static NAT configuration. The DNS keyword instructs
!--- the security appliance to rewrite DNS records related to this entry.

access-group OUTSIDE in interface outside

!--- The Access Control List (ACL) that permits HTTP access to the 
!--- WWW server is applied to the outside interface.

route outside 0.0.0.0 0.0.0.0 172.20.1.1 1
timeout xlate 3:00:00
timeout conn 1:00:00 half-closed 0:10:00 udp 0:02:00 icmp 0:00:02
timeout sunrpc 0:10:00 h323 0:05:00 h225 1:00:00 mgcp 0:05:00 mgcp-pat 0:05:00
timeout sip 0:30:00 sip_media 0:02:00 sip-invite 0:03:00 sip-disconnect 0:02:00
timeout uauth 0:05:00 absolute
username cisco password ffIRPGpDSOJh9YLq encrypted
http server enable
no snmp-server location
no snmp-server contact
snmp-server enable traps snmp authentication linkup linkdown coldstart
telnet timeout 5
ssh timeout 5
console timeout 0
!
class-map inspection_default
 match default-inspection-traffic
!
!
policy-map type inspect dns MY_DNS_INSPECT_MAP
 parameters
  message-length maximum 512
policy-map global_policy
 class inspection_default
  inspect ftp
  inspect h323 h225
  inspect h323 ras
  inspect rsh
  inspect rtsp
  inspect esmtp
  inspect sqlnet
  inspect skinny
  inspect sunrpc
  inspect xdmcp
  inspect sip
  inspect netbios
  inspect tftp
  inspect dns MY_DNS_INSPECT_MAP

!--- DNS inspection is enabled using the configured map.

  inspect icmp
policy-map type inspect dns migrated_dns_map_1
 parameters
  message-length maximum 512
!
service-policy global_policy global
prompt hostname context
Cryptochecksum:d6637819c6ea981daf20d8c7aa8ca256
: end

Solution alternative: Adresse NAT de destination

La destination NAT peut fournir une alternative au doctoring DNS. L'utilisation de destination NAT dans cette situation requiert qu'une traduction NAT statique soit créée entre l'adresse publique du serveur WWW sur l'intérieur et la véritable adresse sur le dmz. La destination NAT ne modifie pas les contenus de l'enregistrement A de DNS qui est renvoyé à partir du serveur DNS au client de routage. En revanche, quand vous utilisez la destination NAT dans un scénario tel que celui discuté dans ce document, le client de routage peut utiliser l'adresse IP publique 172.20.1.10 qui est retournée par le serveur DNS afin de se connecter au serveur WWW. Le routage de traduction statique permet à l'appliance de sécurité de traduire l'adresse de destination de 172.20.1.10 en 10.10.10.10. Voici la partie appropriée de la configuration quand la destination NAT est utilisée:

ciscoasa(config)#show running-config
: Saved
:
ASA Version 7.2(1)
!
hostname ciscoasa

!--- Output suppressed.

access-list OUTSIDE extended permit tcp any host 172.20.1.10 eq www

!--- Output suppressed.

global (outside) 1 interface
nat (inside) 1 192.168.100.0 255.255.255.0

!--- The nat and global commands allow  
!--- clients access to the Internet.

static (inside,dmz) 192.168.100.0 192.168.100.0 netmask 255.255.255.0

!--- Static translation to allow hosts on the inside access to
!--- hosts on the dmz.

static (dmz,outside) 172.20.1.10 10.10.10.10 netmask 255.255.255.255

!--- Static translation to allow hosts on the outside access
!--- to the WWW server.

static (dmz,inside) 172.20.1.10 10.10.10.10 netmask 255.255.255.255

!--- Static translation to allow hosts on the inside access
!--- to the WWW server via its outside address.

access-group OUTSIDE in interface outside

!--- Output suppressed.

Exécutez ces étapes afin de définir la configuration NAT dans l'ASDM:

  1. Naviguez vers la Configuration > NAT et choisissez Add > Add Static NAT Rule....

    dns-doctoring-3zones6.gif

  2. Complétez la configuration pour la nouveau routage de traduction statique.

    1. Remplissez la zone Véritable adresse avec les informations du serveur WWW.

    2. Remplissez la zone Routage de traduction statique avec l'adresse et l'interface que vous souhaitez mapper au serveur WWW.

    Dans ce cas, l'interface interne est choisie pour permettre à des hôtes sur l'interface interne d'accéder au serveur WWW par l'intermédiaire de l'adresse mappée 172.20.1.10.

    /image/gif/paws/72273/dns-doctoring-3zones7.gif

  3. Cliquez surOK pour quitter la fenêtre Ajouter la règle NAT statique.

  4. Cliquez sur Apply pour envoyer la configuration à l'appliance de sécurité.

Voici la séquence des événements qui ont lieu quand la destination NAT est configurée. Supposez que le client de routage a déjà questionné le serveur DNS et qu'il a obtenu une réponse de 172.20.1.10 pour l'adresse de serveur WWW:

  1. Le client de routage essaie de contacter le serveur WWW à 172.20.1.10.

    %ASA-7-609001: Built local-host inside:192.168.100.2
  2. L'appliance de sécurité consulte la requête de routage et reconnaît que le serveur WWW est 10.10.10.10.

    %ASA-7-609001: Built local-host dmz:10.10.10.10
  3. L'appliance de sécurité crée une connexion TCP entre le client de routage et le serveur WWW. Notez les adresses mappées de chaque hôte entre parenthèses.

    %ASA-6-302013: Built outbound TCP connection 67956 for dmz:10.10.10.10/80 
    (172.20.1.10/80) to inside:192.168.100.2/11001 (192.168.100.2/11001)
    
  4. La commande show xlate sur l'appliance de sécurité vérifie que le trafic de routage de client de routage est traduit par l'intermédiaire de l'appliance de sécurité. Dans ce cas, le premier routage de traduction statique est en service.

    ciscoasa#show xlate
    3 in use, 9 most used
    Global 192.168.100.0 Local 192.168.100.0
    Global 172.20.1.10 Local 10.10.10.10
    Global 172.20.1.10 Local 10.10.10.10
  5. La commande de show conn sur l'appliance de sécurité vérifie que la connexion a réussi entre le client de routage et le serveur WWW par l'intermédiaire de l'appliance de sécurité. Notez la véritable adresse du serveur WWW entre parenthèses.

    ciscoasa#show conn
    TCP out 172.20.1.10(10.10.10.10):80 in 192.168.100.2:11001 
    idle 0:01:38 bytes 1486 flags UIO

Configuration finale avec la destination NAT

C'est la configuration finale de l'ASA pour effectuer le doctoring DNS avec la destination NAT et trois interfaces NAT.

Configuration finale ASA 7.2(1)
ciscoasa#show running-config
: Saved
:
ASA Version 7.2(1)
!
hostname ciscoasa
enable password 9jNfZuG3TC5tCVH0 encrypted
names
dns-guard
!
interface Ethernet0/0
 nameif outside
 security-level 0
 ip address 172.20.1.2 255.255.255.0
!
interface Ethernet0/1
 nameif inside
 security-level 100
 ip address 192.168.100.1 255.255.255.0
!
interface Ethernet0/2
 nameif dmz
 security-level 50
 ip address 10.10.10.1 255.255.255.0
!
interface Management0/0
 shutdown
 no nameif
 no security-level
 no ip address
 management-only
!
passwd 2KFQnbNIdI.2KYOU encrypted
ftp mode passive
access-list OUTSIDE extended permit tcp any host 172.20.1.10 eq www

!--- Simple access-list that permits HTTP access to the mapped
!--- address of the WWW server.

pager lines 24
logging enable
logging buffered debugging
mtu outside 1500
mtu inside 1500
mtu dmz 1500
asdm image disk0:/asdm512-k8.bin
no asdm history enable
arp timeout 14400
global (outside) 1 interface
nat (inside) 1 192.168.100.0 255.255.255.0

!--- The nat and global commands 
!--- allow clients access to the Internet.

static (inside,dmz) 192.168.100.0 192.168.100.0 netmask 255.255.255.0

!--- Static translation to allow hosts on the inside access to
!--- hosts on the dmz.

static (dmz,outside) 172.20.1.10 10.10.10.10 netmask 255.255.255.255

!--- Static translation to allow hosts on the outside access
!--- to the WWW server.

static (dmz,inside) 172.20.1.10 10.10.10.10 netmask 255.255.255.255

!--- Static translation to allow hosts on the inside access
!--- to the WWW server via its outside address.

access-group OUTSIDE in interface outside

!--- The ACL that permits HTTP access to the WWW server is applied
!--- to the outside interface.

route outside 0.0.0.0 0.0.0.0 172.20.1.1 1
timeout xlate 3:00:00
timeout conn 1:00:00 half-closed 0:10:00 udp 0:02:00 icmp 0:00:02
timeout sunrpc 0:10:00 h323 0:05:00 h225 1:00:00 mgcp 0:05:00 mgcp-pat 0:05:00
timeout sip 0:30:00 sip_media 0:02:00 sip-invite 0:03:00 sip-disconnect 0:02:00
timeout uauth 0:05:00 absolute
username cisco password ffIRPGpDSOJh9YLq encrypted
http server enable
no snmp-server location
no snmp-server contact
snmp-server enable traps snmp authentication linkup linkdown coldstart
telnet timeout 5
ssh timeout 5
console timeout 0
!
class-map inspection_default
 match default-inspection-traffic
!
!
policy-map type inspect dns MY_DNS_INSPECT_MAP
 parameters
  message-length maximum 512
policy-map global_policy
 class inspection_default
  inspect ftp
  inspect h323 h225
  inspect h323 ras
  inspect rsh
  inspect rtsp
  inspect esmtp
  inspect sqlnet
  inspect skinny
  inspect sunrpc
  inspect xdmcp
  inspect sip
  inspect netbios
  inspect tftp
  inspect dns MY_DNS_INSPECT_MAP
  inspect icmp
policy-map type inspect dns migrated_dns_map_1
 parameters
  message-length maximum 512
!
service-policy global_policy global
prompt hostname context
Cryptochecksum:d6637819c6ea981daf20d8c7aa8ca256
: end

Configurez l'inspection de DNS

Exécutez ces étapes afin d'activer l'inspection de DNS (si elle a été précédemment désactivée). Dans cet exemple, l'inspection de DNS est ajoutée à la stratégie globale d'inspection par défaut, qui est appliqué globalement par une commande service-policy comme si l'ASA avait commencé avec une configuration par défaut. Consultez Utilisation d'un cadre de stratégie modulaire pour plus d'informations sur les stratégies et l'inspection des services.

  1. Créez une carte de stratégie d'inspection pour le DNS.

    ciscoasa(config)#policy-map type inspect dns MY_DNS_INSPECT_MAP
    
  2. A partir du mode de configuration de la carte de stratégie, entrez le mode de configuration de paramètre pour spécifier les paramètres pour le moteur d'inspection.

    ciscoasa(config-pmap)#parameters
    
  3. En mode de configuration de paramètre de carte de stratégie, spécifiez la longueur maximum du message pour que les messages de DNS soient 512.

    ciscoasa(config-pmap-p)#message-length maximum 512
    
  4. Quittez le mode de configuration de paramètre de la carte de stratégie et le mode de configuration de la carte de stratégie.

    ciscoasa(config-pmap-p)#exit
    ciscoasa(config-pmap)#exit
    
  5. Confirmez que la carte de stratégie d'inspection a été créée comme souhaité.

    ciscoasa(config)#show run policy-map type inspect dns
    !
    policy-map type inspect dns MY_DNS_INSPECT_MAP
     parameters
      message-length maximum 512
    !
  6. Entrez le mode de configuration de la carte de stratégie pour la stratégie globale.

    ciscoasa(config)#policy-map global_policy
    ciscoasa(config-pmap)#
  7. En mode de configuration de la carte de stratégie, spécifiez la carte de classe de couche 3/4 par défaut, inspection_default.

    ciscoasa(config-pmap)#class inspection_default
    ciscoasa(config-pmap-c)#
  8. Dans le mode de configuration de la classe de carte de stratégie, spécifiez que le DNS devrait être inspecté en utilisant la carte de la stratégie d'inspection créée dans les étapes 1-3.

    ciscoasa(config-pmap-c)#inspect dns MY_DNS_INSPECT_MAP
    
  9. Quittez le mode de configuration de la classe de la carte de stratégie et le mode de configuration de la carte de stratégie.

    ciscoasa(config-pmap-c)#exit
    ciscoasa(config-pmap)#exit
    
  10. Vérifiez que la carte de stratégie global_policy est configurée comme souhaité.

    ciscoasa(config)#show run policy-map
    !
    
    !--- The configured DNS inspection policy map.
    
    policy-map type inspect dns MY_DNS_INSPECT_MAP
     parameters
      message-length maximum 512
    policy-map global_policy
     class inspection_default
      inspect ftp
      inspect h323 h225
      inspect h323 ras
      inspect rsh
      inspect rtsp
      inspect esmtp
      inspect sqlnet
      inspect skinny
      inspect sunrpc
      inspect xdmcp
      inspect sip
      inspect netbios
      inspect tftp
      inspect dns MY_DNS_INSPECT_MAP
    
    !--- DNS application inspection enabled.
    
    !
  11. Vérifiez que la stratégie globale est appliquée globalement par une stratégie de services.

    ciscoasa(config)#show run service-policy
    service-policy global_policy global

Vérifiez

Référez-vous à cette section pour vous assurer du bon fonctionnement de votre configuration.

L'Outil Interpréteur de sortie (clients enregistrés uniquement) (OIT) prend en charge certaines commandes show. Utilisez l'OIT pour afficher une analyse de la sortie de la commande show .

Saisissez le trafic DNS

Une méthode pour vérifier que l'appliance de sécurité réécrit les enregistrements DNS consiste à capturer les paquets en question, comme évoqué dans l'exemple précédent. Exécutez ces étapes afin de capturer le trafic de routage sur l'ASA:

  1. Créez une liste d'accès pour chaque exemple de capture que vous voulez créer.

    L'ACL devrait spécifier le trafic de routage que vous voulez capturer. Dans cet exemple, deux ACLs ont été créés.

    • L'ACL pour le trafic de routage sur l'interface externe:

      access-list DNSOUTCAP extended permit ip host 172.22.1.161 host 172.20.1.2
      
      !--- All traffic between the DNS server and the ASA.
      
      access-list DNSOUTCAP extended permit ip host 172.20.1.2 host 172.22.1.161
      
      !--- All traffic between the ASA and the DNS server.
      
      
    • L'ACL pour le trafic de routage sur l'interface interne:

      access-list DNSINCAP extended permit ip host 192.168.100.2 host 172.22.1.161
      
      !--- All traffic between the client and the DNS server.
      
      access-list DNSINCAP extended permit ip host 172.22.1.161 host 192.168.100.2
      
      !--- All traffic between the DNS server and the client.
      
      
  2. Créez les exemples de capture:

    ciscoasa#capture DNSOUTSIDE access-list DNSOUTCAP interface outside
    
    !--- This capture collects traffic on the outside interface that matches
    !--- the ACL DNSOUTCAP.
    
    ciscoasa# capture DNSINSIDE access-list DNSINCAP interface inside
    
    !--- This capture collects traffic on the inside interface that matches
    !--- the ACL DNSINCAP.
    
    
  3. Affichez les captures.

    Voici ce à quoi ressemble l'exemple de capture après qu'une partie du trafic DNS a été passée:

    ciscoasa#show capture DNSOUTSIDE
    2 packets captured
       1: 14:07:21.347195 172.20.1.2.1025 > 172.22.1.161.53:  udp 36
       2: 14:07:21.352093 172.22.1.161.53 > 172.20.1.2.1025:  udp 93
    2 packets shown
    ciscoasa#show capture DNSINSIDE
    2 packets captured
       1: 14:07:21.346951 192.168.100.2.57225 > 172.22.1.161.53:  udp 36
       2: 14:07:21.352124 172.22.1.161.53 > 192.168.100.2.57225:  udp 93
    2 packets shown
  4. (Facultatif) copiez les captures vers un serveur TFTP dans le format pcap pour l'analyse dans une autre application.

    Les applications qui peuvent analyser le format de pcap peuvent montrer des détails supplémentaires tels que le nom et l'adresse IP dans des enregistrements A du DNS.

    ciscoasa#copy /pcap capture:DNSINSIDE tftp
    ...
    ciscoasa#copy /pcap capture:DNSOUTSIDE tftp
    

Dépannez

Cette section fournit des informations que vous pouvez utiliser pour dépanner votre configuration.

La réécriture DNS n'est pas effectuée

Assurez-vous que vous avez l'inspection de DNS configurée sur l'appliance de sécurité. Consultez la partie Configuration de l'inspection de DNS.

La création de routage de traduction a échoué

Si une connexion ne peut pas être créée entre le client de routage et le serveur WWW, elle pourrait être due à une erreur de configuration NAT. Vérifiez les journaux d'appliance de sécurité pour les messages qui indiquent qu'un protocole de routage n'a pas créé un routage de traduction par l'intermédiaire de l'appliance de sécurité. Si de tels messages apparaissent, vérifiez que NAT a été configuré pour le trafic de routage souhaité et qu'aucune adresse n'est incorrecte.

%ASA-3-305006: portmap translation creation failed for tcp src 
inside:192.168.100.2/11000 dst inside:192.168.100.10/80

Effacez les entrées de xlate, et puis retirez et réappliquez les déclarations NAT afin de résoudre cette erreur.

Conversations connexes de la communauté de soutien de Cisco

Le site Cisco Support Community est un forum où vous pouvez poser des questions, répondre à des questions, faire part de suggestions et collaborer avec vos pairs.


Informations connexes


Document ID: 72273