HI Joda,

Nachdem Du mich bei Deinem Besuch angefixt hast, hab ich mich mal an
postscreen vergriffen. Herausgekommen ist erst einmal folgende
Konfiguration.

--------------------------------------------------------------------------------
master.cf

smtp      inet  n       -       n       -       1       postscreen
smtpd     pass  -       -       n       -       -       smtpd
          -o
smtpd_milters=${spf_milter},${opendkim_milter},${opendmarc_milter},${amavisd_milter}

dnsblog   unix  -       -       n       -       0       dnsblog
tlsproxy  unix  -       -       n       -       0       tlsproxy

--------------------------------------------------------------------------------


--------------------------------------------------------------------------------
main.cf
################################################################################
## Postscreen
#
# Django : 2014-10-29 - PERMANENT WHITE/BLACKLIST TEST
# default: postscreen_access_list = permit_mynetworks
postscreen_access_list = permit_mynetworks
                         cidr:/etc/postfix/postscreen_whitelist
#
# default: postscreen_blacklist_action = ignore
postscreen_blacklist_action = drop


# Django : 2014-10-29 - MAIL EXCHANGER POLICY TESTS
# default: postscreen_whitelist_interfaces = static:all
postscreen_whitelist_interfaces = !88.217.171.167
                                  static:all


# Django : 2014-10-29 - BEFORE 220 GREETING TESTS
# default: postscreen_dnsbl_threshold = 1
postscreen_dnsbl_threshold = 2
#
# default: postscreen_dnsbl_sites =
postscreen_dnsbl_sites = zen.spamhaus.org*2
                         bl.spamcop.net*1
                         b.barracudacentral.org*1
                         swl.spamhaus.org*2
#
# default: postscreen_dnsbl_action = ignore
postscreen_dnsbl_action = enforce
#
# default: postscreen_greet_banner = $smtpd_banner
#
# default: postscreen_greet_action = ignore
postscreen_greet_action = enforce


# Django : 2014-10-29 - AFTER 220 GREETING TESTS
# default: postscreen_bare_newline_action = ignore
postscreen_bare_newline_action = drop
#
# default: postscreen_bare_newline_enable = no
postscreen_bare_newline_enable = yes
#
# default: postscreen_non_smtp_command_enable = no
postscreen_non_smtp_command_enable = yes
# default: postscreen_non_smtp_command_action = drop
#
# default: postscreen_pipelining_enable = no
postscreen_pipelining_enable = yes
#
# default: postscreen_pipelining_action = enforce

--------------------------------------------------------------------------------

Das Ganze scheint auf den ersten Blick recht gut zu funktionieren -
ganz 100%ig bin ich mir da aber nicht sicher. Warum? na ab und ann
sehe ich folgende Meldungen im maillog:
Oct 30 09:43:44 vml000080 postfix/postscreen[14951]: NOQUEUE: reject:
RCPT from [193.169.180.107]:54690: 450 4.3.2 Service currently
unavailable; from=<[email protected]>, to=<[email protected]>,
proto=ESMTP, helo=<mail17-107.srv2.de>
Oct 30 09:43:44 vml000080 postfix/postscreen[14951]: warning: unknown
macro name "client" in expansion request

Der 450er stört mich nun erst mal nicht so recht, viel mehr diese
WARNING: nknown macro name "client" in expansion request
Was'n datt?

