[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[postfix-jp:370] Re: 特定のfrom: のフィルタ



山口@ソフィアワークスです。

以下、ヘッダ周りは折り畳んでいませんので横長をご容赦下さい。


On Sun, 11 Feb 2001 22:31:31 +0900
Yasuo Fukuda <yfukuda@xxxxxxxxxxxxxxxxxx> wrote:

> で、先にも書きましたように事情があってREJECTではなくBOUNCEさせたいので
> すが、どのようなパラメータを渡してやればいいのでしょうか? ドキュメン
> トを漁ってみましたが見つけられませんでした。

header_checks パラメータのファイルには、アクションとして REJECT しか記述
できないようですね。

いろいろ送信して動きをみていると、SMTP コネクションの途中で REJECT に引っ
かかるような条件が来たときには、その時点で 

 552 Error: content rejected

を返しているようです。


(1) PC's MUA  -->  postfix (header_checks)
              (SMTP error)

私が常用しているメールソフトの Becky!2 から直接 header_checks 定義した 
postfix へ送信すると、バウンスにはならず、メール送信 (SMTP コネクション) 
そのものが失敗してしまいます。この場合、本文をどこかに転送することはでき
ません。

(2) PC's MUA  -->  postfix  --> postfix(header_checks)
              <--(bounce)   (SMTP error)

試しに、別の postfix をはさんで、その先の postfix で header_checks で引っ
かけると、最初の postfix が 552 Error: content rejected をハンドリングし、
バウンスしてくれます。

ただし、この場合にも差出人に戻ってしまうので、

> postfixが配送するメールの中で、特定のfrom addressからのメールをファイ
> ルへ書き出す、あるいは本来の配送先と別のアドレスへ送る、というようなこ
> とは可能なのでしょうか?

という処理はできないようです。


福田さんの最初の目的が、「From アドレスを語ったメール内容を含めて証拠と
して保全したい」とのことですので、

http://www.chem.nagoya-u.ac.jp/ike/postfix/conf/sample-misc.cf.jp

にある、バウンス関連の設定を試してみました。( ネットワーク構成は (1) )

notify_classes = 2bounce,bounce,policy,protocol,resource,software
bounce_notice_recipient = postmaster
2bounce_notice_recipient = postmaster
delay_notice_recipient = postmaster
error_notice_recipient = postmaster

以下に戻ってきたメールのサンプルを示します。
(一部ホスト名およびアドレスを伏せています)
------------------------------------------------------------------------
Return-Path: <double-bounce@xxxxxxxxxxxxxxxxxxxx>
Delivered-To: root@xxxxxxxxxxxxxxx
Received: by mail.sophiaworks.com (Postfix+IPv6) via NOTICE
	id C09A1CFF7; Sun, 11 Feb 2001 23:29:19 +0900 (JST)
Date: Sun, 11 Feb 2001 23:29:19 +0900 (JST)
From: MAILER-DAEMON@xxxxxxxxxxxxxxxxxxxx (Mail Delivery System)
To: postmaster@xxxxxxxxxxxxxxx (Postmaster)
Subject: Postfix+IPv6 SMTP server: errors from xxxx.sophiaworks.com[xx.xx.xx.xx]
Message-Id: <20010211142919.C09A1CFF7@xxxxxxxxxxxxxxxxxxxx>

Transcript of session follows.

 Out: 220 mail.sophiaworks.com ESMTP Postfix+IPv6 (Snapshot-20001005)
 In:  EHLO xxxxxxx
 Out: 250-mail.sophiaworks.com
 Out: 250-PIPELINING
 Out: 250-SIZE 10240000
 Out: 250-ETRN
 Out: 250 8BITMIME
 In:  RSET
 Out: 250 Ok
 In:  MAIL FROM:<yamk@xxxxxxxxxxxxxxx>
 Out: 250 Ok
 In:  RCPT TO:<yamk@xxxxxxxxxxxxxxx>
 Out: 250 Ok
 In:  DATA
 Out: 354 End data with <CR><LF>.<CR><LF>
 Out: 552 Error: content rejected
 In:  QUIT
 Out: 221 Bye

No message was collected successfully.
------------------------------------------------------------------------

メールプロトコルの内容と、どこからのコネクションはとりあえず postmaster 
で受信することができました。ただ、「メール内容を含めて」というのはできな
いようです。

このとき、/var/log/messages をみると

------------------------------------------------------------------------
Feb 11 23:29:12 hinode postfix/smtpd[24967]: connect from xxxx.sophiaworks.com[xx.xx.xx.xx]
Feb 11 23:29:12 hinode postfix/smtpd[24967]: F0870CFF7: client=xxxx.sophiaworks.com[xx.xx.xx.xx]
Feb 11 23:29:13 hinode postfix/cleanup[24968]: F0870CFF7: reject: header Subject: reject-test; from=<yamk@xxxxxxxxxxxxxxx> to=<yamk@xxxxxxxxxxxxxxx>
Feb 11 23:29:19 hinode postfix/cleanup[24968]: C09A1CFF7: message-id=<20010211142919.C09A1CFF7@xxxxxxxxxxxxxxxxxxxx>
Feb 11 23:29:19 hinode postfix/smtpd[24967]: disconnect from xxxx.sophiaworks.com[xx.xx.xx.xx]
------------------------------------------------------------------------

という記録が残っていました。接続元 IP と、どの条件に引っかかったかが出て
います。


ただし、いずれも別のメールサーバ経由ですと IP アドレスすら特定できないで
しょう。


目標が「内部の悪者Aが、他人の From を語り、メールを出しているようなので
この証拠をばっちり取りたい」ということであればもう少し別の方法が必要です
ね。むしろこの場合、悪者Aに bounce されてしまうとチェックされていること
がバレて、別のアドレス or 方法に逃げられてしまうかもしれません(^_^;)。

--
ソフィアワークス
山口健史 (YAMAGUCHI Kenji)
E-Mail: yamk@xxxxxxxxxxxxxxx

Follow-Ups
[postfix-jp:388] Re: 特定のfrom: のフィルタ, Yasuo Fukuda
References
[postfix-jp:368] Re: 特定のfrom: のフィルタ, YAMAGUCHI Kenji
[postfix-jp:369] Re: 特定のfrom: のフィルタ, Yasuo Fukuda

[検索ページ] [Postfix-JP ML Home]