locked
Exchange 2007 SMTP 認証について RRS feed

  • 質問

  • Exchange 2007 SMTP 認証について、AUTH LOGIN(LOGIN認証)のみのクライアントをサポートしていますでしょうか?

    サポートしている場合、Exchange 2007 の基本認証にチェックが入っていれば、アカウント名「ドメイン名¥アカウント」パスワード「パスワード」にて認証できると考えて問題ないでしょうか。


    [参照URL]
    http://technet.microsoft.com/ja-jp/library/aa996395.aspx

    http://technet.microsoft.com/ja-jp/library/bb738161.aspx
    http://technet.microsoft.com/ja-jp/library/aa997170.aspx

    AUTH LOGIN(LOGIN認証)のみのクライアントにて、設定しても以下のエラーが出力されメールの送信ができませんでした。
    error message: (auth login)"504 5.7.4 Unrecognized authentication type

    書籍等色々調べましたが、明示的な記載がなく困っております。
    よろしくお願いします。
    2009年11月30日 7:44

回答

  • MSL-adm様

    詳細な状況を記載していただきまして、ありがとうございました。おかげさまで原因の背景がわかりました。
    要するに、SMTPで接続しているメーラーからExchangeを経由して外部にメールを送信することができないっていうことですよね?

    おそらく既定の設定であれば、Default サーバー名のコネクタを使用して接続制御を行っているかと思います。
    unable to Relayの原因は、匿名ユーザーとして接続してきたセッションにms-Exch-SMTP-Accept-Any-Recipientというアクセス許可が付与されていないため、
    承認済みドメインで拒否られています。

    これを回避するには、

    1.承認済みドメインをオープンリレーとして設定する。
    2.匿名ユーザーとして接続したセッションに、ms-Exch-SMTP-Accept-Any-Recipientアクセス許可を付与する
    3.SMTPメーラーの接続先をリレーサーバーとする

    この3つかと思います。

    私が経験した案件では、ほとんどのお客さんが3の対応を取っています。

    一応、2の方法がMSL-adm様の質問にあっているのかなと思いますので、設定方法を記載させていただきますね。
    検証はしていないので、もし実行するのであれば検証を行ってから実行するようにしてください。

    add-Permissionコマンドを実行します。

    Add-Permission -Identity "Default サーバー名" -User "NT AUTHORITY\ANONYMOUS LOGON" -ExtendedRights ms-Exch-SMTP-Accept-Any-Recipient
    (Default サーバー名のコネクタの匿名ユーザーのアクセス許可にms-Exch-SMTP-Accept-Any-Recipientを加えると言う設定内容です)

    これを行うことで恐らくunable to relayでエラーになることはないかと思います。
    これだけ書いておいて見当違いだったらごめんなさい。


    Akira Sakuma
    2009年12月1日 1:54

