こんばんは、安部です。 At Wed, 27 Nov 2002 22:21:58 +0900 (JST), FUJITA Kazutoshi wrote: > envelope senderのdomain部を逆引きしたIPアドレスと、SMTPセッションの > remote側エンドポイントのIPアドレスが一致してないメールを受け取っては > いけない、ということですか? 主旨がちがいます。このテストで使用したIP address と ホスト名は、一致します。 telnet を使うので、IPもホスト名も(vine.site):/var/log/maillogで抜けます。 ただし、ADSLセッションを再起動すると、IPアドレス、ホスト名もpppなので変わります。 (DNS可変ADSL端末)->(vine.site)->(mail from:エンベロープに書いたmail address ) 第三者からのメールを不正に中継をし、そのバウンスメールを送信してはいけないということです。 私の送信した二つのメールは、どこから送ったものか(vine.site)に 問い合わせないとわかりませんが、確実に目的アドレスへ届きます。 未来に返信できないかもしれないメールアドレスからのバウンスメールを 自分のアドレスで受けているので迷惑にならないのですが、 他人のメールアドレスへ送信した場合、 その(vine.site)を含むネットワーク管理者の責任となります。 不正を具体的に説明すると、mail from: は基本的に誰でも ok でしょうから、 ---------------------------------------------------------------------------- <somebody+40other+2Esite@[vine.site.ip.address]> 等のパターンにマッチするアドレスを rcpt to: のエンベロープで許可してはいけません。 このパターンは、 smtpd_recipient_restricitions = permit_mynetworks,permit_relay_domains, reject を設定すると、抜けてきます。ok の穴ログを見た通りです。 最初に regexp:/etc/postfix/regexp_table のみをつけ足しても、抜けてきます。 今回、main.cf を付け足しをしたいのは、Vine2.6r1に当てはめると、 smtpd_recipient_restricitions = check_recipient_access regexp:/etc/postfix/regexp_table,permit_mynetworks,permit_relay_domains, reject の部分です。","の位置に注意してください。 /etc/postfix/regexp_table の書き変え必要な部分は、 /[%!@].*[%!@]/ REJECT # /40(.*)2E(.*)@/ REJECT /40(.*)@/ REJECT ---------------------------------------------------------------------------- です。一番最初のメールでもvine2.1.5の例を書きました。 /40(.*)@/ REJECT の拒否は、学籍番号メールアドレスにマッチすると厳しいので、 @ に対応する"+40"をなんとか正規表現で認識できませんかと質問しています。 /+40(.*)@/ REJECT は、上の条件にマッチしなかった。"+"は、特殊文字。 % と ! に対応する文字を使用されても抜けてくることが、予想されます。 上にあげたrcpt拒否のサーバ設定には、まだ安心できていません。 よろしくお願いします。 安部光洋 abem@xxxxxxxxxxx