Exchange サーバーでの匿名の中継の許可

第三者中継 は、インターネット上のメッセージング サーバーでは非常に有害な問題となります。 誤ってまたは意図的に第三者中継として構成されているメッセージング サーバーがあると、そのような第三者中継サーバーを介して任意のソースからのメールが透過的に経路変更されてしまう可能性があります。 このことが起きると、メッセージの送信元がマスクされ、第三者中継サーバーから送信されたメールであるかのように見えるようになります。 第三者中継サーバーはスパム送信者が熱心に探して利用するものなので、メッセージング サーバーは第三者中継として構成すべきではありません。

それに対し、匿名の中継は、内部の Web サーバー、データベース サーバー、監視アプリケーションなど、電子メール メッセージを生成しはするもののそれらのメッセージを実際に送信することはできないネットワーク デバイスを所有する多くの企業で一般に必要とされるものです。

Exchange Serverでは、内部ネットワーク ホストの特定のリストからの匿名リレーを許可するメールボックス サーバー上のフロント エンド トランスポート サービスに専用の受信コネクタを作成できます。 匿名の中継の受信コネクタの主な考慮事項を以下に示します。

  • 専用の受信コネクタを作成して、メッセージを匿名で中継することが許されるネットワーク ホストを指定することにより、それ以外のユーザーなどがこのコネクターを使用できないようにする必要があります。 Exchange によって作成される既定の受信コネクタに匿名の中継機能を追加しようとしないでください。 サーバーを第三者中継として構成しないためには、受信コネクタへのアクセスを制限することが重要です。

  • トランスポート サービスではなく、フロント エンド トランスポート サービスに専用の受信コネクタを作成する必要があります。 Exchange Serverでは、フロントエンド トランスポート サービスとトランスポート サービスは常にメールボックス サーバー上にまとめて配置されます。 フロントエンド トランスポート サービスには、既定の Frontend <ServerName> という名前の既定の受信コネクタがあり、TCP ポート 25 上の任意のソースからの受信 SMTP 接続をリッスンするように構成されています。 フロント エンド トランスポート サービスに、TCP ポート 25 で SMTP の着信接続をリッスンする別の受信コネクタを作成することができますが、コネクタの使用が許される IP アドレスを指定する必要があります。 これらの特定のネットワーク ホストからの着信接続に対しては常にこの専用の受信コネクタ (接続しようとしている側のサーバーの IP アドレス WINS に最も適合する構成になっている受信コネクタ) が使用されます。

    対照的に、トランスポート サービスには Default ServerName> という名前の既定<の受信コネクタがあり、どのソースからの受信 SMTP 接続についても一覧表示されるように構成されていますが、このコネクタは TCP ポート 2525 でリッスンするため、フロントエンド トランスポート サービスの受信コネクタと競合しないようにします。 さらに、他のトランスポート サービスと 組織内の Exchange サーバーのみがこの受信コネクタを使用するよう想定されていて、それに応じた認証と暗号化の方法が設定されています。

    詳細については、「Mail flow and the transport pipeline」と「セットアップ中に作成される既定の受信コネクタ」を参照してください。

  • 専用の受信コネクタを作成した後は、IP アドレスで示された指定のネットワーク ホストのみに匿名で中継することを許可するよう権限を変更する必要があります。 ネットワークのホストが匿名でメッセージを中継するためには、受信コネクタに対する次のアクセス許可が最低限必要となります。

    • ms-Exch-Accept-Headers-Routing

    • ms-Exch-SMTP-Accept-Any-Recipient

    • ms-Exch-SMTP-Accept-Any-Sender

    • ms-Exch-SMTP-Accept-Authoritative-Domain-Sender

    • ms-Exch-SMTP-Submit

      受信コネクタに対するアクセス許可の詳細については、「受信コネクタの許可グループ」および「受信コネクタのアクセス許可」を参照してください。

      受信コネクタでの匿名の中継に必要なアクセス許可を構成する方法は 2 つあります。 次の表で、これらのメソッドを説明します。

Method 付与されるアクセス許可 利点 欠点
受信コネクタに匿名ユーザー (Anonymous) アクセス許可グループを追加し、受信コネクタのNT AUTHORITY\ANONYMOUS LOGONセキュリティ プリンシパルにアクセス許可を追加Ms-Exch-SMTP-Accept-Any-Recipientします。 接続では、次の NT AUTHORITY\ANONYMOUS LOGON アクセス許可を持つセキュリティ プリンシパルが使用されます。
  • ms-Exch-Accept-Headers-Routing
  • ms-Exch-SMTP-Accept-Any-Recipient
  • ms-Exch-SMTP-Accept-Any-Sender
  • ms-Exch-SMTP-Accept-Authoritative-Domain-Sender
  • ms-Exch-SMTP-Submit
