Re: Frage zu check_recipient_access in bei einem relayhost

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
8 messages Options
Reply | Threaded
Open this post in threaded view
|

Re: Frage zu check_recipient_access in bei einem relayhost

Boris Behrens-2
Hi,

vielleicht sehe ich den Wald vor lauter Bäumen nicht.

Kurz zum Setup:
Wir haben einen ausgehenden Mailrelay bei dem alle vServer mit einem
eigenen Postfix Ihre E-Mails abgeben sollen.
Das funktioniert auch wirklich gut.

Nur leider bekomme ich es irgendwie nicht hin einzelne Adressen zu
discarden (weil der Enduser in der Anwendung Bullshit eingetragen
hat.)

# cat main.cf
compatibility_level=2
smtpd_banner = $myhostname ESMTP $mail_name
biff = no
append_dot_mydomain = no
readme_directory = no
smtp_use_tls = yes
smtpd_relay_restrictions = check_recipient_access
hash:/etc/postfix/host-specific-blacklisted,
                           permit_mynetworks,
                           defer_unauth_destination,
                           reject_unknown_sender_domain
myhostname = testhost.kervyn.de
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = $myhostname
mydestination = localhost
relayhost = fra.mail.kervyn.de
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
message_size_limit = 512000000
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = loopback-only
smtp_tls_loglevel = 1
smtp_tls_security_level = secure
smtp_tls_CAfile = /etc/ssl/certs/ca-certificates.crt
smtp_tls_mandatory_protocols = !SSLv2,!SSLv3


# cat host-specific-blacklisted
[hidden email]  discard

# postmap -q [hidden email] host-specific-blacklisted
discard

Ich hätte jetzt gedacht, wenn ich eine Mail lokal abgebe (echo "test"
| mail -s test [hidden email]) dass die Mail einfach verworfen wird.

Ich habe auch schon versucht relayhost durch default_transport zu
ersetzen, smtpd_relay_restrictions mit smtpd_recipient_restrictions zu
kombinieren/ersetzen.

Entweder habe ich irgendwo n dummen Syntaxfehler drin, oder ich habe
irgendwo n dummen Denkfehler drin.

Gruß
 Boris
Reply | Threaded
Open this post in threaded view
|

Re: Frage zu check_recipient_access in bei einem relayhost

Carsten-2


Am 23.03.2018 um 09:04 schrieb Boris Behrens:

> Hi,
>
> vielleicht sehe ich den Wald vor lauter Bäumen nicht.
>
> Kurz zum Setup:
> Wir haben einen ausgehenden Mailrelay bei dem alle vServer mit einem
> eigenen Postfix Ihre E-Mails abgeben sollen.
> Das funktioniert auch wirklich gut.
>
> Nur leider bekomme ich es irgendwie nicht hin einzelne Adressen zu
> discarden (weil der Enduser in der Anwendung Bullshit eingetragen
> hat.)
>
> # cat main.cf
> compatibility_level=2
> smtpd_banner = $myhostname ESMTP $mail_name
> biff = no
> append_dot_mydomain = no
> readme_directory = no
> smtp_use_tls = yes
> smtpd_relay_restrictions = check_recipient_access
> hash:/etc/postfix/host-specific-blacklisted,
>                             permit_mynetworks,
>                             defer_unauth_destination,
>                             reject_unknown_sender_domain

Bin ich jetzt unwissend, oder fehlt da ein Komma??
Müsste das nicht so lauten:

smtpd_relay_restrictions = check_recipient_access,   ##<--- da Komma
hash:/etc/postfix/host-specific-blacklisted,
                            permit_mynetworks,
                            defer_unauth_destination,
                            reject_unknown_sender_domain

gruss
Carsten

