Cisco PIX ファイアウォールの内側で電子メール メッセージを送信または受信できない

 

トピックの最終更新日: 2008-10-24

ここでは、Microsoft Exchange が Cisco PIX ファイアウォール デバイスの内側に配置されている場合に、以下のメール フロー問題のトラブルシューティングを行う方法について説明します。

  • インターネット ベースの電子メール メッセージを受信できない。
  • 添付ファイルを含む電子メール メッセージを送信できない。
  • ポート 25 で Exchange サーバーとの Telnet セッションを確立できない。
  • Exchange サーバーに EHLO コマンドを送信すると、"Command unrecognized" 応答または "OK" 応答が返される。
  • 特定のドメイン上でメールを送信または受信できない。
  • POP3 (Post Office Protocol Version 3) 認証で問題が発生する。この場合、Exchange サーバー上で "550 5.7.1 relaying denied" エラーが返されることがあります。
  • 重複した電子メール メッセージが送信される (場合によっては 5 ~ 6 個)。
  • 重複した着信 SMTP (簡易メール転送プロトコル) メッセージが送られてくる。
  • Microsoft Office Outlook クライアントが電子メール メッセージを送信するときにエラー 0x800CCC79 を生成する。
  • バイナリ MIME (8 ビット MIME) に問題がある。この場合、配信不能レポート (NDR) の配信状態通知 (DSN) メッセージで、"554 5.6.1 Body type not supported by Remote Host" というテキストが送られてきます。
  • メッセージ添付ファイルが欠落または損傷している。
  • Cisco PIX ファイアウォール デバイスがルーティング グループの間に配置されているときに、ルーティング グループ間のリンク状態ルーティングに問題がある。
  • X-LINK2STATE コマンドが渡されない。
  • ルーティング グループ コネクタ上のサーバー間で認証の問題が発生する。

原因

これらの問題は、以下の両方の条件が当てはまる場合に発生することがあります。

  • Exchange サーバーが、Mailguard 機能が有効になった Cisco PIX ファイアウォール デバイスの内側に配置されている。
  • ESMTP (Extended Simple Mail Transfer Protocol) コマンドの Auth および Auth login が、ファイアウォールによって取り除かれている。
note注 :
この場合、Exchange は、リモート ドメインから電子メールが中継されていると判断します。

PIX ファイアウォール上で Mailguard が実行されているかどうかを判断するには、MX リソース レコードの IP アドレスに対して Telnet を実行し、以下のような応答が返されることを確認します。

220*******************************0*2******0***********

2002*******2***0*00

note注 :
読みやすくするために、一部のアスタリスク (*) はこのメッセージから取り除かれています。

古いバージョンの PIX デバイスの場合

220 SMTP/cmap_____________________________________read

PIX ファイアウォールの Mailguard 機能をテストする方法の詳細については、「Testing the PIX Firewall Mailguard Feature」 (英語) を参照してください。

note注 :
このトピックにあるサードパーティの Web サイトに関する情報は、必要な技術情報を参照する際に役立つように提供されています。 この URL は、将来予告なしに変更されることがあります。 
note注 :
SMTP プロキシ機能を含む他のファイアウォールも、「概要」のセクションで説明した動作を示すことがあります。これらの製品の詳細については、このトピックの「詳細情報」のセクションを参照してください。

解決方法

拡張 SMTP (ESMTP) サーバーが PIX ファイアウォール デバイスの内部にある場合、適切なメール フローを可能にするために、PIX の Mailguard 機能をオフにする必要がある場合があります。

Caution注意 :
この回避策により、コンピュータまたはネットワークが、悪意のあるユーザーや、ウイルスなどの悪意のあるソフトウェアによる攻撃を受けやすくなる可能性があります。この回避策は、自己の責任において使用してください。

Mailguard 機能を無効にするには、以下の手順を実行します。

  1. Telnet セッションを確立するか、コンソールを使用して、PIX デバイスにログオンします。
  2. enable」と入力し、Enter キーを押します。
  3. 入力を求められたら、パスワードを入力し、Enter キーを押します。
  4. configure terminal」と入力し、Enter キーを押します。
  5. no fixup protocol smtp 25」と入力し、Enter キーを押します。
  6. write memory」と入力し、Enter キーを押します。
  7. PIX デバイスを再起動するか、PIX 構成を再度読み込みます。

Cisco ASA の拡張 SMTP 検査は、Cisco PIX Firewall バージョン 6.x またはそれ以前のバージョンによって提供される従来型の SMTP 検査を向上させます。この機能は、Cisco ASA を通じて渡せる SMTP コマンドの種類を制限することにより、SMTP ベースの攻撃に対する保護を提供します。これは、一般に使用されている Catalyst 6500 モデルや 7600 モデルなどの一部の Cisco ルーターにも当てはまります。

詳細については、「Cisco ASA 5500 Series Release Notes」 (英語) および「Configuring Application and Protocol Inspection - Cisco Systems」 (英語) を参照してください。

note注 :
このトピックにあるサードパーティの Web サイトに関する情報は、必要な技術情報を参照する際に役立つように提供されています。 この URL は、将来予告なしに変更されることがあります。 