匿名の中継を許可するのに最低限必要なアクセス許可を付与します。 構成難易度が高くなります (Exchange 管理シェル を使用する必要があります)。

ネットワークのホストは、匿名の送信者と見なされます。 メッセージはスパム対策やメッセージ サイズ制限チェックをバイパスせず、送信者のメール アドレスをグローバル アドレス一覧の対応する表示名 (存在する場合) に解決することはできません。

Exchange サーバー (ExchangeServers) アクセス許可グループと外部保護 (ExternalAuthoritative) 認証メカニズムを受信コネクタに追加します。 接続では、次の MS Exchange\Externally Secured Servers アクセス許可を持つセキュリティ プリンシパルが使用されます。
  • ms-Exch-Accept-Headers-Routing
  • ms-Exch-Bypass-Anti-Spam
  • ms-Exch-Bypass-Message-Size-Limit
  • ms-Exch-SMTP-Accept-Any-Recipient
  • ms-Exch-SMTP-Accept-Any-Sender
  • ms-Exch-SMTP-Accept-Authentication-Flag
  • ms-Exch-SMTP-Accept-Authoritative-Domain-Sender
  • ms-Exch-SMTP-Accept-Exch50
  • ms-Exch-SMTP-Submit
構成が簡単です (Exchange 管理センター ですべてを行うことができます)。

ネットワークのホストは、認証された送信者と見なされます。 メッセージはスパム対策とメッセージ サイズ制限チェックをバイパスし、送信者のメール アドレスをグローバル アドレス一覧の対応する表示名に解決できます。

Exchange 組織内の内部送信者からメッセージが発信された場合と同様に、メッセージを送信するアクセス許可を付与します。 ネットワークのホストは、送信するメッセージのボリューム、サイズ、内容に関係なく、完全に信頼できると見なされます。

最終的には、組織のニーズに最も合った方法を決定する必要があります。 両方の構成方法について説明します。 ただし、採用できるのはどちらか 1 つの方法であり、両方を同時に構成することはできないという点にご注意ください。

始める前に把握しておくべき情報

  • このタスクの予想所要時間:10 分。

  • これらの手順の一部で、Exchange 管理シェル が必要となります。 オンプレミスの Exchange 組織で Exchange 管理シェルを開く方法については、「 Open the Exchange Management Shell」をご覧ください。

  • この手順を実行する際には、あらかじめアクセス許可が割り当てられている必要があります。 必要なアクセス許可を確認するには、「 メール フローのアクセス許可 」トピックの「受信コネクタ」エントリを参照してください。

  • このトピックの手順で使用可能なキーボード ショートカットについては、「Exchange 管理センターのキーボード ショートカット」を参照してください。

ヒント

問題がある場合は、 Exchange Server、Exchange Online、Exchange Online Protection。 必要な作業 シェルを使用して送信者フィルターを有効または無効にする

手順 1:匿名の中継専用の受信コネクタを作成する

受信コネクタは、EAC または Exchange 管理シェル で作成することができます。