> myhostname = testhost.kervyn.de
> alias_maps = hash:/etc/aliases
> alias_database = hash:/etc/aliases
> myorigin = $myhostname
> mydestination = localhost
> relayhost = fra.mail.kervyn.de
> mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
> message_size_limit = 512000000
> mailbox_size_limit = 0
> recipient_delimiter = +
> inet_interfaces = loopback-only
> smtp_tls_loglevel = 1
> smtp_tls_security_level = secure
> smtp_tls_CAfile = /etc/ssl/certs/ca-certificates.crt
> smtp_tls_mandatory_protocols = !SSLv2,!SSLv3
>
>
> # cat host-specific-blacklisted
> [hidden email]  discard
>
> # postmap -q [hidden email] host-specific-blacklisted
> discard
>
> Ich hätte jetzt gedacht, wenn ich eine Mail lokal abgebe (echo "test"
> | mail -s test [hidden email]) dass die Mail einfach verworfen wird.
>
> Ich habe auch schon versucht relayhost durch default_transport zu
> ersetzen, smtpd_relay_restrictions mit smtpd_recipient_restrictions zu
> kombinieren/ersetzen.
>
> Entweder habe ich irgendwo n dummen Syntaxfehler drin, oder ich habe
> irgendwo n dummen Denkfehler drin.
>
> Gruß
>   Boris
Reply | Threaded
Open this post in threaded view
|

Re: Frage zu check_recipient_access in bei einem relayhost

Boris Behrens-2
>> smtpd_relay_restrictions = check_recipient_access
>> hash:/etc/postfix/host-specific-blacklisted,
>>                             permit_mynetworks,
>>                             defer_unauth_destination,
>>                             reject_unknown_sender_domain
>
>
> Bin ich jetzt unwissend, oder fehlt da ein Komma??
> Müsste das nicht so lauten:
>
> smtpd_relay_restrictions = check_recipient_access,   ##<--- da Komma
> hash:/etc/postfix/host-specific-blacklisted,

Das sollte eigentlich gar nicht umgebrochen werden. Sprich in der
Config ist das eine Zeile.
Habe mich da an die Doku von Postfix gehalten.
> check_recipient_access type:table

Gruß
 Boris
Reply | Threaded
Open this post in threaded view
|

Re: Frage zu check_recipient_access in bei einem relayhost

Kai Fürstenberg
In reply to this post by Boris Behrens-2
Hallo Boris,

Am 23.03.2018 um 09:04 schrieb Boris Behrens:
> Entweder habe ich irgendwo n dummen Syntaxfehler drin, oder ich habe
> irgendwo n dummen Denkfehler drin.

Sende bitte mal die Ausgabe von 'postconf -n' und nicht die von 'cat
main.cf'.
Und bitte auch ein vollständiges Log einer E-Mail von einem der vServer
an die angegebene Adresse.

--
Kai Fürstenberg

PM an: kai at fuerstenberg punkt ws

Reply | Threaded
Open this post in threaded view
|

Re: Frage zu check_recipient_access in bei einem relayhost

Boris Behrens-2
> Sende bitte mal die Ausgabe von 'postconf -n' und nicht die von 'cat
> main.cf'.
> Und bitte auch ein vollständiges Log einer E-Mail von einem der vServer
> an die angegebene Adresse.

Ich hab die Config und den Logauszug von beiden gemacht.

# postconf -n (testhost.kervyn.de)
alias_database = hash:/etc/aliases
alias_maps = hash:/etc/aliases
append_dot_mydomain = no
biff = no
compatibility_level = 2
inet_interfaces = loopback-only
mailbox_size_limit = 0
message_size_limit = 512000000
mydestination = localhost
myhostname = testhost.kervyn.de
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
myorigin = $myhostname
readme_directory = no
recipient_delimiter = +
relayhost = fra.mail.kervyn.de
smtp_tls_CAfile = /etc/ssl/certs/ca-certificates.crt
smtp_tls_loglevel = 1
smtp_tls_mandatory_protocols = !SSLv2,!SSLv3
smtp_tls_security_level = secure
smtp_use_tls = yes
smtpd_banner = $myhostname ESMTP $mail_name
smtpd_relay_restrictions = check_recipient_access
hash:/etc/postfix/host-specific-blacklisted, permit_mynetworks,
defer_unauth_destination, reject_unknown_sender_domain

