web-dev-qa-db-ja.com

偽造FROM:reject_authenticated_sender_login_mismatchにもかかわらずヘッダー

構造の説明

  • サーバーAはpostfixを実行し、サーバーBのスマートホストとして機能します(postfixも実行します)。reject_authenticated_sender_login_mismatchが設定され、(ほぼ)期待どおりに機能します。以下を参照してください。
  • クライアントCのMUAは、サーバーAを介してメールを送信します
  • BとCは両方とも送信ポートを介して接続し、STARTTLSで認証します

送信者を偽造しようとするとどうなりますか

  • Thunderbirdで送信者アドレスを変更するか、roundcubeで新しいIDを追加して、任意のFROM:ヘッダーを設定すると、期待される結果が得られます。メールは拒否されます。
  • smarthostとしてAを使用してサーバーBでmail -s "This is a Subject" -a "From: [email protected]"を使用して同じことを行うと、メールが正常に送信されます。

観察された違い

接尾辞のsmtpdの冗長性を高めることにより、次のことが観察されました。

  • Thunderbirdとroundcubeにログインしてから、FROM:を許容値に直接設定します
  • サーバーBも同じように起動しますが、後でなんとかしてFROM:ヘッダーを変更できます。これは、接尾辞smtpdログファイルでは確認できませんが、最終的に送信されるメールでは確認できます。

    Return-Path: <[email protected]>
    Delivered-To: [email protected]
    Received: from mail.example.com 
    by mail.example.com (Dovecot) with LMTP id UuV2IVaP3lvdKAAAEby5rg
    for <[email protected]>; Sun, 04 Nov 2018 07:19:02 +0100
    To: [email protected]
    Subject: This is a Subject
    From: [email protected]
    MIME-Version: 1.0
    Content-Type: text/plain; charset="UTF-8"
    Content-Transfer-Encoding: 8bit
    Message-Id: <[email protected]>
    Date: Sun,  4 Nov 2018 07:19:02 +0100 (CET)
    Authentication-Results: ORIGINATING;
        auth=pass [email protected] 
    [email protected]
    
    
    body of your email
    
    • 少なくとも(有効なメールとは対照的に)DKIMは署名されていません
    • これはスパムではありません。「誰もが」送信者アドレスを偽造できるようにしたくないだけです。

質問

  • なぜこれが起こるのですか?
  • より重要:それが起こらないようにするにはどうすればよいですか?
2
herrhannes

SMTPエンベロープ送信者From:ヘッダーは別のものであるため、これは予想される動作です。 reject_sender_login_mismatch (および認証されたユーザーのみに限定されたバージョン)は、SASL認証された所有者と一致しない限り、SMTP MAIL FROMコマンドでアドレスを使用できないようにします。メッセージの内容は関係ありません。ヘッダーも含まれます。これが電子メールの設計方法であり、多くの この不一致の正当な理由 もあります。

mail -aを使用する場合は、ヘッダーのみを変更します。あなたが示唆するように、それはその後変更されません。 Thunderbirdでこれを実行できない唯一の理由は、エンベロープとヘッダーの両方で同じアドレスを使用することです。サーバーによる制限はありません。

3
Esa Jokinen