EAC を使用して、匿名の中継専用の受信コネクタを作成する

  1. EAC で、[メール フロー>受信コネクタ] に移動し、[追加] アイコンをクリックします。 これにより、 受信コネクタの新規作成ウィザードが起動します。

  2. 最初のページで、以下の情報を入力します。

    • [名前]: 受信コネクタのわかりやすい名前 (匿名リレーなど) を入力します。

    • ロール: [フロントエンド トランスポート] を選択します。

    • : [ カスタム] を選択します。

      完了したら、[次へ] をクリックします。

  3. 次のページの [ネットワーク アダプター バインド] セクションで、次のいずれかの設定を行います。

    • Exchange サーバーが 1 つのネットワーク アダプターを持ち、別々のサブネットを使用して内部と外部のトラフィックを分離していない場合は、ポート 25 で既存 (使用可能なすべての IPv4) のエントリを受け入れます。

    • Exchange サーバーに内部ネットワーク アダプターと外部ネットワーク アダプターがあり、別々のサブネットを使用して内部ネットワーク トラフィックと外部ネットワーク トラフィックを分離している場合は、内部ネットワーク アダプターから発信される要求のみにコネクタが使用されるよう制限することで、コネクタのセキュリティをさらに強化することができます。 これを行うには、次の手順を実行します。

      1. 既存の (使用可能なすべての IPv4) エントリを選択し、[削除] アイコンをクリックし、[追加] アイコンをクリックします。

      2. 表示された [ネットワーク アダプター バインド] ダイアログ ボックスで、 [IPv4 アドレスまたは IPv6 アドレスを指定します] を選択し、内部ネットワーク アダプターで構成されている有効で利用可能な IP アドレスを入力し、 [保存] をクリックします。

    完了したら、[次へ] をクリックします。

  4. 次のページの [ リモート ネットワーク設定 ] セクションで、次の手順を実行します。

    1. 既存の 0.0.0.0-255.255.255.255 エントリを選択し、[削除] アイコンをクリックし、[追加] アイコンをクリックします。

    2. 表示された [リモート アドレス設定] ダイアログ ボックスで、このコネクタの利用が許可されているネットワーク ホストを特定する IP アドレスまたは IP アドレスの範囲を入力して、 [保存] をクリックします。 この手順を繰り返して、複数の IP アドレスまたは IP アドレスの範囲を追加できます。 このコネクタの使用が許可されるネットワークを指定する際には、詳細すぎる指定にするほうが (たとえそれで不便が生じることがあっても)、指定が一般的すぎて危険にさらされるよりましです。

    完了したら、 [完了] をクリックします。

Exchange 管理シェル を使用して、匿名の中継専用の受信コネクタを作成する

Exchange 管理シェル で同じ受信コネクタを作成するには、次の構文を使用します。

New-ReceiveConnector -Name <ConnectorName> -TransportRole FrontendTransport -Custom -Bindings <LocalIPAddresses>:25 -RemoteIpRanges <RemoteIPAddresses>

この例では、次の構成オプションで新しい受信コネクタを作成します。

  • 名前: 匿名リレー

  • トランスポート ロール: FrontEndTransport

  • 使用法の種類: カスタム

  • バインド: 0.0.0.0:25 (TCP ポート 25 上の Exchange サーバー内のすべてのネットワーク アダプターで構成されているすべての IP アドレスで受信メッセージをリッスンします)。

  • このコネクタを使用できるリモート IP アドレス: 192.168.5.10 および 192.168.5.11

New-ReceiveConnector -Name "Anonymous Relay" -TransportRole FrontendTransport -Custom -Bindings 0.0.0.0:25 -RemoteIpRanges 192.168.5.10,192.168.5.11

注:

  • カスタム使用法の種類を指定する場合は、 Bindings パラメーターが必要です。

  • RemoteIpRanges パラメーターは、個々の IP アドレス、IP アドレス範囲 (例: )、192.168.5.10-192.168.5.20または Classless InterDomain Routing (CIDR) (例: 192.168.5.1/24) を受け入れます。 複数の値をコンマで区切って指定できます。

手順 2:専用の受信コネクタで匿名の中継のアクセス許可を構成する

導入部分で説明したように、受信コネクタで必要なアクセス許可を構成するのに使用できる方法には、次の 2 つがあります。

  • 匿名で接続を構成します。

  • 外部的にセキュリティで保護された接続を構成します。

どちらか 1 つの方法を選択します。 例では、ステップ 1 で作成した「匿名の中継」という名前の受信コネクタを使用します。

匿名で接続を構成する

Exchange 管理シェル で次のコマンドを実行します。

1.

Set-ReceiveConnector "Anonymous Relay" -PermissionGroups AnonymousUsers
Get-ReceiveConnector "Anonymous Relay" | Add-ADPermission -User "NT AUTHORITY\ANONYMOUS LOGON" -ExtendedRights "Ms-Exch-SMTP-Accept-Any-Recipient"

外部的にセキュリティで保護された接続を構成する

  1. EAC で、[メール フロー>受信コネクタ] に移動し、匿名リレー コネクタを選択し、[編集] アイコンをクリックします。

  2. コネクタのプロパティで、 [セキュリティ] をクリックして、次のように選択します。

    • 認証: トランスポート層セキュリティ (TLS) の選択を解除し、[ 外部でセキュリティで保護された (IPsec など)] を選択します。

    • アクセス許可グループ: [Exchange サーバー] を選択します。

    完了したら、[保存] をクリックします。

Exchange 管理シェル でこれらの同じ手順を実行するには、次のコマンドを実行します。

Set-ReceiveConnector "Anonymous Relay" -AuthMechanism ExternalAuthoritative -PermissionGroups ExchangeServers

正常な動作を確認する方法

