Postfix: Nur bei "systemctl restart postfix dovecot" funktioniert Senden/Empfangen

postfix_learner

New Member
Hallo.

Ich habe letztens meinen Postfix-/Dovecot-Server aufgestellt und seit heute morgen bemerke ich, dass das Senden/Empfangen nur nach einem Neustart des Services funktioniert und dass in meiner mail.log etliche merkwürdige und unbekannte Mails auftreten. Nach dem Neustart des Services bekomme ich alle Mails, die ich Stunden zuvor schon erwartet hätte.

So sieht die mail.conf aus:

Aug 8 18:54:19 mydomain postfix/error[6078]: A95D2174C14C: to=<UNBEKANNTE MAIL-ADRESSE>, relay=none, delay=10357, delays=10176/181/0/0.39, dsn=4.2.1, status=deferred (delivery temporarily suspended: host UNBEKANNTE MAIL-ADRESSE refused to talk to me: 421 4.2.1 Connection refused - ELNK002_139 - https://postmaster-earthlink.vadesecure.com/inbound_error_codes/#_139)
Aug 8 18:54:19 mydomain postfix/error[6056]: 71C1617458D7: to=<UNBEKANNTE MAIL-ADRESSE>, relay=none, delay=13916, delays=13736/180/0/0.39, dsn=4.2.1, status=deferred (delivery temporarily suspended: host UNBEKANNTE MAIL-ADRESSE refused to talk to me: 421 4.2.1 Connection refused - ELNK002_139 - https://postmaster-earthlink.vadesecure.com/inbound_error_codes/#_139)
Aug 8 18:54:19 mydomain postfix/error[6070]: E9BA6174A886: to=<UNBEKANNTE MAIL-ADRESSE>, relay=none, delay=11449, delays=11268/180/0/0.34, dsn=4.2.1, status=deferred (delivery temporarily suspended: host UNBEKANNTE MAIL-ADRESSE refused to talk to me: 421 4.2.1 Connection refused - ELNK002_139 - https://postmaster-earthlink.vadesecure.com/inbound_error_codes/#_139) und so weiter

Und so sieht die Ausgabe von postconf -n aus:

alias_database = hash:/etc/aliases
alias_maps = hash:/etc/aliases
append_dot_mydomain = no
biff = no
compatibility_level = 2
inet_interfaces = all
inet_protocols = all
mailbox_size_limit = 0
mydestination = $myhostname, mydomain, localhost.de, , localhost
myhostname = mydomain
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 0.0.0.0/0
myorigin = /etc/mailname
policyd-spf_time_limit = 3600
readme_directory = no
recipient_delimiter = +
relayhost =
smtp_tls_CApath = /etc/ssl/certs
smtp_tls_security_level = may
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)
smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination, check_policy_service unix:private/policyd-spf
smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated defer_unauth_destination check_policy_service
smtpd_tls_cert_file = /etc/ssl/certs/cert_mydomain.de.crt
smtpd_tls_ciphers = medium
smtpd_tls_key_file = /etc/ssl/private/mydomain.key
smtpd_tls_protocols = TLSv1.3, TLSv1.2, !TLSv1.1, !TLSv1, !SSLv2, !SSLv3
smtpd_tls_security_level = may

Weiß da einer bescheid, was da wohl vorgeht? Ich habe mich natürlich auch schon mit dem Error-Code 139 beschäftigt (zu viele Verbindungen) - aber kann mir nicht erklären, woher das kommt.

Vielen Dank schonmal im Voraus!
 
Sind denn das legitime E-Mail, die dein System zustellen will? Wie sieht die Mailqueue aus (postqueue -p)?
 
Sind denn das legitime E-Mail, die dein System zustellen will? Wie sieht die Mailqueue aus (postqueue -p)?
Davor waren da über 5000 Einträge in der Queue. Kein Wunder, dass es langsam war. Nachdem ich alles gelöscht habe und wieder eine Mail gesendet/empfangen habe, waren nur noch 30 Einträge drin, habe es dann nochmal gelöscht und dann war es 1 Eintrag (bzw. jetzt 0).

Die Mails (welche für postfix in syslog drinstanden) habe ich alle noch nicht gehört (viele davon schienen auch private Mails gewesen zu sein). Das macht mich schon recht stutzig.
 
Backscatter? Open relay? Du musst halt schauen was das für Nachrichten sind, ob sie an eine SMTP Domäne, für die dein System zuständig ist zugestellt werden sollen oder ob es beispielsweise Spam E-Mail an fremde Systeme / Domänen sind. 5.000 E-Mails in der Queue klingen erst einmal nach einem Problem.
 
Backscatter? Open relay? Du musst halt schauen was das für Nachrichten sind, ob sie an eine SMTP Domäne, für die dein System zuständig ist zugestellt werden sollen oder ob es beispielsweise Spam E-Mail an fremde Systeme / Domänen sind. 5.000 E-Mails in der Queue klingen erst einmal nach einem Problem.
Ja, das ist wirklich der Fall. Ich habe jetzt erstmal für "smtpd_relay_restrictions" anstelle von "defer_unauth_destination" den Eintrag "reject_unauth_destination" genommen, damit sowas tatsächlich auch abgelehnt und nicht nur aufgeschoben wird.

Allgemein sehen meine Restrictions jetzt so aus:

smptd_sender_restrictions = reject_unknown_sender_domain, permit_sasl_authenticated
smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated reject_unauth_destination check_policy_service
smtpd_recipient_restrictions =
permit_mynetworks,
permit_sasl_authenticated,
reject_unauth_destination,
check_policy_service unix: private/policyd-spf

Aber so sicher bin ich mir dabei nicht. Beispielsweise ist ein SMTP-Login nicht nötig, um eine Mail zu senden, obwohl ich ja jetzt unter "smtpd_sender_restrictions" den Eintrag "permit_sasl_authenticated" eingetragen habe.

Und was ist eigentlich der Unterschied zwischen bspw. smtpd_sender_restrictions innerhalb der main.cf und dem Parameter in der master.cf? Da sollte es ja zureichen, wenn man nur eins einträgt? Weil sonst wäre es ja doppelt gemoppelt.
 
Jepp.


Wer will, kann ihm ja die Configs aus https://www.rootservice.org/howtos/freebsd/hosting_system/mailserver/postfix/ nach Debian migrieren und erleutern...
Klar, der Open Relay hängt damit zusammen, dass ich in mynetworks 0.0.0.0 mit eingegeben habe und somit alles zulasse. Das habe ich gemacht, um den Mail-Versand testen zu können. Nehme ich das raus, kann ich logischerweise keine Nachrichten zu Gmail senden. Aber was genau wäre denn ideal, in mynetworks reinzuschreiben? Ich kann ja jetzt nicht genau wissen, welchen Netzen man trauen kann und welchen nicht.
 
Wenn dein Server das ganze Internet als "sein Netzwerk" sieht, und deshalb Mails vom jeden an jeden versendet hast du eine großartige Spam-Maschine geschaffen.
Du hast hier so ziemlich den schlimmsten Fehler gemacht den man beim einrichten eines Mailservers nur machen kann.
Such dir doch bitte ein Buch oder ein gutes Tutorial und versuch das mal komplett zu verstehen und spiel nicht einfach selbst irgendwie rum.
 
@postfix_learner Mit einem Open relay landest du schnell auf diversen Anti-Spam-Blocklists, und um von denen runter zu kommen, das kann dauern, damit ist deine öffentliche Server-IPv4/-IPv6 für normale Nutzung verbrannt.
 
Klar, der Open Relay hängt damit zusammen, dass ich in mynetworks 0.0.0.0 mit eingegeben habe und somit alles zulasse. Das habe ich gemacht, um den Mail-Versand testen zu können. Nehme ich das raus, kann ich logischerweise keine Nachrichten zu Gmail senden. Aber was genau wäre denn ideal, in mynetworks reinzuschreiben? Ich kann ja jetzt nicht genau wissen, welchen Netzen man trauen kann und welchen nicht.
Ach du liebes Lieschen ... das Weiterleiten eigener Mails wird über die Optionen smtpd_relay_restrictions bzw. smtpd_recipient_restrictions (alt - fehleranfällig) gesteuert.

Daher setzt man üblicherweise mynetworks_style = host oder mynetworks = 127.0.0.0/8 (beides = lokale Maschine).

"smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated reject_unauth_destination ..."
In Deinem Falle wird die Prüfung der Resktriktionen schon bei permit_mynetworks beendet. Du möchtest aber mit Sicherheit die Weiterleitung von Mails an fremde Domains nur autorisierten Clients (permit_sasl_authenticated) erlauben.

Kurzum, mit solchen gravierenden Missverständnissen bist Du mit einem professionell betriebenen Webhosting vermutlich besser aufgehoben.

@Joe User : Vielen Dank für den Link, da kann ich gleich nochmal meinen kürzlich neu aufgesetzten Mailserver optimieren.
 
Back
Top