文章编号: 320027 - 最后修改: 2011年1月18日 - 修订: 1.0

无法发送或接收电子邮件,Cisco PIX 或 Cisco ASA 的防火墙

系统提示此文章适用于与您所使用的操作系统不同的操作系统。文章内容可能与您无关,并且已被禁用。
重要本文演示如何帮助降低安全设置或如何关闭计算机上的安全功能的信息。 您可以通过这些更改来解决特定问题。 进行这些更改之前,我们建议您评估您的特定环境中实施此替代方法相关联的风险。 如果您实施此替代方法,采取任何适当的附加措施来帮助保护计算机。

本页

展开全部 | 关闭全部

症状

您可能会遇到一个或多个以下行为:
  • 您不能接收基于 Internet 的电子邮件。
  • 您不能发送带附件的电子邮件。
  • 您不能建立 telnet 会话与 Microsoft Exchange 服务器上的端口 25。
  • 当您发送一个EHLO命令到 Exchange 的服务器,您收到一个"命令无法识别的"OK"的响应。
  • 您不能发送或接收有关特定域的邮件。
  • 问题与邮局协议版本 3 (POP3) 身份验证的中继从本地服务器拒绝 550 5.7.1。
  • 重复的电子邮件发送 (有时五到六倍) 的问题。
  • 您会收到重复传入的简单邮件传输协议 (SMTP) 邮件。
  • 试图发送电子邮件时,Microsoft Outlook 客户端或 Microsoft Outlook Express 客户端报告 0x800CCC79 错误。
  • 有二进制 mime (8bitmime) 问题。 未送达报告 (NDR) 中收到以下文本:
    远程主机不支持 554 5.6.1 正文类型。
  • 有附件丢失或乱码的问题。
  • 有了链接状态路由 Cisco PIX 或 Cisco ASA 防火墙设备时,路由组之间的路由组之间的问题。
  • X LINK2STATE 谓词不传递。
  • 通过路由组连接器的服务器之间有身份验证问题。

原因

在以下情况下,可能会发生此问题:
  • 在 Exchange 服务器位于 Cisco PIX 或 Cisco ASA 防火墙设备的后面。

    -并且-
  • ASA 的 PIX 防火墙具有 Mailguard 功能处于打开状态。
  • 身份验证和授权登录命令 (扩展简单邮件传输协议 [ESMTP] 命令) 都通过防火墙,去除,这使得系统认为您中继从非本地的域。
若要确定是否在 Cisco PIX 或 Cisco ASA 防火墙,远程登录到该 MX 记录的 IP 地址上运行的 Mailguard,然后验证是否响应看起来与下面类似:
220*******************************************************0*2******0***********************
2002 ******* 2 *** 0 * 00

旧版本的 PIX 或 ASA 中:

阅读 220 SMTP/cmap_________________________________________
更多的信息,请访问下面的 Cisco 网站:
http://www.cisco.com/en/US/tech/tk331/tk897/tsd_technology_support_sub-protocol_home.html (http://www.cisco.com/en/US/tech/tk331/tk897/tsd_technology_support_sub-protocol_home.html)
http://www.cisco.com/en/US/products/hw/vpndevc/ps2030/products_tech_note09186a00800b2ecb.shtml (http://www.cisco.com/en/US/products/hw/vpndevc/ps2030/products_tech_note09186a00800b2ecb.shtml)
请注意如果您有 PIX 或 ASA 背后的 ESMTP 服务器防火墙,您可能需要关闭 Mailguard 功能,允许邮件正确流动。 同时,建立到端口 25 的 Telnet 会话可能无法使用,修正协议 smtp尤其是对于使用字符模式的 Telnet 客户端的命令。

请注意除了在 Cisco PIX 或 Cisco ASA 防火墙有几种防火墙产品具有 SMTP 代理功能,可能会产生本文前面提到的问题。 The following is a list of firewall manufacturers whose products have SMTP Proxy features:
  • Watchguard Firebox
  • Checkpoint
  • Raptor

For additional information, visit the Web sites listed in the "More Information" section.

解决方案

