質問
LDAP 受け入れクエリを使用して、リレーされたメッセージの送信者を確認するにはどうしますか。
警告:メッセージがパブリックリスナーに到着した場合、LDAP受け入れクエリを実行できるのは、エンベロープの'送信元'アドレスに対してのみです。プライベートリスナーでは、LDAP Acceptクエリの使用は許可されません。LDAP受け入れクエリは、着信接続にのみ適用されます。このため、この設定が機能するためには、メールフローポリシーの「接続動作」をリレーに設定しないでください。
次に、LDAP受け入れクエリの送信者検証を設定するために必要な手順を示します。
- 内部の送信者がインターネットにリレーすることを許可または拒否するには、LDAP内に電子メールアドレスが存在する場合に応じて、プライベートリスナーをパブリックリスナーに置き換える必要があります。この例では、新しいパブリックリスナーは「Outbound_Sender_Validation」という名前になります。
- 新しいLDAPサーバプロファイルを作成し、このプロファイルのLDAP受け入れクエリーを設定します。LDAP受け入れクエリでエンベロープの差出人アドレスを検証するには、クエリ文字列で{a}を{f}に置き換える必要があります。LDAPの設定方法と使用方法の詳細については、『Advanced User Guide』を参照してください。
例: (mail={a}) => (mail={f})
- 「Outbound_Sender_Validation」リスナーで設定されているLDAP受け入れクエリを有効にします。
- 「Mail Policies」>「Recipient Access Table(RAT)」に移動し、新しいパブリックリスナー「Outbound_Sender_Validation」に切り替えます。リレーを許可するには、「All Other Recipients」を「Accept」に設定し、これがRATの唯一のエントリであることを確認します。
- 「HAT概要」に移動し、「Outbound_Sender_Validation」リスナーに切り替えます。ここでは、1つの送信者グループのみが必要です。 オープンメールリレーのリスクを回避するために、この送信者グループを、リレーが許可されているMTAのIPアドレスに対してのみ一致するように設定することをお勧めします。
- 割り当てられたメールフローポリシーの「接続動作」がリレーに設定されていないことが重要です。これが設定されていないと、LDAP Acceptクエリの使用が無効になります。
- 他のMTAが「Outbound_Sender_Validation」経由で接続できないようにするには、デフォルトの「ALL」送信者グループのポリシーをBLOCKEDに設定します。
ログの内容
警告:この設定に基づき、エンベロープのRcpt Toアドレスが受信される前に拒否は行われません。これは、LDAP受け入れクエリが本来、送信者の検証ではなく受信者を対象としているためです。 これは、LDAP拒否が受信者アドレスと同じログ行に示されているメールログにも表示されます。
Wed Feb 18 16:16:19 2009 Info: New SMTP ICID 2643 interface Management
(10.0.0.100) address 10.0.0.200 reverse dns host unknown verified no
Wed Feb 18 16:16:19 2009 Info: ICID 2643 ACCEPT SG RELAY_HOSTS match 10.0.0.200
rfc1918
Wed Feb 18 16:16:32 2009 Info: Start MID 2554 ICID 2643
Wed Feb 18 16:16:32 2009 Info: MID 2554 ICID 2643
From: <do_not_exist@example.test>
Wed Feb 18 16:16:39 2009 Info: MID 2554 ICID 2643 To: <good_user@example.com>
Rejected by LDAPACCEPT
Wed Feb 18 16:17:14 2009 Info: ICID 2643 close
このログエントリを見ると、拒否されたアドレスは、実際には拒否された「good_user@example.com」であるにもかかわらず、「do_not_exist@example.test」であると思われます。