ホワイトリストを使用して認証された SMTP メールを強制する

ホワイトリストを使用して認証された SMTP メールを強制する

root@servernameたとえば、電子メールが から送信された場合を除き、認証された SMTP 電子メールのみを許可する exim 設定が必要です。これが今日私が持っているものです:

acl_not_smtp (custom_begin_outgoing_notsmtp_checkall)

deny
authenticated = *
condition = ${if !eq {root@$primary_hostname}{${address:$h_from:}}}
message = REJECTED
accept

このソリューションは、認証されていないすべての電子メールをブロックします。もっと良い解決策をお持ちの方はいらっしゃいますか?

答え1

別の ACL である acl_smtp_rcpt を呼び出す必要があると思います。この ACL がサーバー上でどの名前にマップされているかを調べてください。Debian では、acl_check_rcpt です。

送信者をテストするには、送信者がすでに指定されている必要があります。これは、リモート エンドが "RCPT TO:" コマンドを送信する場合に当てはまります。試してみないと、acl_check_rcpt で次のような操作を行います。

accept authenticated = *
accept senders = root@servername
deny message = Rejected

簡単に偽造できる送信元アドレスに頼るべきではありません。送信元ホストに対してテストするには、

    accept senders = root@servername
           hosts = 127.0.0.1 : localhost

さらに、メッセージの送信元が自分のサーバーであることを確認します。

ほとんどの場合、ローカル メッセージは SMTP によって受信されません。設定内の ACL は acl_not_smtp になります。ただし、これがどの名前にマッピングされているか再度検索してください。

関連情報