詳細情報

PIX の Mailguard 機能 (初期バージョンでは Mailhost と呼ばれていました) は、SMTP トラフィックをフィルタ処理します。PIX ソフトウェアのバージョン 4.0 および 4.1 では、mailhost コマンドを使用して Mailguard を構成します。PIX ソフトウェアのバージョン 4.2 以降では、fixup protocol smtp 25 コマンドを使用します。

note注 :
また、メール サーバーに対して、静的な IP アドレスを割り当てて、conduit ステートメントを実行する必要があります。

Mailguard が構成されている場合、RFC (Request for Comments) 821 のセクション 4.5.1 で説明されているように、SMTP の最小実装を形成するコマンドのみが許可されます。7 つの最小コマンドは次のとおりです。

  • HELO
  • MAIL
  • RCPT
  • DATA
  • RSET
  • NOOP
  • QUIT

詳細については、「RFC821 - Simple Mail Transfer Protocol」 (英語) を参照してください。

KILLWIZ などの他のコマンドは、PIX ファイアウォールにより、メール サーバーに転送されることはありません。初期バージョンの PIX ファイアウォールでは、ブロックされたコマンドに対しても "OK" 応答が返されます。これは、コマンドがブロックされたかどうかを攻撃者が判断できないようにするためです。他のすべてのコマンドは、"500 Command unrecognized" 応答で拒否されます。

ファームウェアのバージョンが 5.1 およびそれ以降の Cisco PIX ファイアウォールでは、fixup protocol smtp コマンドにより、SMTP バナーに含まれる "2"、"0"、"0" 以外の文字がアスタリスクに変更されます。キャリッジ リターン (CR) 文字とラインフィード (LF) 文字は無視されます。バージョン 4.4 の場合は、SMTP バナー内のすべての文字がアスタリスクに変換されます。

Mailguard が適切に機能しているかを判断するには、次の操作を行います。

Mailguard 機能はすべてのコマンドに対して "OK" 応答を返す可能性があるため、この機能が有効になっているかどうかを判断するのが困難な場合があります。Mailguard 機能によって無効なコマンドがブロックされているかどうかを判断するには、以下の手順を実行します。

note注 :
これらの手順は、PIX ソフトウェア バージョン 4.0 および 4.1 に基づいています。バージョン 4.2 など、それ以降のバージョンの PIX ソフトウェアをテストするには、fixup protocol smtp 25 コマンドと、メール サーバーに対して適切な static ステートメントおよび conduit ステートメントを使用します。

Mailguard が無効である場合

  1. PIX ファイアウォールで、static コマンドと conduit コマンドを使用して、TCP ポート 25 (SMTP) 上ですべてのホストからの着信トラフィックを許可します。
  2. ポート 25 の PIX ファイアウォールの外部インターフェイスで、Telnet セッションを確立します。
  3. 無効なコマンドを入力し、Enter キーを押します。たとえば、「goodmorning」と入力し、Enter キーを押します。"500 Command unrecognized" 応答が返されます。

Mailguard が有効である場合

  1. mailhost コマンドまたは fixup protocol smtp 25 コマンドを使用して、PIX ファイアウォールの外部インターフェイス上で Mailguard 機能を有効にします。
  2. ポート 25 の PIX ファイアウォールの外部インターフェイスで、Telnet セッションを確立します。
  3. 無効なコマンドを入力し、Enter キーを押します。たとえば、「goodmorning」と入力し、Enter キーを押します。"OK" 応答が返されます。

Mailguard 機能が無効になっている場合、メール サーバーは、無効なコマンドに対して "500 Command unrecognized" 応答を生成します。しかし、Mailguard 機能が有効になっている場合、PIX ファイアウォールは 7 つの最小 SMTP コマンドのみを通過させるため、無効なコマンドが遮断されます。PIX ファイアウォールは、コマンドが有効であっても無効であっても、"OK" で応答します。既定では、PIX ファイアウォールは、外部接続から内部ホストへのアクセスをすべてブロックします。外部アクセスを許可するには、staticaccess-list、および access-group コマンド ステートメントを使用します。

これらのコマンドの詳細については、「The Cisco Command Reference」 (英語) を参照してください。

Cisco PIX ファイアウォールの構成方法の詳細については、「Cisco PIX Firewall Software Configuration Guides」 (英語) を参照してください。

SMTP プロキシ機能を含むその他の製品

次の製品は、SMTP プロキシ機能を含んでいます。

  • Watchguard Firebox
  • Checkpoint
  • Raptor

既定では、これらの製品の SMTP プロキシ機能または SMTP フィルタ機能は有効です。したがって、「概要」のセクションで示した現象が発生することがあります。

これらのサードパーティ製品の詳細については、「WatchGuard」 (英語)、「Check Point」 (英語)、および「Symantec」 (英語) を参照してください。

note注 :
このトピックにあるサードパーティの Web サイトに関する情報は、必要な技術情報を参照する際に役立つように提供されています。 この URL は、将来予告なしに変更されることがあります。 

参照している情報が最新であることを確認したり、他の Exchange Server 2007 ドキュメントを見つけたりするには、Exchange Server TechCenter を参照してください。