Juan Miscaro wrote:
2008/9/25 Noel Jones <[EMAIL PROTECTED]>:
Juan Miscaro wrote:
So I have the following lines in main.cf:

smtpd_recipient_restrictions =
       reject_non_fqdn_recipient
       reject_non_fqdn_sender
       reject_unknown_sender_domain
       permit_mynetworks
       permit_sasl_authenticated
       reject_unauth_destination
       reject_unknown_reverse_client_hostname
       check_helo_access regexp:/etc/postfix/helo_checks
       check_sender_mx_access cidr:/etc/postfix/bogus_mx
       reject_rbl_client zen.spamhaus.org
       permit

I hope that block is OK.

However, this post is about the 'check_sender_mx_access' line.

Contents of 'bogus_mx':

# bogus networks
0.0.0.0/8               550 Mail server in broadcast network
10.0.0.0/8              550 No route to your RFC 1918 network
127.0.0.0/8             550 Mail server in loopback network
224.0.0.0/4             550 Mail server in class D multicast network
192.168.0.0/16          550 No route to your RFC 1918 network

Now I see in my logs:

postfix/smtpd[10896]: connect from
toq1-srv.bellnexxia.net[209.226.175.120]
postfix/smtpd[10896]: NOQUEUE: reject: RCPT from
toq1-srv.bellnexxia.net[209.226.175.120]: 550 5.7.1
<[EMAIL PROTECTED]>: Sender address rejected: Mail server in loopback
network; from=<[EMAIL PROTECTED]> to=<[EMAIL PROTECTED]> proto=ESMTP
helo=<toq1-srv.bellnexxia.net>
postfix/smtpd[10896]: disconnect from
toq1-srv.bellnexxia.net[209.226.175.120]
postfix/smtpd[10896]: connect from
toq1-srv.bellnexxia.net[209.226.175.120]
postfix/smtpd[10896]: 0CA7F20EEE15:
client=toq1-srv.bellnexxia.net[209.226.175.120]
postfix/cleanup[4433]: 0CA7F20EEE15:
message-id=<[EMAIL PROTECTED]>

So here we have a user sending mail to another user in the same
domain.  It makes sense that the mailserver uses its loopback address.
 I just thought that what I'm doing is standard but obviously it
breaks in such a common scenario.  Comments?

/juan

I don't think it's common to have localhost as an MX, but it is common to
have local/internal domains with an RFC1918 MX.

At any rate, domains that should not be rejected by this rule need to be
exempted somehow.  There are several ways...

The easy way is to put this check under smtpd_sender_restrictions (and Not
under smtpd_recipient_restrictions) proceeded by a whitelist:
smtpd_sender_restrictions =
 check_sender_access hash:/etc/postfix/domain_mx_whitelist
 check_sender_mx_access cidr:/etc/postfix/bogus_mx

# domain_mx_whitelist
example.com  OK
example.net  OK

Thank you Noel.

However, since there will be many more domains hosted on this server
is there not a better way?

yes, there is: remove your check_sender_mx_access. did it ever catch spam on your server? it never caught anything here.

Or perhaps my server is misconfigured.  My
server evidently resides on a protected internal network and so, yes,
it also has an RFC1918 address.  Right now my hosts file has both
127.0.0.1 and an RFC1918 address listed there.

/juan

Reply via email to