PIX ASA 7.x - Surveillance DNS avec la commande static et trois interfaces NAT ccnp_cch
Sommaire • Introduction - Prérequis - Composants utilisés - Produits liés • Rappel • Scénario : Trois interfaces NAT (inside, outside, dmz) - Topologie - Problème: Le client ne peut pas accéder ou serveur WWW - Solution: Mot-clé "dns" - Solution alternative: NAT destination • Configuration de l'inspection DNS • Vérification - Capture de trafic DNS • Résolution de problèmes - La re-écriture DNS n'est pas réalisée - La création de traduction échoue ccnp_cch
Introduction Ce document fournit un exemple de configuration pour réaliser la surveillance DNS (Domain Name System) sur l'appliance de sécurité ASA série 5500 ou l'appliance de sécurité PIX série 500 en utilisant la traduction NAT statique. La surveillance DNS au- torise la re-écriture d'enregistrement A par l'appliance de sécurité. La re-écriture DNS réalise deux fonctions: Traduit une adresse publique (routable ou mappée) en une réponse DNS vers une adresse privée (l'adresse réelle) quand le client DNS est situé sur une interface pri- vée. Traduit une adresse privée en une adresse publique lorsque le client est sur une interface publique. Note : La configuration dans ce document contient trois interfaces NAT, inside et outside et dmz. Prérequis L'inspection DNS doit être validée pour réaliser la surveillance DNS sur l'appliance de sécurité. L'inspection DNS est validée par défaut. Si elle a été dévalidée, voir la section "Configurer l'inspection DNS" dans ce document pour la revalider. Quand l'inspection DNS est validée, l'appliance de sécurité réalise les tâches suivantes: Traduit l'enregistrement DNS sur la base de la configuration des commandes nat et static (re-écriture DNS). Cette traduction s'applique uniquement aux enregistre- ments A dans les réponses DNS. Par conséquent les recherches inverses qui utili- sent l'enregistrement PTR ne sont pas affectées par la re-écriture DNS. Note : La re-écriture DNS n'est pas compatible avec PAT Statique (Port Address Translation) car plusieurs règles PAT sont applicables pour chaque enregistrement A et la règle PAT à utiliser est ambiguë. Force la vérification de la longueur maximum d'un message DNS (la valeur par dé- faut est 512 octets et la valeur maximum est 65535 octets). Le réassemblage est réalisé si nécessaire pour vérifier que la longueur du paquet est inférieure à la lon- gueur configurée. Le paquet est éliminé si la longueur excède le maximum permis. Note : si vous entrez la commande inspect dns sans l'option maximum-length, la taille du paquet DNS n'est pas vérifiée. Applique une longueur de nom de domaine de 255 octets et une étiquette de 63 octets. Vérifie l'intégrité du nom de domaine référencé par le pointeur si les pointeurs de compression sont présents dans le message DNS. Vérifie si une boucle de pointeur de compression existe. ccnp_cch
(Optionnel) Cisco Adaptive Security Device Manager (ASDM) release 5 (Optionnel) Cisco Adaptive Security Device Manager (ASDM) release 5.2.1 ou sui- vantes. Composants utilisés Les informations présentées dans ce document sont basées sur l'appliance de sécurité ASA 550 version 7.2(1). Produits liés Cette configuration peut être également utilisée avec l'appliance de sécurité PIX série 500 version 6.2 et suivantes. Note : La configuration ASDM (Adaptive Security Device Manager) est applicable sur la version 7.x uniquement. Rappel Dans un échange DNS typique un client transmet une URL ou un nom de host à un serveur DNS pour déterminer l'adresse IP de ce host. Le serveur DNS reçoit la requête, recherche la correspondance nom-adresse IP pour ce host et ensuite fournit l'enregis- trement A avec l'adresse IP au client. Bien que cette procédure fonctionne dans beau- coup de cas, des problèmes peuvent survenir. Ces problèmes peuvent survenir quand le client et le host que le client essaie d'atteindre sont tous les deux sur le même ré- seau privé derrière du NAT mais le serveur DNS utilisé par le client est sur un autre réseau public. Scénario : Trois interfaces NAT (inside, outside, dmz) Topologie Dans ce scénario, le client est situé sur l'interface inside de l'ASA. Le serveur WWW que le client essaie d'atteindre est sur l'interface dmz de l'ASA. PAT dynamique est configuré pour permettre au client d'accéder à Internet. NAT statique avec une liste d'accès est configuré pour permettre l'accès à Internet par le serveur mais aussi per- mettre aux hosts Internet d'accéder au serveur WWW. ccnp_cch
Client .2 172.20.1.0/24 172.22.1.0/24 .1 .2 192.168.100.0/24 .161 .1 Serveur DNS 10.10.10.0/24 .10 WWW Server.example.com Mappé : 172.20.1.10 Ce schéma est un exemple de cette situation. Dans ce cas, le client qui a l'adresse 192.168.100.2 veut utiliser l'URL www.example.com pour accéder au serveur WWW situé à l'adresse 10.10.10.10. Les services DNS pour le client sont fournis par le DNS externe situé à l'adresse 172.22.1.161. Comme le serveur DNS est situé sur un autre réseau public il ne connaît pas l'adresse privée du serveur WWW. Au lieu de cela il connaît le serveur WWW mappé à l'adresse 172.20.1.10. Ainsi le serveur DNS contient la correspondance adresse IP - Nom de server.example.com vers 172.20.1.10. Problème : Le client ne peut pas accéder au serveur WWW Sans surveillance DNS ou une autre solution valide pour cette situation,si le client transmet une requête DNS pour l'adresse IP de server.example.com, il ne peut pas ac- céder au serveur WWW. Ceci est du au fait que que le client reçoit un enregistrement A qui contient l'adresse l'adresse publique mappée 172.20.1.10 du serveur WWW. Quand le client tente d'accèder à cette adresse IP, l'appliance de sécurité élimine les paquets car elle n'autorise pas la redirection de paquets sur la même interface. Voici à quoi ressemble la configuration quand la surveillance DNS n'est pas validée. ciscoasa(config)#show running−config : Saved : ASA Version 7.2(1) ! hostname ciscoasa !−−− Partie supprimée. access−list OUTSIDE extended permit tcp any host 172.20.1.10 eq www global (outside) 1 interface nat (inside) 1 192.168.100.0 255.255.255.0 ccnp_cch
static (inside,dmz) 192.168.100.0 192.168.100.0 netmask 255.255.255.0 !−−− Traduction statique pour permettre aux hosts sur l'interface inside !−−− d'accéder aux hosts de la dmz. static (dmz,outside) 172.20.1.10 10.10.10.10 netmask 255.255.255.255 !−−− Traduction statique pour permettre aux hosts de l'interface outside !−−− d'accéder au serveur WWW. access−group OUTSIDE in interface outside !−−− Partie supprimée. Voici à quoi ressemble la configuration dans l'ASDM quand la surveillance DNS n'est pas validée. ccnp_cch
Voici une capture d'évènements quand la surveillance DNS n'est pas validée. 1. Le client transmet une 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 réalisé sur la requête DNS par l'ASA et la requête est acheminée. Notez que l'adresse source du paquet a changé pour être celle de l'interface outside de l'ASA. No. Time Source Destination Protocol Info 1 0.000000 172.20.1.2 172.22.1.161 DNS Standard query 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 User Datagram Protocol, Src Port: 1044 (1044), Dst Port: domain (53) ccnp_cch
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 Time to live: 1 hour Data length: 4 Addr: 172.20.1.10 4. L'ASA fait la traduction inverse de l'adresse de l'adresse destination de la réponse DNS et achemine le paquet vers le client. Notez que sans surveillance DNS validée, le champ Addr dans la réponse est toujours l'adresse mappée du serveur DNS. No. Time Source Destination Protocol Info 2 0.005264 172.22.1.161 192.168.100.2 DNS Standard query response 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) [Time: 0.005264000 seconds] ccnp_cch
Solution : Mot-clé "dns" ccnp_cch 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 Time to live: 1 hour Data length: 4 Addr: 172.20.1.10 5. A ce point, le client tente d'accéder au serveur WWW à l'adresse 172.20.2.1. L'ASA crée une entrée de connexion pour cette communication. Cependant l'ASA n'autori- se pas le flux de trafic de inside vers outside puis vers inside. %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" Surveillance DNS avec le mot clé "dns" La surveillance DNS avec le mot-clé dns donne à l'appliance de sécurité la possibilité d'intercepter et de reécrire le contenu de la réponse DNS vers le client. Quand elle est correctement configurée, l'appliance de sécurité peut modifier l'enregistrement A pour permettre à un client dans un tel scénario de se connecter au serveur WWW. Dans cette situation, avec la surveillance DNS validée, l'appliance de sécurité re-écrit l'enregistrement A pour diriger le client vers 10.10.10.10 au lieu de 172.20.1.10. La surveillance DNS est validée quand vous ajoutez le mot-clé dns à une instruction nat static. Voici à quoi ressemble la partie de configuration NAT quand la surveillance DNS est validée. ciscoasa(config)#show run : Saved : ASA Version 7.2(1) ! hostname ciscoasa !−−− Partie supprimée. access−list OUTSIDE extended permit tcp any host 172.20.1.10 eq www 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 !−−− Traduction statique pour permettre aux hosts sur l'interface inside !−−− d'accéder aux hosts de la dmz. ccnp_cch
static (dmz,outside) 172. 20. 1. 10 10. 10. 10. 10 netmask 255. 255 static (dmz,outside) 172.20.1.10 10.10.10.10 netmask 255.255.255.255 dns !−−− Le mot clé "dns" est ajouté pour indiquer à l'appliance de sécurité !−−− de modifier les enregistrements DNS liés à cette entrée. access−group OUTSIDE in interface outside !−−− Partie supprimée. Exécutez ces étapes pour configurer la surveillance DNS dans l'ASDM. 1. Naviguez vers Configuration> NAT et choisissez la règle NAT statique à modifier. Cliquez sur Edit. 2. Cliquez sur NAT Options… ccnp_cch
3. Cochez la case Translate the DNS replies that match the translation rule. ccnp_cch
4. Cliquez sur OK pour quitter la fenêtre NAT Options 4. Cliquez sur OK pour quitter la fenêtre NAT Options. Cliquez sur OK pour quitter la fenêtre Edit Static NAT Rule. Cliquez sur Apply pour transmettre la configuration à l'appliance de sécurité. Voici une capture des paquets d'évènements quand la surveillance DNS est validée. 1. Le client transmet une 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 exécuté sur la requête DNS par l'ASA et la requête est acheminée. Notez que l'adresse source du paquet a changé pour celle de l'interface outside de l'ASA. No. Time Source Destination Protocol Info 1 0.000000 172.20.1.2 172.22.1.161 DNS Standard query 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 User Datagram Protocol, Src Port: 1035 (1035), Dst Port: domain (53) ccnp_cch
3. Le serveur DNS répond avec l'adresse mappée du serveur WWW. No 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 Time to live: 1 hour Data length: 4 Addr: 172.20.1.10 4. L'ASA modifie la traduction de l'adresse destination de la réponse DNS et achemine le paquet vers le client. Notez que lorsque la surveillance DNS est activée, le champ Addr de la réponse est reécrit avec l'adresse réelle du serveur 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) [Request In: 5] [Time: 0.002182000 seconds] Transaction ID: 0x0004 ccnp_cch
Configuration finale ASA 7.2(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 Time to live: 1 hour Data length: 4 Addr: 10.10.10.10 5. A ce point le client tente d'accéder au serveur WWW à l'adresse 10.10.10.10. La connexion réussie. Configuration finale avec le mot clé "dns" Ceci est la configuration finale de l'ASA pour réaliser la surveillance 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 ccnp_cch
ccnp_cch 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 !−−− Liste d'accès qui permet à l'accès HTTP d'être mappé avec !−−− l'adresse du serveur WWW. 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 !−−− Configuration PAT et NAT statique. Le mot clé DNS indique à !−−− l'appliance de sécurité de reécrire les enregistrements DNS !--- liés à cette entrée. access−group OUTSIDE in interface outside !−−− Liste de contrôle d'accès qui permet l'accès au serveur HTTP !−−− au serveur WWW est appliquée à l'interface outside. 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 ccnp_cch
ccnp_cch ! 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 !−−− L'inspection DNS est validée. inspect icmp policy−map type inspect dns migrated_dns_map_1 service−policy global_policy global prompt hostname context Cryptochecksum:d6637819c6ea981daf20d8c7aa8ca256 : end ccnp_cch
ccnp_cch Solution alternative : NAT destination NAT destination peut fournir une alternative à la surveillance DNS. L'utilisation de NAT destination dans cette situation requiert qu'une traduction NAT statique créée entre l'adresse publique du serveur WWW sur l'interface outside et l'adresse réelle de la DMZ. NAT destination ne change pas le contenu de l'enregistrement A retourné du serveur vers le client. Au-lieu de cela quand vous utilisez NAT destination dans ce scé- nario, le client peut utiliser l'adresse IP publique 172.20.1.10 qui est retournée par le serveur WWW. La traduction statique permet à l'appliance de sécurité de traduire l'adresse destination de 172.20.1.10 vers 10.10.10.10. voici la partie de configuration quand NAT destination est utilisé. ciscoasa(config)#show running−config : Saved : ASA Version 7.2(1) ! hostname ciscoasa !−−− Partie supprimée. access−list OUTSIDE extended permit tcp any host 172.20.1.10 eq www global (outside) 1 interface nat (inside) 1 192.168.100.0 255.255.255.0 !−−− Les commandes nat et global permettent aux clients !−−− d'accéder à Internet. static (inside,dmz) 192.168.100.0 192.168.100.0 netmask 255.255.255.0 !−−− Traduction statique pour permettre aux hosts sur l'interface inside !−−− d'accéder aux hosts de la dmz. static (dmz,outside) 172.20.1.10 10.10.10.10 netmask 255.255.255.255 !−−− Traduction statique pour permettre aux hosts sur l'interface outside !−−− d'accéder au serveur WWW. static (dmz,inside) 172.20.1.10 10.10.10.10 netmask 255.255.255.255 !−−− d'accéder au serveur WWW via son adresse externe. access−group OUTSIDE in interface outside ccnp_cch
Exécutez ces étapes pour configurer NAT destination dans l'ASDM. 1. Naviguez vers Configuration> NAT puis choisissez Add> Add static NAT Rule…. 2. Entrez la configuration pour la nouvelle traduction statique. a. Remplissez la zone Real Address avec l'adresse du serveur WWW. b. Remplissez la zone Static Translation avec l'adresse et l'interface que vous voulez mapper avec le serveur WWW. Dans ce cas l'interface inside est choisie pour permettre aux hosts de l'interface inside d'accéder au serveur WWW via l'adresse mappée 172.20.1.10. ccnp_cch
Voici la séquence des évènements quand NAT destination est configuré Voici la séquence des évènements quand NAT destination est configuré. Supposons que le client a déjà fait la requête DNS vers le serveur et qu'il reçoit une réponse avec l'adresse 172.20.1.10 pour le serveur WWW. 1. Le client tente de contacter le serveur WWW à l'adresse 172.20.1.10. %ASA−7−609001: Built local−host inside:192.168.100.2 2. L'appliance de sécurité reçoit la requête et reconnaît que le serveur WWW est à l'adresse 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 et le serveur WWW. Notez les adresses mappées 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 la connexion a réussi entre le client et le serveur WWW à travers l'appliance de sécurité. Dans ce cas, la première traduction statique est utilisée. 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 5. La commande show conn sur l'appliance de sécurité vérifie que la connexion a réussi entre le client et le serveur WWW à travers l'appliance de sécurité. Notez l'a- dresse réelle du serveur WWW entre paranthè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 ccnp_cch
Configuration finale ASA 7.2(1) Configuration finale avec NAT destination Ceci est la configuration finale de l'ASA pour réaliser la surveillance DNS avec NAT destination et trois interfaces. 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 !−−− Liste d'accès simple qui permet l'accès HTTP à l'adresse !−−− mappée du serveur WWW. pager lines 24 logging enable logging buffered debugging mtu outside 1500 mtu inside 1500 mtu dmz 1500 ccnp_cch
ccnp_cch 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 !−−− Les commandes nat et global permettent !−−− aux clients d'accéder Internet. static (inside,dmz) 192.168.100.0 192.168.100.0 netmask 255.255.255.0 !−−− Traduction statique qui permet aux hosts sur l'interface !--- inside d'accéder aux hosts de la dmz. static (dmz,outside) 172.20.1.10 10.10.10.10 netmask 255.255.255.255 !--- outside d'accéder au serveur WWW. static (dmz,inside) 172.20.1.10 10.10.10.10 netmask 255.255.255.255 !--- inside d'accéder au serveur WWW via son adresse externe. access−group OUTSIDE in interface outside !−−− ACL qui permet l'accès HTTP au serveur WWW est appliquée !−−− à l'interface outside. 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 ccnp_cch
Configuration de l'inspection DNS 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 ! service−policy global_policy global prompt hostname context Cryptochecksum:d6637819c6ea981daf20d8c7aa8ca256 : end Configuration de l'inspection DNS Exécutez ces étapes pour valider l'inspection DNS (si elle a été dévalidée au préalable). Dans cet exemple l'inspection DNS est ajoutée à la stratégie d'inspection globale par défaut, laquelle est appliquée par la commande service-policy bien que l'ASA débute avec une configuration par défaut . 1. Créez une map de stratégie d'inspection DNS. ciscoasa(config)#policy−map type inspect dns MY_DNS_INSPECT_MAP 2. En mode de configuration policy map, entrez en mode de configuration parameter pour spécifier les paramètres du moteur d'inspection. ciscoasa(config−pmap)#parameters 3. En mode de configuration policy map parameter, spécifiez la longueur maximum du message DNS à 512. ciscoasa(config−pmap−p)#message−length maximum 512 ccnp_cch
4. Sortez des modes de configuration policy map parameter et policy map. ciscoasa(config−pmap−p)#exit ciscoasa(config−pmap)#exit 5. Confirmez que la policy-map d'inspection a été créée comme désirée. 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 en mode de configuration policy map pour global_policy. ciscoasa(config)#policy−map global_policy ciscoasa(config−pmap)# 7. En mode de configuration policy map, spécifiez la class-map de couche 3/4 par défaut inspection-default. ciscoasa(config−pmap)#class inspection_default ciscoasa(config−pmap−c)# 8. En mode de configuration policy map class spécifiez que le DNS doit être inspecté en utilisant la policy-map créée aux étapes 1 à 3. ciscoasa(config−pmap−c)#inspect dns MY_DNS_INSPECT_MAP 9. Revenez au mode de configuration global ciscoasa(config−pmap−c)#exit 10. Vérifiez que la policy-map global_policy est configurée comme voulu. ciscoasa(config)#show run policy−map !−−− Policy-map d'inspection DNS configurée. policy−map global_policy class inspection_default inspect ftp inspect h323 h225 inspect h323 ras inspect rsh inspect rtsp inspect esmtp inspect sqlnet ccnp_cch
Vérification ccnp_cch inspect skinny inspect sunrpc inspect xdmcp inspect sip inspect netbios inspect tftp inspect dns MY_DNS_INSPECT_MAP !−−− Inspection d'application DNS validée. 11. Vérifiez que global_policy est appliquée par une service-policy. ciscoasa(config)#show run service−policy service−policy global_policy global Vérification Utilisez cette section pour confirmer que votre configuration fonctionne correctement. Capture du trafic DNS Une méthode pour vérifier que l'appliance de sécurité reécrit correctement les enre- gistrements DNS est de capturer les paquets en question comme cela a été expliqué dans l'exemple précédent. Exécutez ces étapes pour capturer les paquets sur l'ASA. 1. Créez une liste d'accès pour chaque instance de capture que vous voulez créer. L'ACL doit spécifier le trafic que vous voulez capturer. dans cet exemple, deux ACLs ont été créées. L'ACL pour le trafic sur l'interface outside. access−list DNSOUTCAP extended permit ip host 172.22.1.161 host 172.20.1.2 !−−− Tout le trafic entre le serveur DNS et l'ASA. access−list DNSOUTCAP extended permit ip host 172.20.1.2 host 172.22.1.161 !−−− Tout le trafic entre l'ASA et le serveur DNS. L'ACL pour le trafic sur l'interface inside access−list DNSINCAP extended permit ip host 192.168.100.2 host 172.22.1.161 !−−− Tout le trafic entre le client et le serveur DNS. access−list DNSINCAP extended permit ip host 172.22.1.161 host 192.168.100.2 !−−− Tout le trafic entre le serveur DNS et le client. ccnp_cch
Résolution de problèmes 2. Créez les instances de capture ciscoasa#capture DNSOUTSIDE access−list DNSOUTCAP interface outside !−−− Cette capture collecte le trafic qui corresponde à l'ACL DNSOUTCAP !--- sur l'interface outside. ciscoasa# capture DNSINSIDE access−list DNSINCAP interface inside !−−− Cette capture collecte le trafic qui corresponde à l'ACL DNSOINCAP !--- sur l'interface inside. 3. Affichez les captures. 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 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 4. (Optionnel) Copier les captures vers un serveur TFTP au format pcap pour l'ana- lyse avec une autre application. Les applications qui peuvent analyser le format pcap peuvent donner des détails supplémentaires tels que le nom et l'adresse IP dans les enregistrements DNS A. ciscoasa#copy /pcap capture:DNSINSIDE tftp ... ciscoasa#copy /pcap capture:DNSOUTSIDE tftp Résolution de problèmes Cette section fournit des informations que vous pouvez utiliser pour résoudre des pro- blèmes liés à votre configuration. La reécriture DNS n'est pas exécutée Assurez-vous que l'inspection DNS est configurée sur l'appliance de sécurité. La création de traduction échoue Si une connexion ne peut pas être créée entre le client et le serveur WWW, cela pour- rait être du à une configuration NAT incorrecte. Vérifiez les messages de log de l'appli- ance de sécurité qui indiquent qu'un protocole a échoué dans la création d'une tra- duction à travers l'appliance de sécurité. Si un tel message apparaît, vérifiez que NAT a été configuré pour le trafic désiré et qu'aucune adresse n'est incorrecte. ccnp_cch