#grep 7106AA0132 /var/log/mail.log (testhost.kervyn.de)
Mar 23 10:22:31 testhost postfix/pickup[31527]: 7106AA0132: uid=0 from=<root>
Mar 23 10:22:31 testhost postfix/cleanup[31627]: 7106AA0132:
message-id=<[hidden email]>
Mar 23 10:22:31 testhost postfix/qmgr[28977]: 7106AA0132:
from=<[hidden email]>, size=319, nrcpt=1 (queue active)
Mar 23 10:22:31 testhost postfix/smtp[31629]: 7106AA0132:
to=<[hidden email]>, relay=fra.mail.kervyn.de[10.211.100.5]:25,
delay=0.13, delays=0.03/0.01/0.02/0.06, dsn=2.0.0, status=sent (250
2.0.0 Ok: queued as 7FF308115F)
Mar 23 10:22:31 testhost postfix/qmgr[28977]: 7106AA0132: removed

# postconf -n (fra.mail.kervyn.de)
alias_maps = hash:/etc/aliases
append_dot_mydomain = no
biff = no
broken_sasl_auth_clients = yes
config_directory = /etc/postfix
inet_interfaces = all
mailbox_size_limit = 0
message_size_limit = 512000000
milter_default_action = accept
milter_protocol = 6
myhostname = relay03.mail.kervyn.de
mynetworks = cidr:/etc/postfix/client_access
myorigin = relay03.mail.kervyn.de
non_smtpd_milters = inet:localhost:8891
readme_directory = no
recipient_delimiter = +
sender_canonical_classes = envelope_sender
sender_canonical_maps = hash:/etc/postfix/sender_canonical
sender_dependent_default_transport_maps = pcre:/etc/postfix/transport
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/smtp_passwd
smtp_sasl_security_options = noanonymous
smtp_sasl_tls_security_options = noanonymous
smtp_tls_CAfile = /etc/pki/tls/certs/ca-bundle.crt
smtp_tls_loglevel = 1
smtp_tls_mandatory_protocols = !SSLv2,!SSLv3
smtp_tls_policy_maps = hash:/etc/postfix/tls_policy
smtp_tls_security_level = may
smtpd_banner = $myhostname ESMTP
smtpd_data_restrictions = reject_unauth_pipelining
smtpd_error_sleep_time = 1s
smtpd_hard_error_limit = 20
smtpd_helo_required = yes
smtpd_milters = inet:localhost:8891
smtpd_recipient_restrictions = permit_sasl_authenticated,
permit_mynetworks, reject_non_fqdn_sender, reject_non_fqdn_recipient,
reject_unknown_sender_domain, reject_unknown_recipient_domain,
reject_rbl_client sbl.spamhaus.org, reject_rbl_client cbl.abuseat.org,
reject_rbl_client dul.dnsbl.sorbs.net, reject_unauth_destination
smtpd_sasl_auth_enable = yes
smtpd_sasl_authenticated_header = no
smtpd_sasl_local_domain =
smtpd_sasl_security_options = noanonymous
smtpd_sasl_type = cyrus
smtpd_soft_error_limit = 10
smtpd_tls_CAfile = /etc/ssl/mail.kervyn.de.ca
smtpd_tls_cert_file = /etc/ssl/mail.kervyn.de.crt
smtpd_tls_dh1024_param_file = /etc/postfix/dhparams.pem
smtpd_tls_key_file = /etc/ssl/mail.kervyn.de.key
smtpd_tls_mandatory_exclude_ciphers = aNULL, eNULL, EXPORT, DES, RC4,
MD5, PSK, aECDH, EDH-DSS-DES-CBC3-SHA, EDH-RSA-DES-CDC3-SHA, KRB5-DE5,
CBC3-SHA
smtpd_tls_received_header = yes
smtpd_use_tls = yes
transport_maps = pcre:/etc/postfix/transport hash:/etc/postfix/spamtraps
virtual_alias_domains = hash:/etc/postfix/virtual,
pcre:/etc/postfix/virtual_fallback
virtual_alias_maps = hash:/etc/postfix/virtual,
pcre:/etc/postfix/virtual_fallback

