Inspection des protocoles de la couche applicative
Des plateformes d’inspection sont nécessaires pour les services qui intègrent des renseignements d’adressage IP dans le paquet de données des utilisateurs ou qui ouvrent des canaux secondaires sur des ports attribués de manière dynamique. Ces protocoles obligent l’ASA à effectuer une inspection approfondie des paquets au lieu de transmettre le paquet par le chemin rapide. Par conséquent, les moteurs d’inspection peuvent avoir une incidence sur le débit global. Plusieurs moteurs d’inspection courants sont activés sur l’ASA par défaut, mais vous devrez peut-être en activer d’autres en fonction de votre réseau.
Les rubriques suivantes expliquent l’inspection des applications plus en détail.
Quand utiliser l’inspection du protocole d’application
Lorsqu’un utilisateur établit une connexion, l’ASA vérifie le paquet par rapport aux ACL, crée une traduction d’adresses et crée une entrée pour la session dans le chemin rapide, afin que d’autres paquets puissent contourner les vérifications chronophages. Cependant, le chemin rapide repose sur des numéros de port prévisibles et n’effectue pas de traduction d’adresses dans un paquet.
De nombreux protocoles ouvrent des ports TCP ou UDP secondaires. La session initiale sur un port bien connu est utilisée pour négocier les numéros de port attribués dynamiquement.
D’autres applications intègrent une adresse IP dans le paquet qui doit correspondre à l’adresse source normalement traduite lorsqu’elle passe par l’ASA.
Si vous utilisez des applications comme celles-ci, vous devez activer l’inspection des applications.
Lorsque vous activez l’inspection des applications pour un service qui intègre les adresses IP, l’ASA traduit les adresses intégrées et met à jour la somme de contrôle ou les autres champs affectés par la traduction.
Lorsque vous activez l’inspection des applications pour un service qui utilise des ports affectés dynamiquement, l’ASA surveille les sessions pour identifier les affectations de ports dynamiques et permet l’échange de données sur ces ports pour la durée de la session spécifique.
Listes des politiques d’inspection
Vous pouvez configurer des actions spéciales pour de nombreuses inspection d’application à l’aide d’une liste des politiques d’inspection. Ces listes sont facultatives : vous pouvez activer l’inspection pour un protocole qui prend en charge les listes des politiques d’inspection sans configurer de liste. Ces listes sont nécessaires uniquement si vous souhaitez autre chose que les actions d’inspection par défaut.
Une liste des politiques d’inspection comprend un ou plusieurs des éléments suivants. Les options exactes disponibles pour une liste des politiques d’inspection dépendent de l’application.
-
Critères de correspondance du trafic : vous faites correspondre le trafic d’application à des critères spécifiques à l’application, tels qu’une chaîne d’URL, pour laquelle vous activez ensuite les actions.
Pour certains critères de correspondance de trafic, vous utilisez des expressions régulières pour faire correspondre le texte à l’intérieur d’un paquet. Assurez-vous de créer et de tester les expressions régulières avant de configurer la liste des politiques, qu’elles soient uniques ou regroupées dans une carte de trafic d’expression régulière.
-
Carte de trafic d’inspection : certaines listes des politiques d’inspection vous permettent d’utiliser une carte de trafic d’inspection pour inclure plusieurs critères de correspondance de trafic. Vous identifiez ensuite la carte de trafic d’inspection dans la liste des politiques d’inspection et activez les actions pour la carte dans son ensemble. La différence entre la création d’une carte de trafic et la définition de la correspondance de trafic directement dans la liste des politiques d’inspection est que vous pouvez créer des critères de correspondance plus complexes et que vous pouvez réutiliser les cartes de trafic. Cependant, vous ne pouvez pas définir différentes actions pour différentes correspondances.
-
Paramètres : les paramètres affectent le comportement du moteur d’inspection.
Pour plus d'informations, consultez les rubriques suivantes.
Remplacement d’une liste des politiques d’inspection en cours d’utilisation
Si une inspection est activée avec une liste des politiques dans une politique de service, le remplacement de la liste des politiques est un processus en deux étapes. Vous devez d’abord supprimer l’inspection. Ensuite, vous l’ajoutez avec le nouveau nom de liste des politiques.
Par exemple, pour remplacer sip-map1 par sip-map2 dans l’inspection SIP, utilisez la séquence de commandes suivante :
hostname(config)# policy-map test
hostname(config-pmap)# class sip
hostname(config-pmap-c)# no inspect sip sip-map1
hostname(config-pmap-c)# inspect sip sip-map2
Comment plusieurs classes de trafic sont gérées
Vous pouvez spécifier plusieurs mappages de classes d’inspection ou correspondances directes dans la liste des politiques d’inspection.
Si un paquet correspond à plusieurs classes différentes ou correspondances directes, l’ordre dans lequel l’ASA applique les actions est déterminé par les règles ASA internes, et non par l’ordre dans lequel elles sont ajoutées à la carte des politiques d’inspection. Les règles internes sont déterminées par le type d’application et la progression logique de l’analyse d’un paquet, et ne sont pas configurables par l’utilisateur. Par exemple, pour le trafic HTTP, l’analyse d’un champ méthode de requête précède l’analyse du champ Longueur de l’hôte d’en-tête ; une action pour le champ méthode de requête se produit avant l’action pour le champ Longueur de l’hôte d’en-tête. Par exemple, les commandes de correspondance suivantes peuvent être saisies dans n’importe quel ordre, mais la commande match request method get est mise en correspondance en premier.
match request header host length gt 100
reset
match request method get
log
Si une action abandonne un paquet, aucune autre action n’est effectuée dans la liste des politiques d’inspection. Par exemple, si la première action est de réinitialiser la connexion, elle ne correspondra jamais à d’autres critères de correspondance. Si la première action consiste à journaliser le paquet, une deuxième action, telle que la réinitialisation de la connexion, peut se produire.
Si un paquet correspond à plusieurs critères de correspondance qui sont identiques, ils sont mis en correspondance dans l’ordre dans lequel ils apparaissent dans la liste des politiques. Par exemple, pour un paquet dont la longueur d’en-tête est 1001, il correspondra à la première commande ci-dessous et sera journalisé, puis correspondra à la deuxième commande et sera réinitialisé. Si vous inversez l’ordre des deux commandes match, le paquet sera abandonné et la connexion sera réinitialisée avant de pouvoir correspondre à la deuxième commande dmatch ; il ne sera jamais journalisé.
match request header length gt 100
log
match request header length gt 1000
reset
Une carte de trafic est déterminée comme étant du même type qu’une autre carte de trafic ou une correspondance directe en fonction de l’option de correspondance de priorité la plus basse dans la carte de trafic (la priorité est basée sur les règles internes). Si une carte de trafic a le même type d’option de correspondance de priorité la plus basse qu’une autre carte de trafic, les cartes de trafic sont mises en correspondance en fonction de l’ordre dans lequel elles sont ajoutées à la liste des politiques. Si la correspondance de priorité la plus basse pour chaque mappage de carte est différente, la carte de trafic avec l’option de correspondance de priorité la plus élevée est mise en correspondance en premier. Par exemple, les trois cartes de trafics suivantes contiennent deux types de commandes match : match request-cmd (priorité supérieure) et match filename (priorité inférieure). La carte de trafic ftp3 comprend les deux commandes, mais elle est classée selon la commande de priorité la plus basse, match filename. La carte de trafic ftp1 comprend la commande de priorité la plus élevée, elle est donc mise en correspondance en premier, quel que soit l’ordre dans la liste des politiques. La carte de trafic ftp3 est classée comme étant de la même priorité que la carte de trafic ftp2, qui contient également la commande match filename. Elles sont mises en correspondance selon l’ordre dans la liste des politiques : ftp3 puis ftp2.
class-map type inspect ftp match-all ftp1
match request-cmd get
class-map type inspect ftp match-all ftp2
match filename regex abc
class-map type inspect ftp match-all ftp3
match request-cmd get
match filename regex abc
policy-map type inspect ftp ftp
class ftp3
log
class ftp2
log
class ftp1
log
Lignes directrices relatives à l’inspection des applications
Basculement
Les informations d’état pour les sessions multimédias qui nécessitent une inspection ne sont pas transmises sur la liaison d’état pour le basculement dynamique. Les exceptions sont GTP, M3UA et SIP, qui sont répliquées sur la liaison d’état. Vous devez configurer la vérification stricte de l’état du processus de serveur d’applications (ASP) dans l’inspection M3UA pour obtenir un basculement dynamique.
Mise en grappes
Les inspections suivantes ne sont pas prises en charge dans le regroupement :
-
CTIQBE
-
H323, H225 et RAS
-
Intercommunication IPsec
-
MGCP
-
MMP
-
RTSP
-
SCCP (Skinny)
-
WAAS
IPv6
Prend en charge IPv6 pour les inspections suivantes :
-
Diameter
-
DNS sur UDP
-
FTP
-
GTP
-
HTTP
-
ICMP
-
Intercommunication IPsec
-
IPv6
-
M3UA
-
SCCP (Skinny)
-
SCTP
-
SIP
-
SMTP
-
VXLAN
Prend en charge NAT64 pour les inspections suivantes :
-
DNS sur UDP
-
FTP
-
HTTP
-
ICMP
-
SCTP
Lignes directrices supplémentaires
-
Certains moteurs d’inspection ne prennent pas en charge la PAT, la NAT, la NAT externe ou la NAT entre les mêmes interfaces de sécurité. Pour plus d’informations sur la prise en charge de la NAT, consultez Inspections par défaut et limites de la NAT.
-
Pour toutes les inspections d’application, l’ASA limite le nombre de connexions de données actives simultanées à 200 connexions. Par exemple, si un client FTP ouvre plusieurs connexions secondaires, le moteur d’inspection FTP n’autorise que 200 connexions actives et la connexion 201 est abandonnée et l’appliance de sécurité adaptative génère un message d’erreur du système.
-
Les protocoles inspectés sont soumis à un suivi avancé de l’état TCP, et l’état TCP de ces connexions n’est pas automatiquement répliqué. Pendant que ces connexions sont répliquées sur l’unité de secours, il y a une tentative au mieux pour rétablir un état TCP.
-
Si le système détermine qu’une connexion TCP nécessite une inspection, le système efface toutes les options TCP, à l’exception des options MSS et de réception sélective (SACK) sur les paquets avant de les inspecter. Les autres options sont effacées même si vous les autorisez dans une liste TCP appliquée aux connexions.
-
Le trafic TCP/UDP dirigé vers l’ASA (vers une interface) est inspecté par défaut. Cependant, le trafic ICMP dirigé vers une interface n’est jamais inspecté, même si vous activez l’inspection ICMP. Ainsi, un ping (requête d’écho) à une interface peut échouer dans des circonstances spécifiques, comme lorsque la demande d’écho provient d’une source que l’ASA peut atteindre par une route de sauvegarde par défaut.
Valeurs par défaut pour l’inspection des applications
Les rubriques suivantes expliquent les opérations par défaut pour l’inspection des applications.
Inspections par défaut et limites de la NAT
Par défaut, la configuration comprend une politique qui correspond à tout le trafic d’inspection d’application par défaut et applique l’inspection au trafic sur toutes les interfaces (politique globale). Le trafic d’inspection des applications par défaut comprend le trafic vers les ports par défaut pour chaque protocole. Vous ne pouvez appliquer qu’une seule politique globale. Par conséquent, si vous souhaitez modifier la politique globale, par exemple, pour appliquer une inspection aux ports non standard ou pour ajouter des inspections qui ne sont pas activées par défaut, vous devez modifier la politique par défaut, ou désactivez-le et appliquez-en un nouveau.
Le tableau suivant répertorie toutes les inspections prises en charge, les ports par défaut utilisés dans la carte de trafic par défaut et les moteurs d'inspection qui sont activés par défaut, qui sont en gras. Ce tableau indique également toutes les limites de la NAT. Dans ce tableau :
-
Les moteurs d’inspection activés par défaut pour le port par défaut sont en gras.
-
L’ASA est conforme aux normes indiquées, mais il n’applique pas la conformité aux paquets inspectés. Par exemple, les commandes FTP sont censées être dans un ordre particulier, mais l’ASA ne fait pas respecter l’ordre.
|
Application |
Protocole, port par défaut |
Limites de la NAT |
Normes |
Commentaires |
|---|---|---|---|---|
|
CTIQBE |
TCP/2748 |
Pas de PAT étendue. No NAT64. (Mise en grappe) Pas de PAT statique. |
— |
— |
|
DCERPC |
TCP/135 |
No NAT64. |
— |
— |
|
Diameter |
TCP/3868 TCP/5868 (pour TCP/TLS) SCTP/3868 |
Pas de NAT / PAT. |
RFC 6733 |
Nécessite la licence Carrier (exploitant). |
|
DNS sur UDP DNS sur TCP |
UDP/53 UDP/443 TCP/53 |
Aucune prise en charge de NAT n’est disponible pour la résolution de nom par le biais de WINS. |
RFC 1123 |
Vous devez activer l’inspection DNS/TCP dans la liste des politiques d’inspection DNS pour inspecter le DNS sur TCP. UDP/443 est utilisé uniquement pour les sessions DNScrypt de Cisco Umbrella. |
|
FTP |
TCP/21 |
(Mise en grappe) Pas de PAT statique. |
RFC 959 |
— |
|
GTP |
UDP/3386 (GTPv0) UDP/2123 (GTPv1+) |
Pas de PAT étendue. Pas de NAT. |
— |
Nécessite la licence Carrier (exploitant). |
|
H.323 H.225 et RAS |
TCP/1720 UDP/1718 UDP (RAS) 1718-1719 |
(Mise en grappe) Pas de PAT statique. Pas de PAT étendue. Pas de NAT sur les mêmes interfaces de sécurité. No NAT64. |
ITU-T H.323, H.245, H225.0, Q.931, Q.932 |
— |
|
HTTP |
TCP/80 |
— |
RFC 2616 |
Méfiez-vous des limites de la MTU en supprimant ActiveX et Java. Si la MTU est trop faible pour permettre à la balise Java ou ActiveX d'être incluse dans un paquet, il se peut que le stripping (suppression) ne se produise pas. |
|
ICMP |
ICMP |
— |
— |
Le trafic ICMP dirigé vers une interface ASA n’est jamais inspecté. |
|
ERREUR ICMP |
ICMP |
— |
— |
— |
|
ILS (LDAP) |
TCP/389 |
Pas de PAT étendue. No NAT64. |
— |
— |
|
Messagerie instantanée (IM) |
Varie selon le client |
Pas de PAT étendue. No NAT64. |
RFC 3860 |
— |
|
Options d’adresse IP |
RSVP |
No NAT64. |
RFC 791, RFC 2113 |
— |
|
Intercommunication IPsec |
UDP/500 |
Pas de PAT No NAT64. |
— |
— |
|
IPv6 |
— |
No NAT64. |
RFC 2460 |
— |
|
LISP |
— |
Pas de NAT ou PAT. |
— |
— |
|
M3UA |
SCTP/2905 |
Pas de NAT ou PAT pour les adresses intégrées. |
RFC 4666 |
Nécessite la licence Carrier (exploitant). |
|
MGCP |
UDP/2427, 2727 |
Pas de PAT étendue. No NAT64. (Mise en grappe) Pas de PAT statique. |
RFC 2705bis-05 |
— |
|
MMP |
TCP/5443 |
Pas de PAT étendue. No NAT64. |
— |
— |
|
Serveur de noms NetBIOS sur IP |
UDP/133, 138 (ports sources) |
Pas de PAT étendue. No NAT64. |
— |
NetBIOS est pris en charge par l’exécution de la NAT des paquets pour le port UDP 138 du service NBNS et le port UDP 138. |
|
PPTP |
TCP/1723 |
No NAT64. (Mise en grappe) Pas de PAT statique. |
RFC 2637 |
— |
|
Gestion des comptes RADIUS |
UDP/1646 |
No NAT64. |
RFC 2865 |
— |
|
RSH |
TCP/514 |
Pas de PAT No NAT64. (Mise en grappe) Pas de PAT statique. |
Berkeley UNIX |
— |
|
RTSP |
TCP/554 |
Pas de PAT étendue. No NAT64. (Mise en grappe) Pas de PAT statique. |
RFC 2326, 2327, 1889 |
Aucun traitement pour le masquage HTTP. |
|
SCTP |
SCTP |
— |
RFC 4960 |
Nécessite la licence Carrier (exploitant). Bien que vous puissiez effectuer une NAT d’objet réseau statique sur le trafic SCTP (sans NAT ni PAT dynamique), le moteur d’inspection n’est pas utilisé pour la NAT. |
|
SIP |
TCP/5060 UDP/5060 |
Pas de NAT/PAT sur les interfaces avec des niveaux de sécurité identiques ou inférieurs ou supérieurs. Pas de PAT étendue. Pas de NAT64 ou NAT46. (Mise en grappe) Pas de PAT statique. |
RFC 2543 |
Ne gère pas les configurations de téléphones IP Cisco téléchargées par TFTP dans certaines circonstances. |
|
SKINNY (SCCP) |
TCP/2000 |
Pas de NAT sur les mêmes interfaces de sécurité. Pas de PAT étendue. Pas de NAT64, NAT46 ou NAT66. (Mise en grappe) Pas de PAT statique. |
— |
Ne gère pas les configurations de téléphones IP Cisco téléchargées par TFTP dans certaines circonstances. |
|
SMTP et ESMTP |
TCP/25 |
No NAT64. |
RFC 821, 1123 |
— |
|
SNMP |
UDP/161, 162 UDP/4161 sur les plateformes qui exécutent également Cisco Secure Firewall eXtensible Operating System (FXOS). |
Pas de NAT ou PAT. |
RFC 1155, 1157, 1212, 1213, 1215 |
v.2 RFC 1902-1908; v.3 RFC 2570-2580. Sur les plateformes FXOS, si vous configurez SNMP, cette inspection est activée automatiquement et vous ne pouvez pas la désactiver. |
|
SQL*Net |
TCP/1521 |
Pas de PAT étendue. No NAT64. (Mise en grappe) Pas de PAT statique. |
— |
v.1 et v.2. |
|
STUN |
TCP/3478 UDP/3478 |
(WebRTC) NAT statique/PAT44 uniquement. (Cisco Spark) NAT/PAT 44 et 64 statiques; et NAT/PAT dynamique. |
RFC 5245, 5389 |
— |
|
Sun RPC |
TCP/111 UDP/111 |
Pas de PAT étendue. No NAT64. |
— |
— |
|
TFTP |
UDP/69 |
No NAT64. (Mise en grappe) Pas de PAT statique. |
RFC 1350 |
Les adresses IP de charge utile ne sont pas traduites. |
|
WAAS |
TCP/1- 65535 |
Pas de PAT étendue. No NAT64. |
— |
— |
|
XDMCP |
UDP/177 |
Pas de PAT étendue. No NAT64. (Mise en grappe) Pas de PAT statique. |
— |
— |
|
VXLAN |
UDP/4789 |
Sans objet |
RFC 7348 |
Réseau local extensible virtuel. |
Listes des politiques d’inspection par défaut
Certains types d’inspection utilisent des listes des politiques par défaut masquées. Par exemple, si vous activez l’inspection ESMTP sans préciser de liste, _default_esmtp_map est utilisé.
L’inspection par défaut est décrite dans les sections qui expliquent chaque type d’inspection. Vous pouvez afficher ces listes par défaut à l’aide de la commande show running-config all policy-map .
L’inspection DNS est la seule à utiliser une liste par défaut configurée explicitement, preset_dns_map.
Commentaires