Ce document décrit comment la redirection de port fonctionne sur le dispositif de sécurité adaptatif dédié Cisco (ASA) en utilisant l'ASDM. Il porte sur le contrôle d'accès du trafic par l'ASA et comment les règles de traduction fonctionnent.
Cisco vous recommande de prendre connaissance des rubriques suivantes :
Les informations contenues dans ce document sont basées sur les versions de matériel et de logiciel suivantes :
Gamme Cisco 5500 ASA version 8.2
Cisco ASDM version 6.3
Remarque : cette configuration fonctionne correctement à partir de la version 8.0 du logiciel Cisco ASA vers la version 8.2 uniquement, car il n'y a pas de modifications majeures dans la fonctionnalité NAT.
The information in this document was created from the devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. If your network is live, make sure that you understand the potential impact of any command.
Pour plus d'informations sur les conventions utilisées dans ce document, reportez-vous à Conventions relatives aux conseils techniques Cisco.
Les schémas d'adressage d'IP utilisés dans cette configuration ne sont pas légalement routables sur Internet. Ce sont des adresses RFC 1918 qui ont été utilisés dans un environnement de laboratoire.
L'accès sortant décrit les connexions d'une interface à niveau de sécurité plus élevé à une interface à niveau de sécurité moins élevé. Cela inclut les connexions de l'intérieur vers l'extérieur, de l'intérieur vers des zones démilitarisées (DMZ), et de DMZ vers l'extérieur. Cela peut également inclure des connexions d'une DMZ vers une autre, tant que l'interface de la source de connexion a un niveau de sécurité plus élevé que la destination.
Aucune connexion ne peut passer par l'appliance de sécurité sans qu'une règle de traduction ne soit configurée. Cette fonctionnalité est appelée nat-control . L'image illustrée ici montre comment désactiver cette fonctionnalité via ASDM afin d'autoriser les connexions via l'ASA sans traduction d'adresse. Cependant, si vous avez configuré une règle de traduction, la désactivation de cette fonctionnalité ne reste pas valide pour tout le trafic et vous devrez explicitement exempter les réseaux de la traduction d'adresses.
Vous pouvez autoriser un groupe d’hôtes/réseaux internes à accéder au monde extérieur en configurant les règles NAT dynamiques. Pour ce faire, vous devez sélectionner l’adresse réelle des hôtes/réseaux auxquels l’accès doit être accordé, puis les mapper à un pool d’adresses IP traduites.
Complétez ces étapes afin de permettre aux hôtes internes d'accéder aux réseaux externes avec NAT :
Accédez à Configuration > Firewall > NAT Rules, cliquez sur Add, puis choisissez l'option Add Dynamic NAT Rule afin de configurer une règle NAT dynamique.
Choisissez le nom de l’interface à laquelle les hôtes réels sont connectés. Choisissez l’adresse IP réelle des hôtes/réseaux à l’aide du bouton Détails dans le champ Source.
Dans cet exemple, l'ensemble du réseau interne a été sélectionné. Cliquez sur OK afin de compléter la sélection.
Cliquez sur Manage afin de sélectionner le pool d'adresses IP auquel le réseau réel sera mappé.
Cliquez sur Add afin d'ouvrir la fenêtre Add Global Address Pool.
Choisissez l'option Range et spécifiez les adresses IP de début et de fin avec l'interface de sortie. Spécifiez également un ID de pool unique et cliquez sur Add afin de les ajouter au pool d'adresses. Cliquez sur OK afin de revenir à la fenêtre Gérer le pool global.
Cliquez sur OK afin de revenir à la fenêtre Add Dynamic NAT Rule.
Cliquez sur OK afin de terminer la configuration de la règle NAT dynamique.
Cliquez sur Apply pour que les modifications prennent effet.
Remarque : l'option Enable traffic through the firewall without address translation est décochée.
Voici le résultat de l'interface de ligne de commande équivalente pour cette configuration ASDM :
nat-control global (outside) 10 209.165.200.20-209.165.200.40 netmask 255.255.255.192 nat (inside) 10 172.16.11.0 255.255.255.0
Selon cette configuration, les hôtes du réseau 172.16.11.0 seront traduits en toute adresse IP du pool NAT, 209.165.200.20-209.165.200.40. Ici, l'ID de pool NAT est très important. Vous pouvez attribuer le même pool NAT à un autre réseau interne/dmz. Si le pool mappé a moins d'adresses que le groupe réel, vous risquez de manquer d'adresses si la quantité de trafic est supérieure aux prévisions. Par conséquent, vous pouvez essayer d'implémenter la PAT ou de modifier le pool d'adresses existant pour l'étendre.
Remarque : lorsque vous apportez des modifications à la règle de traduction existante, notez que vous devez utiliser la commande clear xlate pour que ces modifications prennent effet. Sinon, la connexion existante précédente restera dans la table de connexion jusqu'à expiration. Soyez prudent lors de l'utilisation de la commande clear xlate, car elle met immédiatement fin aux connexions existantes.
Si vous voulez que les hôtes internes partagent une seule adresse publique pour la traduction, utilisez PAT. Si l'instruction global spécifie une adresse, cette adresse est une traduction de port. L'ASA permet la traduction d'un port par interface et cette traduction prend en charge jusqu'à 65 535 objets xlate actifs vers l'adresse globale unique.
Complétez ces étapes afin de permettre aux hôtes internes d'accéder aux réseaux externes avec la PAT :
Accédez à Configuration > Firewall > NAT Rules, cliquez sur Add, puis choisissez l'option Add Dynamic NAT Rule afin de configurer une règle NAT dynamique.
Choisissez le nom de l’interface à laquelle les hôtes réels sont connectés. Choisissez l'adresse IP réelle des hôtes/réseaux en utilisant le bouton Details dans le champ Source, et choisissez inside-network. Cliquez sur Manage afin de définir les informations d'adresse traduites.
Cliquez sur Add.
Choisissez la traduction d'adresses de port (PAT) utilisant l'adresse IP de l'option d'interface, et cliquez sur Add afin de l'ajouter au pool d'adresses. N'oubliez pas d'attribuer un ID unique à ce pool d'adresses NAT.
Le pool d'adresses configuré avec l'interface externe comme seule adresse disponible dans ce pool s'affiche ici. Cliquez sur OK afin de revenir à la fenêtre Add Dynamic NAT Rule.
Click OK.
La règle NAT dynamique configurée est affichée ici dans le volet Configuration > Firewall > NAT Rules.
Voici la sortie de CLI équivalente pour cette configuration PAT :
global (outside) 20 interface nat (inside) 20 172.16.11.0 255.255.255.0
Lorsqu'aucune règle d'accès n'est définie, les utilisateurs d'une interface de sécurité supérieure peuvent accéder à toutes les ressources associées à une interface de sécurité inférieure. Pour empêcher certains utilisateurs d'accéder à certaines ressources, utilisez les règles d'accès dans l'ASDM. Cet exemple décrit comment autoriser un utilisateur unique à accéder à des ressources externes (avec FTP, SMTP, POP3, HTTPS et WWW) et comment empêcher tous les autres utilisateurs d'accéder aux ressources externes.
Remarque : une règle de refus implicite s'affiche à la fin de chaque liste de contrôle d'accès.
Procédez comme suit :
Accédez à Configuration > Firewall > Access Rules, cliquez sur Add, et choisissez l'option Add Access Rule afin de créer une nouvelle entrée de liste d'accès.
Sélectionnez l'adresse IP source à autoriser dans le champ Source. Sélectionnez any comme destination, inside comme interface et Permit comme action. Enfin, cliquez sur le bouton Details dans le champ Service afin de créer un groupe de services TCP pour les ports requis.
Cliquez sur Add, puis choisissez l'option TCP Service Group.
Entrez un nom pour ce groupe. Choisissez chacun des ports requis, et cliquez sur Add afin de les déplacer vers le champ Members in Group.
Vous devriez voir tous les ports sélectionnés dans le champ de droite. Cliquez sur OK afin de terminer le processus de sélection des ports de service.
Vous pouvez voir le groupe de services TCP configuré ici. Click OK.
Cliquez sur OK afin de terminer la configuration.
La règle d'accès configurée est visible sous l'interface interne dans le volet Configuration > Firewall > Access Rules.
Pour plus de facilité, vous pouvez également modifier le groupe de services TCP directement dans le volet droit de l'onglet Services. Cliquez sur Edit afin de modifier directement ce service-group.
Il redirige à nouveau vers la fenêtre Modifier le groupe de services TCP. Effectuez des modifications en fonction de vos besoins, et cliquez sur OK afin d'enregistrer les modifications.
Voici une vue complète de l'ASDM :
Il s'agit de la configuration CLI équivalente :
object-group service Permit-172.16.10.100 TCP port-object eq ftp port-object eq ftp-data port-object eq www port-object eq https port-object eq pop3 port-object eq smtp ! access-list inside_access_in extended permit TCP host 172.16.10.100 any object-group Permit-172.16.10.100 ! access-group inside_access_in in interface inside !
Pour des informations complètes sur la mise en oeuvre du contrôle d'accès, référez-vous à Ajouter ou modifier une liste d'accès via l'interface utilisateur graphique d'ASDM.
Cette section décrit comment activer le trafic dans des interfaces qui ont les mêmes niveaux de sécurité.
Ces instructions décrivent comment activer la communication intra-interface.
Cela sera utile pour le trafic VPN qui entre dans une interface, mais qui est ensuite acheminé vers la même interface. Le trafic VPN peut être non chiffré dans ce cas, ou il peut être re-chiffré pour une autre connexion VPN. Accédez à Configuration > Device Setup > Interfaces, et choisissez l'option Enable traffic between two or more hosts connected to the same interface.
Ces instructions décrivent comment activer la communication entre interfaces.
Cela est utile pour permettre la communication entre les interfaces avec des niveaux de sécurité égaux. Accédez à Configuration > Device Setup > Interfaces, et choisissez l'option Enable traffic between two or more interfaces which are configured with same security levels.
Il s'agit de l'interface de ligne de commande équivalente pour ces deux paramètres :
same-security-traffic permit intra-interface same-security-traffic permit inter-interface
Cela peut être réalisé en appliquant une traduction NAT statique et une règle d'accès pour autoriser ces hôtes. Vous devez le configurer chaque fois qu'un utilisateur externe souhaite accéder à un serveur de votre réseau interne. Le serveur du réseau interne aura une adresse IP privée qui ne pourra pas être routée sur Internet. Par conséquent, vous devez traduire cette adresse IP privée en adresse IP publique par le biais d'une règle NAT statique. Supposons que vous ayez un serveur interne (172.16.11.5). Pour que cela fonctionne, vous devez traduire cette adresse IP de serveur privé en adresse IP publique. Cet exemple décrit comment implémenter la NAT statique bidirectionnelle pour traduire 172.16.11.5 en 209.165.200.5.
La section permettant à l'utilisateur externe d'accéder à ce serveur Web en implémentant une règle d'accès n'est pas affichée ici. Un bref extrait de l'interface de ligne de commande est présenté ici pour vous aider à comprendre :
access-list 101 permit TCP any host 209.165.200.5
Pour plus d'informations, référez-vous à Ajouter ou modifier une liste d'accès via l'interface utilisateur graphique d'ASDM.
Remarque : la spécification du mot clé « any » permet à n'importe quel utilisateur du monde extérieur d'accéder à ce serveur. En outre, s'il n'est pas spécifié pour les ports de service, le serveur est accessible sur n'importe quel port de service pendant que ceux-ci restent ouverts. Soyez prudent lorsque vous implémentez et nous vous conseillons de limiter l'autorisation à l'utilisateur externe individuel et également au port requis sur le serveur.
Complétez ces étapes afin de configurer la NAT statique :
Accédez à Configuration > Firewall > NAT Rules, cliquez sur Add, et choisissez Add Static NAT Rule.
Spécifiez l'adresse IP d'origine et l'adresse IP traduite, ainsi que leurs interfaces associées, et cliquez sur OK.
Vous pouvez voir l'entrée NAT statique configurée ici. Cliquez sur Apply afin d'envoyer ceci à l'ASA.
Voici un bref exemple d'interface de ligne de commande pour cette configuration ASDM :
! static (inside,outside) 209.165.200.5 172.16.11.5 netmask 255.255.255.255 !
Lorsque vous devez exempter des hôtes ou des réseaux spécifiques de la NAT, ajoutez une règle d'exemption NAT pour désactiver la traduction d'adresses. Cela permet aux hôtes traduits et distants d’établir des connexions.
Procédez comme suit :
Accédez à Configuration > Firewall > NAT Rules, cliquez sur Add, et choisissez Add NAT Exempt Rule.
Ici, le réseau interne 172.18.10.0 a été exempté de la traduction d’adresses. Assurez-vous que l'option Exempt a été sélectionnée. La direction d'exemption NAT a deux options :
Trafic sortant vers des interfaces de sécurité inférieures
Trafic entrant vers des interfaces de sécurité supérieure
L'option par défaut concerne le trafic sortant. Cliquez sur OK afin de terminer l'étape.
Remarque : lorsque vous choisissez l'option Ne pas exempter, cet hôte particulier ne sera pas exempté de la NAT et une règle d'accès distincte sera ajoutée avec le mot clé « deny ». Cela permet d’éviter que des hôtes spécifiques soient exemptés de la NAT, car le sous-réseau complet, à l’exclusion de ces hôtes, sera exempté de la NAT.
Vous pouvez voir la règle d'exemption NAT pour la direction sortante ici. Cliquez sur Apply afin d'envoyer la configuration à l'ASA.
Voici la sortie de l'interface de ligne de commande équivalente à votre référence :
access-list inside_nat0_outbound extended permit ip host 172.18.10.0 any ! nat (inside) 0 access-list inside_nat0_outbound
Vous pouvez voir ici comment modifier la règle d'exemption NAT pour sa direction. Cliquez sur OK pour que l'option prenne effet.
Vous pouvez maintenant voir que la direction a été changée en entrante.
Cliquez sur Apply afin d'envoyer cette sortie CLI à l'ASA :
access-list inside_nat0_outbound extended permit ip host 172.18.10.0 any ! nat (inside) 0 access-list inside_nat0_outbound outside
Remarque : à partir de cela, vous pouvez voir qu'un nouveau mot clé (outside) a été ajouté à la fin de la commande nat 0. Cette fonctionnalité est appelée une NAT externe.
Une autre façon de désactiver la NAT consiste à implémenter la NAT d'identité. La NAT d'identité traduit un hôte vers la même adresse IP. Voici un exemple de NAT d'identité statique régulière, où l'hôte (172.16.11.20) est traduit en la même adresse IP lorsqu'il est accédé de l'extérieur.
Voici le résultat de l'interface de ligne de commande équivalente :
! static (inside,outside) 172.16.11.20 172.16.11.20 netmask 255.255.255.255 !
Le transfert de port ou la redirection de port est une fonctionnalité utile où les utilisateurs externes tentent d'accéder à un serveur interne sur un port spécifique. Pour ce faire, le serveur interne, qui a une adresse IP privée, sera traduit en une adresse IP publique qui à son tour est autorisée à accéder au port spécifique.
Dans cet exemple, l'utilisateur externe veut accéder au serveur SMTP, 209.165.200.15 au port 25. Cette opération s'effectue en deux étapes :
Traduisez le serveur de messagerie interne, 172.16.11.15 sur le port 25, en adresse IP publique, 209.165.200.15 sur le port 25.
Autorisez l'accès au serveur de messagerie public, 209.165.200.15 au port 25.
Lorsque l'utilisateur externe tente d'accéder au serveur, 209.165.200.15 sur le port 25, ce trafic est redirigé vers le serveur de messagerie interne, 172.16.11.15 sur le port 25.
Accédez à Configuration > Firewall > NAT Rules, cliquez sur Add, et choisissez Add Static NAT Rule.
Spécifiez la source d'origine et l'adresse IP traduite, ainsi que les interfaces associées. Choisissez Enable Port Address Translation (PAT), spécifiez les ports à rediriger, puis cliquez sur OK.
La règle PAT statique configurée s'affiche ici :
Voici le résultat de l'interface de ligne de commande équivalente :
! static (inside,outside) TCP 209.165.200.15 smtp 172.16.11.15 smtp netmask 255.255.255.255 !
Il s'agit de la règle d'accès qui permet à l'utilisateur externe d'accéder au serveur SMTP public à l'adresse 209.165.200.15 :
Remarque : assurez-vous d'utiliser des hôtes spécifiques au lieu d'utiliser le mot clé any dans la source de la règle d'accès.
Vous pouvez spécifier le nombre maximal de connexions TCP/UDP à l'aide de la règle statique. Vous pouvez également spécifier le nombre maximal de connexions embryonnaires. Une connexion embryonnaire est une connexion qui est un état semi-ouvert. Un plus grand nombre d'entre eux affectera les performances de l'ASA. La limitation de ces connexions empêchera dans une certaine mesure certaines attaques telles que DoS et SYN. Pour une atténuation complète, vous devez définir la politique dans le cadre MPF, ce qui dépasse le cadre de ce document. Pour plus d'informations sur ce sujet, référez-vous à Atténuation des attaques réseau.
Procédez comme suit :
Cliquez sur l'onglet Paramètres de connexion, et spécifiez les valeurs pour le nombre maximal de connexions pour cette traduction statique.
Ces images montrent les limites de connexion pour cette traduction statique spécifique :
Voici le résultat de l'interface de ligne de commande équivalente :
! static (inside,outside) TCP 209.165.200.15 smtp 172.16.11.15 smtp netmask 255.255.255.255 TCP 100 50 !
Cette section traite de la mise en oeuvre de listes d'accès basées sur le temps à l'aide de l'ASDM. Les règles d'accès peuvent être appliquées en fonction du temps. Afin de mettre en oeuvre ceci, vous devez définir une plage de temps qui spécifie les minutages par jour/semaine/mois/année. Ensuite, vous devez lier cette plage de temps à la règle d'accès requise. La plage de temps peut être définie de deux manières :
Absolu - Définit une période avec l'heure de début et l'heure de fin.
Périodique - Également appelé périodique. Définit une période qui se produit à des intervalles spécifiés.
Remarque : avant de configurer l'intervalle de temps, assurez-vous que l'ASA a été configuré avec les paramètres de date/heure corrects, car cette fonctionnalité utilise les paramètres d'horloge système pour l'implémenter. La synchronisation d'ASA avec le serveur NTP donnera de bien meilleurs résultats.
Complétez ces étapes afin de configurer cette fonctionnalité via l'ASDM :
Lors de la définition de la règle d'accès, cliquez sur le bouton Détails dans le champ Intervalle de temps.
Cliquez sur Add afin de créer une nouvelle plage de temps.
Définissez le nom de l'intervalle de temps et spécifiez l'heure de début et l'heure de fin. Click OK.
Vous pouvez voir l'intervalle de temps ici. Cliquez sur OK afin de revenir à la fenêtre Ajouter une règle d'accès.
Vous pouvez maintenant voir que la plage de temps Restrict-Usage a été liée à cette règle d'accès.
Conformément à cette configuration de règle d'accès, l'utilisateur situé à l'adresse 172.16.10.50 n'a pas le droit d'utiliser les ressources comprises entre 05/Feb/2011 2 PM et 06/Feb/2011 4.30 PM. Voici le résultat de l'interface de ligne de commande équivalente :
time-range Restrict-Usage absolute start 14:00 05 February 2011 end 16:30 06 February 2011 ! access-list inside_access_out extended deny ip host 172.16.10.50 any time-range Restrict-Usage ! access-group inside_access_out in interface inside
Voici un exemple sur la façon de spécifier une plage de temps récurrente. Cliquez sur Add afin de définir une plage de temps récurrente.
Spécifiez les paramètres en fonction de vos exigences, et cliquez sur OK afin de compléter.
Cliquez sur OK afin de revenir à la fenêtre Intervalle de temps.
Selon cette configuration, l'utilisateur situé à l'adresse 172.16.10.50 s'est vu refuser l'accès à toutes les ressources de 15 h à 20 h tous les jours de la semaine, sauf le samedi et le dimanche.
! time-range Restrict-Usage absolute start 00:00 05 February 2011 end 00:30 06 March 2011 periodic weekdays 15:00 to 20:00 ! access-list inside_access_out extended deny ip host 172.16.10.50 any time-range Restrict-Usage ! access-group inside_access_out in interface inside
Remarque : si une commande time-range a des valeurs absolues et périodiques spécifiées, alors les commandes périodiques sont évaluées seulement après que l'heure de début absolue est atteinte, et ne sont pas évaluées davantage après que l'heure de fin absolue est atteinte.
Révision | Date de publication | Commentaires |
---|---|---|
1.0 |
30-May-2011 |
Première publication |