警告This workaround may make a computer or a network more vulnerable to attack by malicious users or by malicious software such as viruses. We do not recommend this workaround but are providing this information so that you can implement this workaround at your own discretion. Use this workaround at your own risk.

请注意A firewall is designed to help protect your computer from attack by malicious users or by malicious software such as viruses that use unsolicited incoming network traffic to attack your computer. Before you disable your firewall, you must disconnect your computer from all networks, including the Internet.

To resolve this issue, turn off the Mailguard feature of the PIX or ASA firewall.

警告If you have an ESMTP server behind the PIX or ASA, you may have to turn off the Mailguard feature to make it possible for mail to correctly flow. If you use the Telnet command to port 25, this may not work with thefixup protocol smtpcommand, and this is more noticeable with a Telnet client that performs character mode.

To turn off the Mailguard feature of the PIX or ASA firewall:
  1. Log on to the PIX or ASA firewall by establishing a telnet session or by using the console.
  2. 类型enable, and then press ENTER.
  3. When you are prompted for your password, type your password, and then press ENTER.
  4. 类型configure terminal, and then press ENTER.
  5. 类型no fixup protocol smtp 25, and then press ENTER.
  6. 类型write memory, and then press ENTER.
  7. Restart or reload the PIX or ASA firewall.

更多信息

The PIX or ASA Software Mailguard feature (also called Mailhost in early versions) filters Simple Mail Transfer Protocol (SMTP) traffic. For PIX or ASA Software versions 4.0 and 4.1, themailhostcommand is used to configure Mailguard. In PIX or ASA Software version 4.2 and later, thefixup protocol smtp 25command is used.

请注意You must also have static IP address assignments and conduit statements for your mail server.

When Mailguard is configured, Mailguard allows only the seven SMTP minimum-required commands as described in request for comment (RFC) 821, section 4.5.1. These seven required commands are the following:
HELO
MAIL
RCPT
DATA
RSET
NOOP
QUIT
Other commands, such as KILL and WIZ are not forwarded to the mail server by the PIX or ASA firewall. Early versions of the PIX or ASA firewall return an "OK" response, even to commands that are blocked. This is intended to prevent an attacker from the knowledge that the commands have been blocked.

To view RFC 821, visit the following RFC Web site:
http://www.faqs.org/rfcs/rfc821.html (http://www.faqs.org/rfcs/rfc821.html)
All other commands are rejected with the "500 Command unrecognized" response.

On Cisco PIX and ASA firewalls with firmware versions 5.1 and later, thefixup protocol smtpcommand changes the characters in the SMTP banner to asterisks except for the "2", "0", "0 " characters. Carriage return (CR) and linefeed (LF) characters are ignored. In version 4.4, all characters in the SMTP banner are converted to asterisks.

Test Mailguard for proper function

Because the Mailguard feature may return an "OK" response to all commands, it may be hard to determine whether it is active. To determine whether the Mailguard feature is blocking commands that are not valid, follow these steps.

请注意The following steps are based on PIX or ASA software version 4.0 and 4.1. To test later versions of PIX or ASA software (version 4.2 and later), use thefixup protocol smtp 25command and the appropriatestaticconduitstatements for your mail server.

With Mailguard turned off

  1. On the PIX or ASA firewall, use the static and conduit commands to allow all hosts in on TCP port 25 (SMPT).
  2. Establish a telnet session on the external interface of the PIX or ASA firewall on port 25.
  3. Type a command that is not valid, and then press ENTER. For example, typegoodmorning, and then press ENTER.

    You receive the following response:
    500 Command unrecognized.

With Mailguard turned on

  1. Use themailhostor thefixup protocol smtp 25command to turn on the Mailguard feature on the external interface of the PIX or ASA firewall.
  2. Establish a telnet session on the external interface of the PIX or ASA firewall on port 25.
  3. Type a command that is not valid, and then press ENTER. For example, typegoodmorning, and then press ENTER.

    You receive the following response:
    OK.
Mailguard 功能关闭时邮件服务器的响应不是有效"500 命令无法识别的"邮件命令。 但是,当 Mailguard 功能已打开,PIX 上或 ASA 防火墙截获无效,因为防火墙传递只有七个最小要求的 SMTP 命令的命令。 ASA 的 PIX 防火墙响应命令是否有效"确定"。

