Introduction
Ce document décrit comment dépanner les problèmes intermittents et les connexions abandonnées pendant la réception et la remise du courrier.
Conditions préalables
Cisco vous recommande de prendre connaissance des rubriques suivantes :
- Cisco Private Internet eXchange (PIX) ou Adaptive Security Appliance (ASA) version 7.x et ultérieure
- Appliance de sécurisation de la messagerie Cisco (ESA)
Informations générales
Les passerelles de messagerie Cisco ESA sont intrinsèquement des pare-feu de messagerie. Cela élimine le besoin d'un pare-feu en amont, tel que Cisco PIX ou ASA, pour inspecter le trafic de messagerie en provenance et à destination d'un ESA. Il est conseillé de désactiver les fonctions d'inspection d'application ESMTP (Extended Simple Mail Transfer Protocol) sur le pare-feu pour toutes les adresses d'hôte des dispositifs de sécurité. Par défaut, l'inspection du protocole ESMTP est activée pour toutes les connexions qui traversent les pare-feu Cisco. Cela signifie que toutes les commandes émises entre les passerelles de messagerie via le port TCP 25, ainsi que les en-têtes de message individuels, sont analysées pour respecter strictement les spécifications RFC (Request for Comments) qui incluent les spécifications RFC 821, 1123 et 1870. Il existe des valeurs par défaut définies pour le nombre maximal de destinataires et la taille maximale des messages susceptibles d'entraîner des problèmes de remise à destination et en provenance de votre ESA. Ces paramètres de configuration par défaut spécifiques sont décrits ici (extraits de l'outil Cisco Command Lookup Tool).
La commande inspect esmtp inclut la fonctionnalité précédemment fournie par la commande fixup smtp, et fournit une prise en charge supplémentaire pour certaines commandes ESMTP. L'inspection d'application ESMTP ajoute la prise en charge de huit commandes ESMTP, y compris AUTH, EHLO, ETRN, HELP, SAML, SEND, SOML et VRFY. Outre la prise en charge de sept commandes RFC 821 (DATA, HELO, MAIL, NOOP, QUIT, RCPT, RSET), l'appliance de sécurité prend en charge un total de 15 commandes SMTP. Les autres commandes ESMTP, telles que ATRN, STARTLS, ONEX, VERB, CHUNKING et les extensions privées, ne sont pas prises en charge. Les commandes non prises en charge sont traduites en Xs, qui sont rejetées par le serveur interne. Il en résulte un message tel que 500 Command unknown : XXX. Les commandes incomplètes sont ignorées.
La commande inspect esmtp remplace les caractères de la bannière SMTP du serveur par des astérisques, à l'exception des caractères « 2 », « 0 » et « 0 ». Les caractères CR (retour chariot) et LF (saut de ligne) sont ignorés. Lorsque l'inspection SMTP est activée, une session utilisée pour le protocole SMTP interactif attend une commande valide et la machine d'état esmtp du pare-feu conserve les états corrects pour la session si ces règles ne sont pas respectées :
- Les commandes SMTP doivent comporter au moins quatre caractères.
- Les commandes SMTP doivent être terminées par un retour chariot et un saut de ligne.
- Les commandes SMTP doivent attendre une réponse avant d'émettre la réponse suivante.
Un serveur SMTP répond aux requêtes des clients avec des codes de réponse numériques et des chaînes facultatives lisibles par l'utilisateur. L'inspection de l'application SMTP contrôle et réduit les commandes que l'utilisateur peut utiliser, ainsi que les messages renvoyés par le serveur. L'inspection SMTP effectue trois tâches principales :
- Limite les requêtes SMTP à sept commandes SMTP de base et à huit commandes étendues.
- Surveille la séquence de commandes-réponses SMTP.
- Génère une vérification rétrospective. L'enregistrement d'audit 108002 est généré lorsqu'un caractère non valide incorporé dans l'adresse de messagerie est remplacé. Pour plus d'informations, consultez la RFC 821.
Une inspection SMTP surveille la séquence de commandes et de réponses pour détecter les signatures anormales suivantes :
- Commandes tronquées.
- Fin de commande incorrecte (non terminée par <CR><LR>).
- Si la signature PHY Interface for PCI Express (PIPE) est trouvée comme paramètre d'une commande MAIL from ou RCPT to, la session est fermée. Il n'est pas configurable par l'utilisateur.
- Transition inattendue par le serveur SMTP.
- Pour les commandes inconnues, l'appliance de sécurité remplace tous les caractères du paquet par X. Dans ce cas, le serveur générera un code d'erreur au client. En raison de la modification du paquet, la somme de contrôle TCP doit être recalculée ou ajustée.
- Modification du flux TCP.
Le résultat de show service-policy inspect ESMTP fournit les valeurs d'inspection par défaut et leurs actions correspondantes.
Global policy:
Service-policy: global_policy
Class-map: inspection_default
Inspect: esmtp _default_esmtp_map, packet 104468, drop 0, reset-drop 0
mask-banner, count 639 obfuscate the SMTP banner greeting
match cmd line length gt 512 deny all SMTP commands (and close connection)
drop-connection log, packet 0
match cmd RCPT count gt 100 drop all messages (and connection) with more
than 100 recipients
drop-connection log, packet 0
match body line length gt 998 log all messages with lines > 998 chars
log, packet 0
match header line length gt 998 drop all messages (and connection)
with headers > 998 chars
drop-connection log, packet 41
match sender-address length gt 320 drop all messages (and connection) with
envelope sender > 320 bytes
drop-connection log, packet 0
match MIME filename length gt 255 drop all messages (and connection) with
MIME attachment filenames > 255 bytes
drop-connection log, packet 0
match ehlo-reply-parameter others obfuscate extended commands not explicitly
noted in the RFCs (such as STARTTLS)
mask, packet 2555
Problème
Parfois, les messages ne sont pas correctement remis ou reçus par Cisco ESA. Un ou plusieurs de ces messages sont affichés dans les journaux de messagerie des périphériques Cisco ESA :
- Message abandonné MID XXX
- Réception abandonnée ICID 21916 perdue
- ICID 21916 fermer
- Erreur de connexion : DCID : XXX domaine : example.com IP : 10.1.2.3 port : 25 détails : [Erreur 60]
Délai d'attente de l'opération sur l'interface : 10.10.10.1. Raison : erreur réseau
Solution
Certains de ces paramètres par défaut peuvent avoir un impact sur la remise des messages chiffrés TLS (Transport Layer Security), les campagnes de listes de diffusion et le dépannage. Une meilleure stratégie peut vous demander d'utiliser le pare-feu pour inspecter tout le trafic de messagerie restant qui ne passe pas d'abord par l'appliance de sécurité, tout en exemptant tout le trafic qui a. Cet exemple montre comment régler la configuration par défaut (notée précédemment) pour exempter l'inspection d'application ESMTP pour une adresse d'hôte de sécurité unique.
Vous pouvez définir tout le trafic vers et depuis l'adresse interne des ESA Cisco pour référence dans une carte-classe MPF (Modular Policy Framework) :
access-list ironport_esa_internal extended permit ip any 192.168.1.1
access-list ironport_esa_internal extended permit ip 192.168.1.1 any
Ceci crée une nouvelle carte-classe pour correspondre spécifiquement ou sélectionner le trafic à traiter différemment :
class-map ironport_esa
match address ironport_esa_internal
Cette section lie la nouvelle carte de classe Cisco et désactive les fonctions d'inspection du protocole ESMTP :
policy-map global_policy
class ironport_esa
no inspect esmtp
Notez également l'instruction de traduction d'adresse qui peut aider à contrôler le nombre de connexions entrantes et semi-ouvertes (embryonnaires) à l'adresse. Cela est utile pour lutter contre les attaques par déni de service (DoS), mais peut interférer avec les taux de livraison.
Format pour suivre les paramètres des commandes NAT et STATIC ... [tcp (max_conns)] [max_embryonic].
Cet exemple spécifie les limites de 50 connexions TCP totales et de 100 tentatives de connexion semi-ouvertes ou embryonnaires :
static (inside,outside) 1.1.1.1 192.168.1.1 netmask 255.255.255.255 tcp 50 100