Contenido

Introducción

Prerequisites

Requirements

Componentes Utilizados

Problema

Solución

Introducción

Este documento describe la mejor manera de resolver problemas de conectividad con tráfico SMTP y ESMTP mediante un ASA.

Prerequisites

Requirements

No hay requisitos específicos para este documento.

Componentes Utilizados

La información de este documento se basa en el dispositivo de seguridad adaptable (ASA) de la serie 5500 de Cisco.

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.

Problema

Cuando se prueba un servidor de correo electrónico a través de Telnet en el ASA y se habilita la inspección ESMTP o SMTP, ciertos comandos, como HELO o EHLO, devuelven un error 550 que indica que el comando no se entiende. Cuando se inhabilita la inspección ESMTP o SMTP, se entienden los comandos.

Solución

La inspección de ESMTP y SMTP aplica una política que permite solamente ciertos comandos a través del ASA. Si se envía un comando de correo que no está permitido, se reemplaza por Xs, lo que hace que el comando no sea válido para el cliente y el servidor.

Los comandos que normalmente se permiten se enumeran en la sección inspect esmtp de la Referencia de Comandos de Cisco ASA Series. HELO y EHLO normalmente se permiten; sin embargo, si se reconoce el comando depende del método mediante el cual se realice la prueba.

Por ejemplo, Telnet envía cada carácter individualmente en un paquete diferente en el cable, pero los clientes de correo electrónico reales y los servidores envían todo el comando en un paquete. Si utiliza Telnet y escribe H, el cliente Telnet envía una H al servidor de correo electrónico. Dado que la inspección de ESMTP y SMTP no reconoce a H como un comando válido, ASA reemplaza la H por una X y la pasa. Si continúa con el tipo ELO, cada carácter se envía individualmente y ASA convierte cada carácter en X. El servidor recibe el comando final como XXXX y se salta los errores como se esperaba.

Si utiliza Telnet para probar la conectividad, debe configurar la aplicación para enviar el comando completo en un paquete. (El programa Telnet de Microsoft Windows puede enviar una línea a la vez en lugar de caracteres por caracteres.) Presione CTRL+] para salir de la sesión Telnet y escriba send HELO. Esta acción envía el comando completo en lugar de caracteres individuales.

Como alternativa, puede utilizar otro programa, como Netcat. Netcat envía comandos línea a línea y es una herramienta muy potente para probar zócalos de red y transferencias de datos. Sin embargo, la mejor solución es probar la conectividad con un programa de correo electrónico real y capturar el tráfico en el ASA para realizar más pruebas.