Contenu

Introduction

Conditions préalables

Conditions requises

Components Used

Problème

Solution

Introduction

Ce document décrit le meilleur moyen de dépanner les problèmes de connectivité avec le trafic SMTP et ESMTP via un ASA.

Conditions préalables

Conditions requises

Aucune spécification déterminée n'est requise pour ce document.

Components Used

Les informations de ce document sont basées sur l'appliance de sécurité adaptable (ASA) de la gamme Cisco 5500.

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.

Problème

Lorsque vous testez un serveur de messagerie via Telnet sur l'ASA et l'inspection ESMTP ou SMTP est activée, certaines commandes, telles que HELO ou EHLO, renvoient une erreur 550 indiquant que la commande n'est pas comprise. Lorsque l'inspection ESMTP ou SMTP est désactivée, les commandes sont comprises.

Solution

L'inspection ESMTP et SMTP applique une politique qui autorise uniquement certaines commandes via l'ASA. Si une commande de messagerie est envoyée qui n'est pas autorisée, elle est remplacée par Xs, ce qui rend la commande non valide pour le client et le serveur.

Les commandes normalement autorisées sont répertoriées dans la section inspect esmtp de la référence des commandes de la gamme Cisco ASA. HELO et EHLO sont normalement autorisés ; toutefois, la reconnaissance de la commande dépend de la méthode de test utilisée.

Par exemple, Telnet envoie chaque caractère individuellement dans un paquet différent sur le câble, mais les clients de messagerie et les serveurs actuels envoient la commande entière dans un paquet. Si vous utilisez Telnet et que vous tapez H, le client Telnet envoie un H au serveur de messagerie. Puisque l'inspection ESMTP et SMTP ne reconnaît pas H comme une commande valide, l'ASA remplace H par un X et le transmet. Si vous entrez ELO, chaque caractère est envoyé individuellement et l'ASA transforme chaque caractère en X. Le serveur reçoit la commande finale en XXXX et les erreurs sortent comme prévu.

Si vous utilisez Telnet pour tester la connectivité, vous devez configurer l'application pour envoyer la commande entière dans un paquet. (Le programme Telnet de Microsoft Windows peut envoyer une ligne à la fois au lieu de caractère par caractère.) Appuyez sur CTRL+] pour quitter la session Telnet et tapez send HELO. Cette action envoie la commande entière au lieu de caractères individuels.

Vous pouvez également utiliser un autre programme, tel que Netcat. Netcat envoie des commandes ligne par ligne et est un outil très puissant pour tester les prises réseau et les transferts de données. Cependant, la meilleure solution consiste à tester la connectivité avec un programme de messagerie réel et à capturer le trafic sur l'ASA pour des tests supplémentaires.