默认状态下,ASA 的 PIX 防火墙阻止所有外部连接访问内部主机。 使用静态、 访问的列表和访问组命令语句允许外部访问。 有关这些命令的其他信息,请访问下面的 Cisco 网站:
http://www.cisco.com/univercd/cc/td/doc/product/iaabu/pix/pix_60/config/commands.htm (http://www.cisco.com/univercd/cc/td/doc/product/iaabu/pix/pix_60/config/commands.htm)
有关如何配置 Cisco PIX 或 ASA 防火墙的其他信息,请访问下面的 Cisco 网站:
http://www.cisco.com/univercd/cc/td/doc/product/iaabu/pix/pix_v52/config/commands.htm#xtocid1604922 (http://www.cisco.com/univercd/cc/td/doc/product/iaabu/pix/pix_v52/config/commands.htm#xtocid1604922)
http://www.cisco.com/en/US/products/sw/secursw/ps2120/products_installation_and_configuration_guides_list.html (http://www.cisco.com/en/US/products/sw/secursw/ps2120/products_installation_and_configuration_guides_list.html)
http://www.cisco.com/en/US/products/hw/vpndevc/ps2030/products_tech_note09186a00800b2ecb.shtml (http://www.cisco.com/en/US/products/hw/vpndevc/ps2030/products_tech_note09186a00800b2ecb.shtml)


有关具有 SMTP 代理功能的防火墙产品的详细信息,请访问以下网站:
http://www.watchguard.com (http://www.watchguard.com)
http://www.checkpoint.com (http://www.checkpoint.com)
http://www.symantec.com/business/index.jsp (http://www.symantec.com/business/index.jsp)
本文讨论了在第三方产品是由独立于 Microsoft 的公司生产的。 Microsoft 使任何担保或暗示或其他有关性能或可靠性,这些产品的方式。Microsoft 提供了第三方联系信息可以帮助您查找技术支持。 此联系人的信息可能会更改,恕不另行通知。 Microsoft 不能保证此第三方联系信息的准确性。

这篇文章中的信息适用于:
  • Microsoft Exchange Server 2010 Standard
  • Microsoft Exchange Server 2010 Enterprise
  • Microsoft Exchange Server 2007 Standard Edition
  • Microsoft Exchange Server 2007 Enterprise Edition
  • Microsoft Exchange Server 2003 Standard Edition
  • Microsoft Exchange 2000 Server 标准版
  • Microsoft Exchange Server 5.5 标准版
关键字:?
kbprb kbmt KB320027 KbMtzh
机器翻译机器翻译
注意:这篇文章是由无人工介入的微软自动的机器翻译软件翻译完成。微软很高兴能同时提供给您由人工翻译的和由机器翻译的文章, 以使您能使用您的语言访问所有的知识库文章。然而由机器翻译的文章并不总是完美的。它可能存在词汇,语法或文法的问题,就像是一个外国人在说中文时总是可能犯这样的错误。虽然我们经常升级机器翻译软件以提高翻译质量,但是我们不保证机器翻译的正确度,也不对由于内容的误译或者客户对它的错误使用所引起的任何直接的, 或间接的可能的问题负责。
点击这里察看该文章的英文版: 320027? (http://support.microsoft.com/kb/320027/en-us/ )
Microsoft和/或其各供应商对于为任何目的而在本服务器上发布的文件及有关图形所含信息的适用性,不作任何声明。 所有该等文件及有关图形均"依样"提供,而不带任何性质的保证。Microsoft和/或其各供应商特此声明,对所有与该等信息有关的保证和条件不负任何责任,该等保证和条件包括关于适销性、符合特定用途、所有权和非侵权的所有默示保证和条件。在任何情况下,在由于使用或运行本服务器上的信息所引起的或与该等使用或运行有关的诉讼中,Microsoft和/或其各供应商就因丧失使用、数据或利润所导致的任何特别的、间接的、衍生性的损害或任何因使用而丧失所导致的之损害、数据或利润不负任何责任。