Re: Frage zu check_recipient_access in bei einem relayhost
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 bb@kervyn.de discard
# postmap -q bb@kervyn.de host-specific-blacklisted discard
Ich hätte jetzt gedacht, wenn ich eine Mail lokal abgebe (echo "test" | mail -s test bb@kervyn.de) 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
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 bb@kervyn.de discard
# postmap -q bb@kervyn.de host-specific-blacklisted discard
Ich hätte jetzt gedacht, wenn ich eine Mail lokal abgebe (echo "test" | mail -s test bb@kervyn.de) 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
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
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.
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=20180323092231.7106AA0132@testhost.kervyn.de Mar 23 10:22:31 testhost postfix/qmgr[28977]: 7106AA0132: from=root@testhost.kervyn.de, size=319, nrcpt=1 (queue active) Mar 23 10:22:31 testhost postfix/smtp[31629]: 7106AA0132: to=bb@kervyn.de, 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=20180323092231.7106AA0132@testhost.kervyn.de Mar 23 10:22:31 relay03 opendkim[411]: 7FF308115F: no signing table match for 'root@testhost.kervyn.de' Mar 23 10:22:31 relay03 postfix/qmgr[6631]: 7FF308115F: from=root@testhost.kervyn.de, size=662, nrcpt=1 (queue active) Mar 23 10:22:32 relay03 postfix/smtp[7290]: 7FF308115F: to=bb@kervyn.de, 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
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.
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.
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 bb@kervyn.de) 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_%...
participants (4)
-
Boris Behrens
-
Carsten
-
Kai Fürstenberg
-
Marco Dickert