Wenn ich es richtig aus dem maillog gegrep't hab dann dürft das da der
komplette zugehörige Sermon des ersten Zustellversuchs sein:
Oct 30 09:43:38 vml000080 postfix/postscreen[14951]: CONNECT from
[193.169.180.107]:54690 to [10.0.0.80]:25
Oct 30 09:43:44 vml000080 postfix/postscreen[14951]:
[193.169.180.107]54690: discarding EHLO keywords: DSN
Oct 30 09:43:44 vml000080 postfix/postscreen[14951]: NOQUEUE: reject:
RCPT from [193.169.180.107]:54690: 450 4.3.2 Service currently
unavailable; from=<[email protected]>, to=<[email protected]>,
proto=ESMTP, helo=<mail17-107.srv2.de>
Oct 30 09:43:44 vml000080 postfix/postscreen[14951]: warning: unknown
macro name "client" in expansion request
Oct 30 09:43:44 vml000080 postfix/postscreen[14951]: PASS NEW
[193.169.180.107]:54690
Oct 30 09:43:44 vml000080 postfix/postscreen[14951]: DISCONNECT
[193.169.180.107]:54690

Dann kommt er wieder:
Oct 30 09:53:54 vml000080 postfix/postscreen[14951]: CONNECT from
[193.169.180.107]:55755 to [10.0.0.80]:25
Oct 30 09:53:54 vml000080 postfix/postscreen[14951]: PASS OLD
[193.169.180.107]:55755
Oct 30 09:53:54 vml000080 postfix/smtpd[15632]: connect from
mail17-107.srv2.de[193.169.180.107]
Oct 30 09:53:54 vml000080 postfix/smtpd[15632]: discarding EHLO keywords: DSN
Oct 30 09:53:54 vml000080 smf-spf[12097]: SPF pass:
ip=193.169.180.107, fqdn=mail17-107.srv2.de, helo=mail17-107.srv2.de,
from=<[email protected]>
Oct 30 09:53:55 vml000080 postfix/smtpd[15632]: 3BD0175:
client=mail17-107.srv2.de[193.169.180.107]
Oct 30 09:53:55 vml000080 postfix/cleanup[14362]: 3BD0175:
message-id=<re-ptf3swushbldwajqbbgt4j-13rr982x-13me1r6s-62q...@news.mytoys.de>
Oct 30 09:53:55 vml000080 opendkim[1147]: 3BD0175: mail17-107.srv2.de
[193.169.180.107] not internal
Oct 30 09:53:55 vml000080 opendkim[1147]: 3BD0175: not authenticated
Oct 30 09:53:55 vml000080 opendkim[1147]: 3BD0175: DKIM verification
successful
Oct 30 09:53:55 vml000080 opendmarc[1446]: 3BD0175: news.mytoys.de none
Oct 30 09:53:58 vml000080 postfix/qmgr[10267]: 3BD0175:
from=<[email protected]>, size=96158, nrcpt=1 (queue active)
Oct 30 09:53:58 vml000080 postfix/smtpd[15632]: disconnect from
mail17-107.srv2.de[193.169.180.107]
Oct 30 09:53:58 vml000080 postfix/lmtp[15548]: 3BD0175:
to=<[email protected]>, relay=10.0.0.77[10.0.0.77]:24, delay=4.1,
delays=4/0/0/0.15, dsn=2.0.0, status=sent (250 2.0.0
<[email protected]> 0XDGBev7UVS+QAAArK2B9Q Saved)
Oct 30 09:53:58 vml000080 postfix/qmgr[10267]: 3BD0175: removed

"PASS NEW" bedeutet doch, dass der Client alle Test bestanden hat und
er einen temporären Whitelisting-Eintrag bekommen hat. Richtig?

Da ich in meiner Konfig "deep protocol tests" aktiviert habe, kann
postscreen die Verbindung nicht mehr an den eigentlichen SMTP-Daemon
weiterreichen. Richtig?
Daher kommt auch der "450 4.3.2 Service currently unavailable"
zustande. Richtig?

Aber was ist nun mit dieser Meldung >>unknown macro name "client" in
expansion request<<? Die verstehe ich nicht ganz? Was will/soll mir
das sagen? \o/

Ich fürchte, ich brauch da noch ein wenig Hilfe bevor ich datt janze
auf meiner ersten Produktions-Maschine einsetze.


Servus
Django

Attachment: pgpPtafXndJxw.pgp
Description: Digitale PGP-Signatur

Antwort per Email an