Cisco ASA 5510 ESMTP 检查

网络工程 思科 思科-ASA
2022-02-13 07:30:37

具有 ASA 5510 (8.3(2))。

2 个接口:1. NGCC,SecurityLevel 20,一台 IP 为 1.2.3.4 Microsoft ESMTP MAIL 服务的主机,版本:8.5.9600.16384 端口 25 2. DMZ,安全级别 20,一台 IP 为 5.6.7.8 Postfix 2.6.6 的主机端口 25

启用 ESMTP 检查 (global_policy/inspection_default)

尝试使用 telnet 5.6.7.8 25 从安全级别为 50 的网络连接向我显示 SMTP 横幅,我可以毫无问题地使用例如 EHLO/HELO。

telnet 1.2.3.4 25 给我 220 **** 横幅和只有 500 5.3.3 回复,无论我发送什么命令。直到我禁用 ESMTP 检查,然后 telnet 1.2.3.4 25 工作正常。

我连接的网络在一个或另一个目标网络之间没有任何 ACL 或 NAT 规则。

我错过了什么?为什么这在一个接口上起作用,而在另一个接口上不起作用?

谢谢

1个回答

ESMTP 检查所做的一切都与主机之间交换的信息有关。它与客户端和服务器所在的 NAT、ACL、IP 或接口无关,但有一个例外:流量正在穿越的接口之一已打开检查规则,或者对所有接口全局打开。

如果在主机之间发送的信息不符合 ASA 预期的标准,或者如果它发送 ASA 想要在各方之间屏蔽的信息,则将修改该信息。

更多信息可以在配置指南中找到

220横幅修改的原因

这些设备使用的另一个安全功能是 SMTP 横幅修改。为了隐藏受保护邮件服务器的类型和版本,某些设备会隐藏除通信所需的横幅的 220 部分之外的所有内容。横幅通常会显示为:220*************

隐藏的部分信息是横幅中的 ESMTP 广告。删除此通告后,发送服务器将不会意识到 ESMTP 命令已被接受。

来源

您也可以仅禁用横幅修改。

policy-map type inspect esmtp new_estmp_inspect_map
  parameters
    no mask-banner

policy-map global-policy
  class class-default
    inspect esmtp new_esmtp_inspect_map
service-policy global-policy global

来源

回复原因

ASA 仅支持 15 个 SMTP 命令,任何其他命令都会返回您看到的错误。第二个 SMTP 服务器 (1.2.3.4) 正在使用 ASA 不支持的命令,或者它们的格式不正确。

ESMTP 应用程序检查增加了对扩展 SMTP 命令的支持,包括 AUTH、EHLO、ETRN、HELP、SAML、SEND、SOML、STARTTLS 和 VRFY。除了支持 7 个 RFC 821 命令(DATA、HELO、MAIL、NOOP、QUIT、RCPT 和 RSET)外,ASA 还支持 15 个 SMTP 命令。不支持其他扩展 SMTP 命令,例如 ATRN、ONEX、VERB 和 CHUNKING,以及专用扩展。不支持的命令被翻译成 X,被内部服务器拒绝。这会产生诸如“500 Command unknown: 'XXX'”之类的消息。不完整的命令将被丢弃。

来源

为了验证,我建议在 ASA 和 1.2.3.4 之间使用数据包嗅探器来查看正在返回哪些命令。