Post by Wietse VenemaThat is fundamentally not how postscreen works. postscreen whitelists
the client, not the combination (client + SMTP commands). Its purpose
is to block bad clients with zero overhead for whitelisted clients,
not doing things that require inspecting commands from all SMTP
sessions.
I am not sure I follow you with the SMTP commands. Maybe I was not clear
but I was referring to SPF and MX DNS records only which are purely DNS
lookups based on client's IP and do not require any SMTP inspection,
just
like DNSBL/DNSWL.
Post by Wietse VenemaI suggest that you do complex access policies with a policy plugin
or content filter. Any DNS lookups by postscreen will be cached in
your local resolver, so it is OK to make those queries a second time.
I am already using both, policy plugins and content filters.
Post by Wietse VenemaBesides, I would not allow postscreen to do DNS lookups other than
DNSBL/DNSWL servers. Looking up information from random DNS servers
would mak postscreen a performance bottleneck.
It is those bottle necks you are referring that I also try to avoid
content filters, complex plugins and log parsers, as much as possible,
as they can all be expensive and can cause much bigger and continuous
performance issues than random DNS servers every now and then.
I realize of course that postscreen was made for low CPU cost front end
performance rejection mechanism but personally in addition to this I
would like to see a much better and direct way for postfix to cooperate
with firewalls as a front end rejection. I think this is the ultimate
low cost front end rejection that could also cover attacks to the
submission port as well and also has the highest cost for the abuser.