# grep 7FF308115F /var/log/maillog (fra.mail.kervyn.de)
Mar 23 10:22:31 relay03 postfix/smtpd[7285]: 7FF308115F:
client=testhost.kervyn.de[10.211.100.75]
Mar 23 10:22:31 relay03 postfix/cleanup[7289]: 7FF308115F:
message-id=<[hidden email]>
Mar 23 10:22:31 relay03 opendkim[411]: 7FF308115F: no signing table
match for '[hidden email]'
Mar 23 10:22:31 relay03 postfix/qmgr[6631]: 7FF308115F:
from=<[hidden email]>, size=662, nrcpt=1 (queue active)
Mar 23 10:22:32 relay03 postfix/smtp[7290]: 7FF308115F:
to=<[hidden email]>, relay=ASPMX.L.GOOGLE.COM[74.125.140.27]:25,
delay=0.53, delays=0.05/0.01/0.27/0.19, dsn=2.0.0, status=sent (250
2.0.0 OK 1521796950 y61si6570083wrc.386 - gsmtp)
Mar 23 10:22:32 relay03 postfix/qmgr[6631]: 7FF308115F: removed
Reply | Threaded
Open this post in threaded view
|

Re: Frage zu check_recipient_access in bei einem relayhost

Marco Dickert-2
In reply to this post by Boris Behrens-2
Moin,

On 2018-03-23 09:04:41, Boris Behrens wrote:
> Ich hätte jetzt gedacht, wenn ich eine Mail lokal abgebe (echo "test"
> | mail -s test [hidden email]) dass die Mail einfach verworfen wird.

deine Einschränkung ist ja eine, die für SMTP gilt. Wenn du eine Mail mit dem
"mail"-Befehl absetzt, läuft diese nicht über SMTP, sondern wird vom
pickup-Daemon aufgelesen [1].

> Entweder habe ich irgendwo n dummen Syntaxfehler drin, oder ich habe
> irgendwo n dummen Denkfehler drin.

Letzteres ist IMHO der Fall. Testen kannst du das beispielsweise mit telnet. Wie
das im einzelnen geht, ist beispielsweise hier [2] beschrieben.

[1] http://www.postfix.org/pickup.8.html
[2] https://www.thomas-krenn.com/de/wiki/TCP_Port_25_(smtp)_Zugriff_mit_telnet_%C3%BCberpr%C3%BCfen

--
Marco Dickert
[hidden email]
https://misterunknown.de

smime.p7s (4K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Frage zu check_recipient_access in bei einem relayhost

Kai Fürstenberg
In reply to this post by Boris Behrens-2
Am 23.03.2018 um 10:27 schrieb Boris Behrens:
> #grep 7106AA0132 /var/log/mail.log (testhost.kervyn.de)
> Mar 23 10:22:31 testhost postfix/pickup[31527]: 7106AA0132: uid=0 from=<root>

du musst über smtp einliefern. pickup geht an den smtpd restrictions vorbei.

--
Kai Fürstenberg

PM an: kai at fuerstenberg punkt ws

Reply | Threaded
Open this post in threaded view
|

Re: Frage zu check_recipient_access in bei einem relayhost

Boris Behrens-2
> Letzteres ist IMHO der Fall. Testen kannst du das beispielsweise mit telnet. Wie
> das im einzelnen geht, ist beispielsweise hier [2] beschrieben.

>
> du musst über smtp einliefern. pickup geht an den smtpd restrictions vorbei.


Das wars. Wieder was gelernt.

Danke.