Inhalt

Einleitung

Voraussetzungen

Anforderungen

Verwendete Komponenten

Problem

Lösung

Einleitung

Dieses Dokument beschreibt die beste Methode zur Behebung von Verbindungsproblemen mit SMTP- und ESMTP-Datenverkehr über eine ASA.

Voraussetzungen

Anforderungen

Es gibt keine spezifischen Anforderungen für dieses Dokument.

Verwendete Komponenten

Die Informationen in diesem Dokument basieren auf der Cisco Adaptive Security Appliance (ASA) der Serie 5500.

Die Informationen in diesem Dokument beziehen sich auf Geräte in einer speziell eingerichteten Testumgebung. Alle Geräte, die in diesem Dokument benutzt wurden, begannen mit einer gelöschten (Nichterfüllungs) Konfiguration. Wenn Ihr Netz Live ist, überprüfen Sie, ob Sie die mögliche Auswirkung jedes möglichen Befehls verstehen.

Problem

Wenn Sie einen E-Mail-Server über Telnet auf der ASA testen und die ESMTP- oder SMTP-Prüfung aktiviert ist, geben bestimmte Befehle wie HELO oder EHLO einen 550-Fehler zurück, der anzeigt, dass der Befehl nicht verstanden wurde. Wenn die ESMTP- oder SMTP-Prüfung deaktiviert ist, werden die Befehle verstanden.

Lösung

ESMTP- und SMTP-Inspektionen setzen eine Richtlinie durch, die nur bestimmte Befehle über die ASA zulässt. Wenn ein Mail-Befehl gesendet wird, der nicht zulässig ist, wird er durch Xs ersetzt, wodurch der Befehl für den Client und den Server ungültig wird.

Befehle, die normalerweise zulässig sind, werden im Abschnitt "inspect esmtp" der Befehlsreferenz zur Cisco ASA-Serie aufgelistet. HELO und EHLO sind normalerweise zulässig; Ob der Befehl erkannt wird, hängt jedoch von der Methode ab, mit der Sie den Test durchführen.

Telnet sendet beispielsweise jedes Zeichen einzeln in einem anderen Paket in der Leitung, aber E-Mail-Clients und -Server senden den gesamten Befehl in einem Paket. Wenn Sie Telnet verwenden und H eingeben, sendet der Telnet-Client eine H an den E-Mail-Server. Da die ESMTP- und SMTP-Prüfung H nicht als gültigen Befehl erkennen, ersetzt die ASA das H durch ein X und leitet es weiter. Wenn Sie mit ELO fortfahren, wird jedes Zeichen einzeln gesendet, und die ASA wandelt jedes Zeichen in ein X um. Der Server erhält den letzten Befehl als XXXX und Fehler werden wie erwartet ausgegeben.

Wenn Sie Telnet zum Testen der Verbindung verwenden, müssen Sie die Anwendung so konfigurieren, dass der gesamte Befehl in einem Paket gesendet wird. (Das Microsoft Windows Telnet-Programm kann eine Zeile gleichzeitig anstatt Zeichen pro Zeichen senden.) Drücken Sie STRG+], um die Telnet-Sitzung zu beenden, und geben Sie send HELO ein. Diese Aktion sendet den gesamten Befehl anstelle einzelner Zeichen.

Alternativ können Sie ein anderes Programm verwenden, z. B. Netcat. Netcat sendet Befehle Zeile für Zeile und ist ein sehr leistungsstarkes Tool zum Testen von Netzwerk-Sockets und Datentransfers. Die beste Lösung besteht jedoch darin, die Verbindung mit einem tatsächlichen E-Mail-Programm zu testen und den Datenverkehr auf der ASA für weitere Tests zu erfassen.