Hi,

>> I've just set up a fedora14 box with postfix v2.7.3, and would like
>> to use procmail as the delivery agent.
>
> First let's ask, why procmail? This fall will mark a decade since the
> last procmail release in 2001. It appears that you only want to

I didn't realize dovecot had the sieve plugin. I have quite a few old
procmail recipes I'll need to convert.

> One comment: that's a long "postconf -n". Do you need all those
> settings?

I've spent nearly all of the last eight hours going through my
configuration and making sure I understand as much of it as possible.
This was a configuration ported from an older system that I'm finally
upgrading. It relays mail for several virtual domains, as well as
delivers some mail locally.

>> header_checks = pcre:/etc/postfix/header_checks.pcre
>
> Why header_checks? They don't do much.

I use it to reject some content based on the headers outright, but I
definitely don't use it like I used to. Amavis is better suited for
that, but rejecting nasty subjects without the spam processing
overhead is advantageous sometimes.

>> html_directory = no
>> inet_interfaces = all
>> mail_owner = postfix
>> mailbox_command = /usr/bin/procmail
>> mailbox_size_limit = 2000000000
>> mailq_path = /usr/bin/mailq
>> manpage_directory = /usr/share/man
>> maximal_queue_lifetime = 5d
>> message_size_limit = 10240000
>> mydestination = $myhostname, localhost.$mydomain
>
> Your mydestination does not include example.com, so the munged logs
> are not in agreement with the postconf output.

Yes, I've fixed that. I've move all of the virtual domains from
relay_domains as per the docs (except for the few that are actually
being relayed to another host), and created a virtual_alias_map for
them.

>> mydomain = inside.example.com
>> myhostname = mail02t.example.com
>> mynetworks = 127.0.0.0/8, 192.168.1.0/24, 192.168.6.0/24
>> newaliases_path = /usr/bin/newaliases
>> queue_directory = /var/spool/postfix
>> rbl_reply_maps = ${stress?hash:/etc/postfix/rbl_reply_maps}
>> readme_directory = /usr/share/doc/postfix-2.7.3/README_FILES
>> relay_domains = $mydestination, $transport_maps
>
> This is potentially dangerous, such as if you get the idea to use
> transport_maps as intended, to override DNS lookups for selected
> remote domains. If for example you list hotmail.com in your
> transport_maps, wham, now you accept all mail for hotmail.com!

I'm using the transport maps like this:

mydomain.org        smtp:192.168.1.100

It's forwarding mail for domains that it's responsible for to a
private mail server for delivery, through a vpn which isn't directly
accessible on the Internet.

>> zen.spamhaus.org=127.0.0.10   reject_rbl_client
>> zen.spamhaus.org=127.0.0.11   reject_rbl_client
>> zen.spamhaus.org      check_client_access
>
> Why the .10 and .11 Zen rejections, when you go ahead and use any
> other Zen result anyway?

I was wondering that too, but I found it on postfix.org:

 1  /etc/postfix/main.cf:
 2      smtpd_client_restrictions =
 3         permit_mynetworks
 4         reject_rbl_client zen.spamhaus.org=127.0.0.10
 5         reject_rbl_client zen.spamhaus.org=127.0.0.11
 6         reject_rbl_client zen.spamhaus.org

Maybe I'm just misinterpreting how that should be read, and the
reject_rbl_client lines are individual examples?

In any case, I've removed the 10 and 11, but now I have messages like this:

Apr 19 21:47:33 mail02t postfix/smtpd[10892]: connect from
ema3rlyip01.turner.com[157.166.236.73]
Apr 19 21:47:34 mail02t postfix/smtpd[10892]: warning:
73.236.166.157.zen.spamhaus.org: RBL lookup error: Host or domain name
not found.
Name service error for name=73.236.166.157.zen.spamhaus.org type=A:
Host not found, try again

turner.com obviously won't be in the zen database. Is that the normal
response when a host is not listed?

> You're doing check_client_access twice on
> hash:/etc/postfix/client_checks, why? Also, typically you'd want
> these local lookups ahead of DNSBL lookups.

I've fixed that (like I said, after it was migrated from an old
system) and have listed my smtpd_recipient_restrictions again here:

smtpd_recipient_restrictions =
        permit_sasl_authenticated,
        reject_non_fqdn_sender,
        reject_non_fqdn_recipient,
        reject_unknown_sender_domain,
        reject_unknown_recipient_domain,
        reject_unauth_pipelining,
        reject_unauth_destination,
        permit_mynetworks,
        check_recipient_access pcre:/etc/postfix/relay_recips_access,
        check_recipient_access pcre:/etc/postfix/relay_recips_maillistusers,
        check_client_access hash:/etc/postfix/client_checks,
        reject_rbl_client zen.spamhaus.org
        reject_invalid_hostname,
        reject_non_fqdn_hostname,
        check_helo_access hash:/etc/postfix/helo_checks,
        check_sender_access hash:/etc/postfix/sender_checks,
        permit

rbl_reply_maps = ${stress?hash:/etc/postfix/rbl_reply_maps}

It is the ordering that I'm not sure is completely correct.

In client_checks I have a few domains that I'd like to reject
outright, as well as a few that should always be permitted:

.workforpbp.com         554 clientspam
workforpbp.com          554 clientspam
192.168.1.100           OK
192.168                 554 Take a hike!
64.1.16.3               OK

Thanks so much for spending the time. You've given me some great advice.

Thanks again,
Alex

Reply via email to