匿名リレーが正常に構成されたことを確認するには、次の手順を実行します。

  • 専用の受信コネクタの構成を確認します。

    Get-ReceiveConnector "Anonymous Relay" | Format-List Enabled,TransportRole,Bindings,RemoteIPRanges
    
  • 専用の受信コネクタのアクセス許可を確認します。

    Get-ADPermission "Anonymous Relay" -User "NT AUTHORITY\ANONYMOUS LOGON" | where {($_.Deny -eq $false) -and ($_.IsInherited -eq $false)} | Format-Table User,ExtendedRights
    

    または

    Get-ADPermission "Anonymous Relay" -User "MS Exchange\Externally Secured Servers" | where {($_.Deny -eq $false) -and ($_.IsInherited -eq $false)} | Format-Table User,ExtendedRights
    
  • Telnet を使用して、1 つ以上の指定されたネットワーク ホストが専用の受信コネクタに接続でき、このコネクタ経由でメールを匿名で中継することができるかテストします。 既定では、Telnet クライアントは、ほとんどのクライアントまたはサーバー バージョンの Microsoft Windows にはインストールされません。 インストールするには、「Telnet クライアントのインストール」を参照してください。

    詳細については、「Telnet を使用して Exchange サーバー上の SMTP 通信をテストする」を参照してください。

    ネットワーク ホストが Telnet のないデバイスの場合は、そのコンピューターの IP アドレスを受信コネクタに一時的に追加して、テストが完了したらその IP アドレスを受信コネクタから削除します。

    テストには、次の値が必要です。

    • 宛先: これは、専用の受信コネクタへの接続に使用する IP アドレスまたは FQDN です。 これは、受信コネクタが定義されているメールボックス サーバーの IP アドレスである可能性があります。 これは、コネクタで構成した ネットワーク アダプターのバインド プロパティ (または Bindings パラメーター) の値に関連します。 使用している環境に有効な値を使用する必要があります。 この例では、10.1.1.1 を使用します。

    • 送信者のメール アドレス: 組織の権限のあるドメインにある送信メール アドレスを使用するように、匿名でメールを中継するサーバーまたはデバイスを構成する可能性があります。 この例では、 を使用 chris@contoso.comします。

    • 受信者のメール アドレス: 有効なメール アドレスを使用します。 この例では、 を使用 kate@fabrikam.comします。

    • メッセージの件名: テスト

    • メッセージ本文: これはテスト メッセージです

    1. コマンド プロンプト ウィンドウで「telnet」と入力し、Enter キーを押します。

    2. 「set localecho」と入力し、Enter キーを押します。

    3. 「OPEN 10.1.1.1 25」と入力し、Enter キーを押します。

    4. 「EHLO」と入力し、Enter キーを押します。

    5. 「MAIL FROM:chris@contoso.com」と入力し、Enter キーを押します。

    6. 「RCPT TO:kate@fabrikam.com」と入力し、Enter キーを押します。

      • 応答 250 2.1.5 Recipient OKを受信した場合、受信コネクタはネットワーク ホストからの匿名リレーを許可します。 次の手順に進み、テスト メッセージの送信を終了します。

      • 応答 550 5.7.1 Unable to relayを受信した場合、受信コネクタはネットワーク ホストからの匿名リレーを許可しません。 このような場合は、次の操作を行います。

        • 専用の受信コネクタの正しい IP アドレスまたは FQDN に接続していることを確認します。

        • Telnet を実行しているコンピューターが、受信コネクタの使用を許可されていることを確認します。

        • 受信コネクタのアクセス許可を確認します。

    7. 「DATA」と入力し、Enter キーを押します。

      次のような応答を受信します。

      354 Start mail input; end with <CLRF>.<CLRF>

    8. 「Subject: Test」と入力し、Enter キーを押します。

    9. もう一度 Enter キーを押します。

    10. 「This is a test message」と入力し、Enter キーを押します。

    11. Enter キーを押し、ピリオド (.) を入力して、再度 Enter キーを押します。

      次のような応答を受信します。

      250 2.6.0 <GUID> Queued mail for delivery

    12. SMTP サーバーとの接続を解除するには、「QUIT」と入力し、Enter キーを押します。

      次のような応答を受信します。

      221 2.0.0 Service closing transmission channel

    13. Telnet セッションを閉じるには、「quit」と入力し、Enter キーを押します。

  • 匿名の中継が断続的に動作する場合は、既定のメッセージの頻度および受信コネクタの調整制限を変更する必要があります。 詳細については、「受信コネクタでのメッセージ調整」を参照してください。