[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[postfix-jp:01931] Re: permit_mx_backup の挙動
- Subject: [postfix-jp:01931] Re: permit_mx_backup の挙動
- From: ARAKI Yasuhiro <yasu@xxxxxxxxxxxx>
- Date: Wed, 31 Jul 2002 20:20:40 +0900 (JST)
荒木です。
> 杉浦と申します。
>
>
> postfix を用いて中継サーバを運用しています.
> 基本的に快調なのですが,ふとログを見たところ,オープンリレー
> となっているような部分を見つけて大変驚きました.
> いろいろ調べた結果,smtpd_recipient_restrictions に
> permit_mx_backup がある場合で,rcpt to: に解決できないドメインが
> 指定されているときに,受け取ってしまっていることが判明しました.
> この実験結果より,permit_mx_backup は,
> 1. MXが存在していて,自分が含まれている場合は,許可.
> 2. MXが存在していて,自分が含まれていない場合は,拒否.
> 3. MX(とAの両方?)が存在しない場合は,許可.
> という挙動に見えます.
> 3番は望ましくない動作ではないかと思いますが,
> このような挙動を示すのは,うちだけでしょうか?
再現しますね。debug_peer_listにいれてlogをみてみると
RCPT TOに`mogegege@xxxxxxxxx' をいれてみると
Jul 31 19:12:31 xxxx postfix/smtpd[20279]: permit_mx_backup: not local: mogegege@xxxxxxxxx
Jul 31 19:12:32 xxxx postfix/smtpd[20279]: dns_query: moge.hoge (MX): Host not found
Jul 31 19:12:32 xxxx postfix/smtpd[20279]: has_my_addr: host moge.hoge: not found
と、でて、結果
Jul 31 19:12:32 xxxx postfix/smtpd[20279]: generic_checks: name=permit_mx_backup status=1
となります。あれ〜と思ってソースを眺めると、
static int permit_mx_backup(SMTPD_STATE *state, const char *recipient)
の中で、
/*
* Look up the list of MX host names for this domain. If no MX host is
* found, perhaps it is a CNAME for the local machine. Clients aren't
* supposed to send CNAMEs in SMTP commands, but it happens anyway. If we
* can't look up the destination, play safe and assume it is OK.
*/
dns_status = dns_lookup(domain, T_MX, 0, &mx_list,
(VSTRING *) 0, (VSTRING *) 0);
if (dns_status == DNS_NOTFOUND)
return (has_my_addr(domain) ? SMTPD_CHECK_OK : SMTPD_CHECK_DUNNO);
if (dns_status != DNS_OK)
return (SMTPD_CHECK_TRYAGAIN);
で、has_my_addr(domain)を追うと、
smtpd_check.cの中の
static int has_my_addr(const char *host)
で、
/*
* If we can't lookup the host, play safe and assume it is OK.
*/
とかあって、何かあったときにはOK側に倒してある、ということのようです。
firewallの下でつかっていればDNSが検索できないこともままあるので
とりあえずOKにして、次にまわしてしまえ、ということだとは思います。
#ほかにもきっと深遠な理由があるのでしょう。
いずれにしろpermit_mx_backupって、便利ではあるけど必要じゃないパラメータなので
よくわかってる人は使うべきものじゃないような気がします。
荒木靖宏
- Follow-Ups
-
- [postfix-jp:01940] Re: permit_mx_backup の挙動, sgur
- References
-
- [postfix-jp:01920] permit_mx_backup の挙動, sgur
[検索ページ]
[Postfix-JP ML Home]