すべての返信

  • MSL-adm様

    Exchange 2007では、SMTP認証についてLOGIN認証はサポートしていると思います。
    MSL-adm様の受信コネクタの設定やクライアントの設定はどのようにされているのでしょうか。
    1点気をつけたいのは、クライアント側で送信するときに認証を必要っていう設定にチェックを入れることが必要かと思います。

    一応、私の方で動作確認はできたので設定やログを記載させていただきますね。

    受信コネクタの設定
    【認証タブ】
    基本認証:ON
    それ以外はすべてOFF

    【許可グループ】
    [Default サーバー名]コネクタの既定の設定(【パートナー】以外すべてON)

    接続が成功した接続ログ
    250-exchange2007.contoso.com Hello [192.168.1.100],
    250-SIZE,
    250-PIPELINING,
    250-DSN,
    250-ENHANCEDSTATUSCODES,
    250-AUTH LOGIN,
    250-8BITMIME,
    250-BINARYMIME,
    250 CHUNKING,
    AUTH LOGIN,
    334 <authentication response>,
    334 <authentication response>,
    SMTPSubmit SMTPAcceptAnyRecipient BypassAntiSpam AcceptRoutingHeaders,Set Session Permissions
    CONTOSO\akiras02,authenticated
    235 2.7.0 Authentication successful,
    MAIL FROM: <akiras02@contoso.com>,
    1,receiving message
    250 2.1.0 Sender OK,
    RCPT TO: <akiras02@contoso.com>,
    250 2.1.5 Recipient OK,
    DATA,
    354 Start mail input; end with <CRLF>.<CRLF>,
    250 2.6.0 <******> Queued mail for delivery,
    QUIT,
    221 2.0.0 Service closing transmission channel,

    接続が失敗した接続ログ(パスワードをわざと間違ったものを入力させています)
    *,SMTPSubmit SMTPAcceptAnySender SMTPAcceptAuthoritativeDomainSender AcceptRoutingHeaders,Set Session Permissions
    220 exchange2007.contoso.com Microsoft ESMTP MAIL Service ready at Mon, 30 Nov 2009 17:37:30 +0900",
    EHLO ANTFA54C015D94,
    250-exchange2007.contoso.com Hello [192.168.1.100],
    250-SIZE,
    250-PIPELINING,
    250-DSN,
    250-ENHANCEDSTATUSCODES,
    250-AUTH LOGIN,
    250-8BITMIME,
    250-BINARYMIME,
    250 CHUNKING,
    AUTH LOGIN,
    334 <authentication response>,
    334 <authentication response>,
    Inbound AUTH LOGIN failed because of LogonDenied
    535 5.7.3 Authentication unsuccessful,
    2009年11月30日 8:52
  • SMTP認証についてLOGIN認証はサポートしているとのこと、ご確認ご回答いただき大変ありがとうございます。
    現在、受信コネクタでは以下指定しております。

    [リモートIPアドレス]
    0.0.0.0~255.255.255.255

    プロパティ[認証]タブ
    [トランスポート層セキュリティ]チェックON
    [基本認証]チェックON
     [TLSの起動後にのみ基本認証を提供する]チェックON
    [Exchange Server認証]チェックON
    [統合 Windows 認証]チェックON

    プロパティ[許可グループ]タブ
    [匿名ユーザ]チェックON
    [Exchangeユーザ]チェックON
    [Exchangeサーバ]チェックON
    [Exchangeレガシーサーバ]チェックON

    クライアント側の設定では、認証を行うよう、[利用するSMTPサーバ情報と一致するかを確認]をチェックONにし、ユーザアカウントとパスワードの指定をしています。

    ユーザアカウント:ドメイン名\アカウント名
    パスワード:パスワード

    説明が不足しており恐縮です。下記に本質問に至るまでの背景を説明させていただきます。

    [質問の背景]

    現在、下記の事象が発生しており、クライアント側の設定にてどうにかならないものかと調査しているところの質問でした。

    [事象]
    同ドメインに参加しているサーバ(サーバ系ソフト)からのメールのみが、中継されず550 5.7.1 Unable to relayのエラーとなってしまいます。具体的には、サード パーティのメッセージ転送エージェントからの電子メールを受信するハブ トランスポート サーバーにて、550 5.7.1 Unable to relayのメッセージが出力され転送ができない状況です。

    [環境]
    Windows 2003 Enterprise Edition
    Exchange 2007
    ドメイン環境

    構成:[EG×2台]-[CH×3台]-[MB×3]

    [経緯]

    対策として、以下の2つを考えました。

    ・Exchangeサーバ側の設定変更
    ・同ドメインに参加しているサーバ(サーバ系ソフト)(クライアント)側の設定変更

    まず、Exchangeサーバ側の設定変更という観点から対応策を考え、受信コネクタにて、プロパティ[認証]タブで[トランストランスポート層セキュリティ]と[外部的セキュリティで保護] のみをチェックONにしたところ、現象が解消されました。

    しかし、[外部的セキュリティで保護] をチェックONにするには、[許可グループ]の[Exchange Server]のチェックをOFFにしなくてはならなかったため、[Exchange Server]のチェックOFFにしたところ、Exchangeサーバ間のメール送受信(EG→CHのメール送信)ができなくなったため、現在は設定を元に戻しています。

    今回質問させていただきましたエラーは、上記Exchangeサーバ側の設定変更にてうまくいかなかったため、クライアント側の観点から設定変更をし確認をした際に出力されたエラーとなります。

    本クライアント側の設定にて回避できない場合、再度、Exchangeサーバ側の設定変更の観点から、同ドメインに参加しているサーバ(サーバ系ソフト)に対してリモートIPアドレスを指定した専用の受信コネクタを作成して回避できるか確認したいと考えています。

    可能であれば、Exchange 受信コネクタの設定の質問となりますが、追加で以下についてもご教示いただくことは可能でしょうか。

    ・現在の受信コネクタに同ドメインに参加しているサーバ(クライアント)専用の受信コネクタを作成すれば回避できるかと考えています。
     しかしこの場合、リモートIPアドレスがタブった受信コネクタ複数存在することになりますが、問題なく動作しますでしょうか?

    [参照URL]
    http://technet.microsoft.com/ja-jp/library/bb738161.aspx
    http://technet.microsoft.com/ja-jp/library/aa996395.aspx
    http://technet.microsoft.com/ja-jp/library/aa997170.aspx
    http://technet.microsoft.com/ja-jp/library/bb232118.aspx
    http://technet.microsoft.com/ja-jp/library/aa995965.aspx

    検証環境が外部接続できない環境であるため、上記動作検証をすることができません。書籍やインターネット等を確認し、試行錯誤しております。

    長文となってしまいましたが、どうかよろしくお願いいたします。

    2009年11月30日 9:41
  • MSL-adm様

    詳細な状況を記載していただきまして、ありがとうございました。おかげさまで原因の背景がわかりました。
    要するに、SMTPで接続しているメーラーからExchangeを経由して外部にメールを送信することができないっていうことですよね?

    おそらく既定の設定であれば、Default サーバー名のコネクタを使用して接続制御を行っているかと思います。
    unable to Relayの原因は、匿名ユーザーとして接続してきたセッションにms-Exch-SMTP-Accept-Any-Recipientというアクセス許可が付与されていないため、
    承認済みドメインで拒否られています。

    これを回避するには、

    1.承認済みドメインをオープンリレーとして設定する。
    2.匿名ユーザーとして接続したセッションに、ms-Exch-SMTP-Accept-Any-Recipientアクセス許可を付与する
    3.SMTPメーラーの接続先をリレーサーバーとする

    この3つかと思います。

    私が経験した案件では、ほとんどのお客さんが3の対応を取っています。

    一応、2の方法がMSL-adm様の質問にあっているのかなと思いますので、設定方法を記載させていただきますね。
    検証はしていないので、もし実行するのであれば検証を行ってから実行するようにしてください。

    add-Permissionコマンドを実行します。

    Add-Permission -Identity "Default サーバー名" -User "NT AUTHORITY\ANONYMOUS LOGON" -ExtendedRights ms-Exch-SMTP-Accept-Any-Recipient
    (Default サーバー名のコネクタの匿名ユーザーのアクセス許可にms-Exch-SMTP-Accept-Any-Recipientを加えると言う設定内容です)

    これを行うことで恐らくunable to relayでエラーになることはないかと思います。
    これだけ書いておいて見当違いだったらごめんなさい。


    Akira Sakuma
    2009年12月1日 1:54
  • ご丁寧なご回答をいただき、ありがとうございます。
    回避するための3つの方法について、大変参考になりました。
    add-Permissionコマンドについて、確認いたします。

    また、3.SMTPメーラーの接続先をリレーサーバーとする について、
    もう少し詳しくご説明いただくことは可能でしょうか。

    接続先をリレーサーバーとするとは、メーラーに設定するSMTPサーバを入力する箇所にEdgeを指定するということでしょうか。リレーサーバ専用のEdgeを新たに立てないとならないのでしょうか?

    度重なる質問となり、恐れ入りますが、よろしくお願いいたします。

    2009年12月1日 7:52
  • MSL-adm様

    参考になったようでなによりです!!

    3の方法については、経験した案件でのリレーサーバーがLinuxだったりしたため、そちらの方で制御するから良いよ~っていうお客さんが多かったです。
    よって、特にEdgeサーバーを立てなければいけないというわけではありません。

    このような構成になった場合は、MSL-adm様のおっしゃるように、メーラーの設定が

    受信サーバー:Exchange 2007
    送信サーバー:SMTPサーバー

    となります。
    2009年12月1日 8:07
  • お世話になっております。

    回答いただき、ありがとうございました。
    大変参考になりました。

    今後とも、よろしくお願いします。

    2009年12月1日 11:34