Hallo
Ich hatte gestern feststellen müssen, dass mein Mailsystem auf
meinem Root-Server trotz Authentifizierungszwang (SASL mit TLS) als
Relay für einen Spammer herhalten musste. Selbst das Ändern des
Passwortes hat nichts bewirkt. Erst als ich heute ein komplettes
Netzwerksegment (Abuse-Mail an den Inhaber ist raus) über die
Firewall gesperrt habe, ist erstmal Ruhe eingekehrt. Im Logfile
tauchen allerdings auch andere IPs auf (sind erstmal nicht
gesperrt). Wie kann es sein, das Postfix als Relay arbeitet, wenn
nur authentifizierte User und der Rechner selbst mailen dürfen?
Ich nutze SuSE 9.0, Postfix, Antivir-Mailgate und SpamAssassin 3.0.
h8239:~ # postconf -n
alias_database = hash:/etc/aliases,
hash:/var/lib/mailman/data/aliases
alias_maps = hash:/etc/aliases, hash:/var/lib/mailman/data/aliases
broken_sasl_auth_clients = yes
canonical_maps = hash:/etc/postfix/canonical
command_directory = /usr/sbin
config_directory = /etc/postfix
content_filter = smtp:127.0.0.1:10024
daemon_directory = /usr/lib/postfix
delay_warning_time = 5
disable_dns_lookups = no
mail_version = Postfix (singollo.de)
mailbox_transport = lmtp:unix:public/lmtp
mailq_path = /usr/bin/mailq
manpage_directory = /usr/share/man
masquerade_exceptions = root
message_size_limit = 26214400
mydestination = $myhostname, $mydomain
mydomain = singollo.de
myhostname = h8239.singollo.de
myorigin = $mydomain
newaliases_path = /usr/bin/newaliases
notify_classes = resource, software, delay
readme_directory = /usr/share/doc/packages/postfix/README_FILES
relocated_maps = hash:/etc/postfix/relocated
sample_directory = /usr/share/doc/packages/postfix/samples
sendmail_path = /usr/sbin/sendmail
setgid_group = maildrop
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_security_options = noanonymous
smtp_tls_CAfile = /etc/postfix/certs/singollo.pem
smtp_tls_cert_file = /etc/postfix/certs/singollo.pem
smtp_tls_cipherlist = HIGH:@STRENGTH
smtp_tls_key_file = /etc/postfix/certs/singollo.pem
smtp_tls_loglevel = 2
smtp_tls_note_starttls_offer = yes
smtp_tls_session_cache_timeout = 3600s
smtp_use_tls = yes
smtpd_banner = $myhostname ESMTP $mail_name NO_SPAM_ALLOWED_HERE
smtpd_client_restrictions = permit_sasl_authenticated,
permit_mynetworks, reject_maps_rbl
smtpd_delay_reject = yes
smtpd_helo_required = yes
smtpd_helo_restrictions = permit_sasl_authenticated,
permit_mynetworks, reject_non_fqdn_hostname
smtpd_recipient_restrictions = permit_sasl_authenticated,
permit_mynetworks, check_relay_domains
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
smtpd_tls_CAfile = /etc/postfix/certs/singollo.pem
smtpd_tls_cert_file = /etc/postfix/certs/singollo.pem
smtpd_tls_key_file = /etc/postfix/certs/singollo.pem
smtpd_tls_loglevel = 2
smtpd_tls_received_header = yes
smtpd_tls_session_cache_timeout = 3600s
smtpd_use_tls = yes
tls_random_source = dev:/dev/urandom
transport_maps = hash:/etc/postfix/transport
unknown_local_recipient_reject_code = 450
virtual_alias_domains = serverkompetenz.net
virtual_alias_maps = hash:/etc/postfix/virtual
Zwei Mails, die fälschlicherweise relayed wurden:
h8239:~ # grep "5C0707E807A" /var/log/mail
Sep 26 09:52:23 h8239 postfix/cleanup[31261]: 5C0707E807A:
message-id=<20040926075223.5C0707E807A@h8239.singollo.de>
Sep 26 09:52:23 h8239 postfix/qmgr[5596]: 5C0707E807A: from=<>,
size=3593, nrcpt=1 (queue active)
Sep 26 09:52:24 h8239 postfix/smtp[30436]: 5C0707E807A:
to=
Udo Neist schrieb am Sonntag, 26. September 2004 10:58:
Hallo
Guten Morgen Udo, [...]
h8239:~ # postconf -n alias_database = hash:/etc/aliases, hash:/var/lib/mailman/data/aliases alias_maps = hash:/etc/aliases, hash:/var/lib/mailman/data/aliases broken_sasl_auth_clients = yes canonical_maps = hash:/etc/postfix/canonical command_directory = /usr/sbin config_directory = /etc/postfix content_filter = smtp:127.0.0.1:10024 daemon_directory = /usr/lib/postfix delay_warning_time = 5 disable_dns_lookups = no mail_version = Postfix (singollo.de) mailbox_transport = lmtp:unix:public/lmtp mailq_path = /usr/bin/mailq manpage_directory = /usr/share/man masquerade_exceptions = root message_size_limit = 26214400 mydestination = $myhostname, $mydomain mydomain = singollo.de myhostname = h8239.singollo.de myorigin = $mydomain newaliases_path = /usr/bin/newaliases notify_classes = resource, software, delay readme_directory = /usr/share/doc/packages/postfix/README_FILES relocated_maps = hash:/etc/postfix/relocated sample_directory = /usr/share/doc/packages/postfix/samples sendmail_path = /usr/sbin/sendmail setgid_group = maildrop smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd smtp_sasl_security_options = noanonymous smtp_tls_CAfile = /etc/postfix/certs/singollo.pem smtp_tls_cert_file = /etc/postfix/certs/singollo.pem smtp_tls_cipherlist = HIGH:@STRENGTH smtp_tls_key_file = /etc/postfix/certs/singollo.pem smtp_tls_loglevel = 2 smtp_tls_note_starttls_offer = yes smtp_tls_session_cache_timeout = 3600s smtp_use_tls = yes smtpd_banner = $myhostname ESMTP $mail_name NO_SPAM_ALLOWED_HERE smtpd_client_restrictions = permit_sasl_authenticated, permit_mynetworks, reject_maps_rbl smtpd_delay_reject = yes smtpd_helo_required = yes smtpd_helo_restrictions = permit_sasl_authenticated, permit_mynetworks, reject_non_fqdn_hostname smtpd_recipient_restrictions = permit_sasl_authenticated, permit_mynetworks, check_relay_domains smtpd_sasl_auth_enable = yes smtpd_sasl_security_options = noanonymous smtpd_tls_CAfile = /etc/postfix/certs/singollo.pem smtpd_tls_cert_file = /etc/postfix/certs/singollo.pem smtpd_tls_key_file = /etc/postfix/certs/singollo.pem smtpd_tls_loglevel = 2 smtpd_tls_received_header = yes smtpd_tls_session_cache_timeout = 3600s smtpd_use_tls = yes tls_random_source = dev:/dev/urandom transport_maps = hash:/etc/postfix/transport unknown_local_recipient_reject_code = 450 virtual_alias_domains = serverkompetenz.net virtual_alias_maps = hash:/etc/postfix/virtual
Solltest Du denn nicht irgendwo einen Eintrag á la: relay_domains = haben? [...]
Gruß Udo
Gruß Torsten
Am Sonntag September 26 2004 11:07 schrieb Torsten E.:
Udo Neist schrieb am Sonntag, 26. September 2004 10:58:
Hallo
Guten Morgen Udo,
[...] [...] Solltest Du denn nicht irgendwo einen Eintrag á la: relay_domains = haben?
Welche Domains soll ich denn da eintragen? t-dialin.net? (Ich bin T-DSL-Kunde.) Gruß Udo
Udo, wie hast Du denn das gemerkt? Calli Am Sonntag, 26. September 2004 11:22 schrieb Udo Neist:
Am Sonntag September 26 2004 11:07 schrieb Torsten E.:
Udo Neist schrieb am Sonntag, 26. September 2004 10:58:
Hallo
Guten Morgen Udo,
[...]
[...]
Solltest Du denn nicht irgendwo einen Eintrag á la: relay_domains = haben?
Welche Domains soll ich denn da eintragen? t-dialin.net? (Ich bin T-DSL-Kunde.)
Gruß Udo
Am Sonntag, 26. September 2004 11:22 schrieb Udo Neist:
Solltest Du denn nicht irgendwo einen Eintrag á la: relay_domains = haben?
Welche Domains soll ich denn da eintragen? t-dialin.net? (Ich bin T-DSL-Kunde.)
Gar keine, das sind Domains für die Du zwar die Mails annimmst aber nicht direkt dafür zuständig bist und sie an einen Dir bekanten Server weiterleitest. -- Andreas
Andreas Winkelmann schrieb am Sonntag, 26. September 2004 11:47:
Am Sonntag, 26. September 2004 11:22 schrieb Udo Neist:
Solltest Du denn nicht irgendwo einen Eintrag á la: relay_domains = haben?
Welche Domains soll ich denn da eintragen? t-dialin.net? (Ich bin T-DSL-Kunde.)
Gar keine, das sind Domains für die Du zwar die Mails annimmst aber nicht direkt dafür zuständig bist und sie an einen Dir bekanten Server weiterleitest.
Ups ... dann habe ich die Beschreibung in "Das Postfix Buch" falsch verstanden ... Denn dort steht (Seite 493): [Zitat] relay_domains = Domains, für die bzw. von denen Postfix relayt [/Zitat] Und somit ging ich nun davon aus, daß Udo dort seine Systeme angeben muß Sorry, Udo!
Andreas
Gruß Torsten
Am Sonntag, 26. September 2004 11:54 schrieb Torsten E.:
Solltest Du denn nicht irgendwo einen Eintrag á la: relay_domains = haben?
Welche Domains soll ich denn da eintragen? t-dialin.net? (Ich bin T-DSL-Kunde.)
Gar keine, das sind Domains für die Du zwar die Mails annimmst aber nicht direkt dafür zuständig bist und sie an einen Dir bekanten Server weiterleitest.
Ups ... dann habe ich die Beschreibung in "Das Postfix Buch" falsch verstanden ... Denn dort steht (Seite 493): [Zitat] relay_domains = Domains, für die bzw. von denen Postfix relayt [/Zitat] Und somit ging ich nun davon aus, daß Udo dort seine Systeme angeben muß
"relayen" heisst annehmen und weitergeben. Das weitergeben ist hier wichtig. Damit sind nicht domains gemeint, die er lokal zustellt, die gehören in mydestination o.ä.. Wenn er wirklich relay_domains = t-dialin.net eingesett hätte, .... -- Andreas
Torsten E. wrote:
Andreas Winkelmann schrieb am Sonntag, 26. September 2004 11:47:
Am Sonntag, 26. September 2004 11:22 schrieb Udo Neist:
Solltest Du denn nicht irgendwo einen Eintrag á la: relay_domains = haben?
Welche Domains soll ich denn da eintragen? t-dialin.net? (Ich bin T-DSL-Kunde.)
Gar keine, das sind Domains für die Du zwar die Mails annimmst aber nicht direkt dafür zuständig bist und sie an einen Dir bekanten Server weiterleitest.
Ups ... dann habe ich die Beschreibung in "Das Postfix Buch" falsch verstanden ... Denn dort steht (Seite 493): [Zitat] relay_domains = Domains, für die bzw. von denen Postfix relayt [/Zitat] Und somit ging ich nun davon aus, daß Udo dort seine Systeme angeben muß
Nein das ist im Prinzip die Domain gemeint für die Du Mails annimmst. Aber ich glaube nicht das Udo eine eigene Domain hat und den entsprechenden MX Eintrag gesetzt hat, zum weiteren dürfte das schwierig werden bei sich ändernder IP, es sei denn man macht die Geschichte über z.B. dyndns. Da ist aber meine ich sogar ein eigenes Kapitel im Postfix-Buch drin. Mit meiner ISDN-Arcor-Flat kann ich gar keine E-Mails empfangen weil scheinbar Arcor allen Traffic auf Port25 zu den dialin-Ips blockt/sperrt. Kann das jemand bestätigen? Gruss Patrick
Am Sonntag September 26 2004 11:54 schrieb Torsten E.:
Andreas Winkelmann schrieb am Sonntag, 26. September 2004 11:47:
Am Sonntag, 26. September 2004 11:22 schrieb Udo Neist:
Solltest Du denn nicht irgendwo einen Eintrag á la: relay_domains = haben?
Welche Domains soll ich denn da eintragen? t-dialin.net? (Ich bin T-DSL-Kunde.)
Gar keine, das sind Domains für die Du zwar die Mails annimmst aber nicht direkt dafür zuständig bist und sie an einen Dir bekanten Server weiterleitest.
Ups ... dann habe ich die Beschreibung in "Das Postfix Buch" falsch verstanden ... Denn dort steht (Seite 493): [Zitat] relay_domains = Domains, für die bzw. von denen Postfix relayt [/Zitat] Und somit ging ich nun davon aus, daß Udo dort seine Systeme angeben muß
http://www.postfix.org/uce.html relay_domains This parameter controls the behavior of the reject_unauth_destination and permit_auth_destination restrictions that can appear as part of a recipient address restriction list. Default: relay_domains = $mydestination By default, the Postfix SMTP server relays mail: * from trusted clients whose IP address matches $mynetworks, * from untrusted clients to destinations that match $relay_domains or a subdomain thereof, except for addresses that contain sender-specified routing (user@elsewhere@domain). Syntax: Specify zero or more domain names, /file/name patterns and/or type:name lookup tables, separated by whitespace and/or commas. A /file/name is replaced by its contents; type:name requests that table lookup is done instead of string comparison. A host or destination address matches $relay_domains when its name or parent domain matches any of the names, files or lookup tables listed in $relay_domains. Es stimmt schon, hier stehen die Domains, die relayen dürfen. relayhost ist dagegen der externe Mailserver, über den die nicht lokalen Mails zugestellt werden. Gruß Udo
Am Sonntag, 26. September 2004 10:58 schrieb Udo Neist:
Ich hatte gestern feststellen müssen, dass mein Mailsystem auf meinem Root-Server trotz Authentifizierungszwang (SASL mit TLS) als Relay für einen Spammer herhalten musste. Selbst das Ändern des Passwortes hat nichts bewirkt. Erst als ich heute ein komplettes Netzwerksegment (Abuse-Mail an den Inhaber ist raus) über die Firewall gesperrt habe, ist erstmal Ruhe eingekehrt. Im Logfile tauchen allerdings auch andere IPs auf (sind erstmal nicht gesperrt). Wie kann es sein, das Postfix als Relay arbeitet, wenn nur authentifizierte User und der Rechner selbst mailen dürfen?
Ich nutze SuSE 9.0, Postfix, Antivir-Mailgate und SpamAssassin 3.0. h8239:~ # postconf -n alias_database = hash:/etc/aliases, hash:/var/lib/mailman/data/aliases alias_maps = hash:/etc/aliases, hash:/var/lib/mailman/data/aliases broken_sasl_auth_clients = yes canonical_maps = hash:/etc/postfix/canonical command_directory = /usr/sbin config_directory = /etc/postfix content_filter = smtp:127.0.0.1:10024
BTW: Um die 127.0.0.1 solltest Du eckige Klammern machen. content_filter = smtp:[127.0.0.1]:10024
daemon_directory = /usr/lib/postfix delay_warning_time = 5 disable_dns_lookups = no mail_version = Postfix (singollo.de)
Was soll denn dieser Unsinn? "mail_version" ist die Postfix Version.
mailbox_transport = lmtp:unix:public/lmtp mailq_path = /usr/bin/mailq manpage_directory = /usr/share/man masquerade_exceptions = root message_size_limit = 26214400 mydestination = $myhostname, $mydomain mydomain = singollo.de myhostname = h8239.singollo.de myorigin = $mydomain newaliases_path = /usr/bin/newaliases notify_classes = resource, software, delay readme_directory = /usr/share/doc/packages/postfix/README_FILES relocated_maps = hash:/etc/postfix/relocated sample_directory = /usr/share/doc/packages/postfix/samples sendmail_path = /usr/sbin/sendmail setgid_group = maildrop smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd smtp_sasl_security_options = noanonymous smtp_tls_CAfile = /etc/postfix/certs/singollo.pem smtp_tls_cert_file = /etc/postfix/certs/singollo.pem smtp_tls_cipherlist = HIGH:@STRENGTH smtp_tls_key_file = /etc/postfix/certs/singollo.pem smtp_tls_loglevel = 2 smtp_tls_note_starttls_offer = yes smtp_tls_session_cache_timeout = 3600s smtp_use_tls = yes smtpd_banner = $myhostname ESMTP $mail_name NO_SPAM_ALLOWED_HERE
smtpd_client_restrictions = permit_sasl_authenticated, permit_mynetworks, reject_maps_rbl
Zu dem Zeitpunkt, wo diese restriction greift gibt es noch keine Authentifizierung, also ist permit_sasl_authenticated unnötig. "reject_maps_rbl" gibt es nicht mehr. Dazu solltest Du auch eine Warnung in Deinem Log sehen. Stattdessen solltest Du reject_rbl_client nehmen, schau Dir dazu die Anleitung an.
smtpd_delay_reject = yes smtpd_helo_required = yes
smtpd_helo_restrictions = permit_sasl_authenticated, permit_mynetworks, reject_non_fqdn_hostname
Auch in der helo-Phase gibt es noch keine Authentifizierung.
smtpd_recipient_restrictions = permit_sasl_authenticated, permit_mynetworks, check_relay_domains
check_relay_domains gibt es ebenfalls nicht mehr. Auch dazu solltest Du eine Warnung im Log sehen. Das könnte es sogar gewesen sein, je nachdem welcher Hostname vom anderen geschickt wurde. Verwende hier "reject_unauth_destination".
smtpd_sasl_auth_enable = yes smtpd_sasl_security_options = noanonymous smtpd_tls_CAfile = /etc/postfix/certs/singollo.pem smtpd_tls_cert_file = /etc/postfix/certs/singollo.pem smtpd_tls_key_file = /etc/postfix/certs/singollo.pem smtpd_tls_loglevel = 2 smtpd_tls_received_header = yes smtpd_tls_session_cache_timeout = 3600s smtpd_use_tls = yes tls_random_source = dev:/dev/urandom transport_maps = hash:/etc/postfix/transport unknown_local_recipient_reject_code = 450 virtual_alias_domains = serverkompetenz.net virtual_alias_maps = hash:/etc/postfix/virtual
Zwei Mails, die fälschlicherweise relayed wurden:
h8239:~ # grep "5C0707E807A" /var/log/mail Sep 26 09:52:23 h8239 postfix/cleanup[31261]: 5C0707E807A: message-id=<20040926075223.5C0707E807A@h8239.singollo.de> Sep 26 09:52:23 h8239 postfix/qmgr[5596]: 5C0707E807A: from=<>, size=3593, nrcpt=1 (queue active) Sep 26 09:52:24 h8239 postfix/smtp[30436]: 5C0707E807A: to=
, relay=mail.charter.net[209.225.8.224], delay=1, status=sent (250 ok: Message 339213529 accepted)
h8239:~ # grep "666557E804E" /var/log/mail Sep 26 06:51:15 h8239 postfix/cleanup[13490]: 666557E804E: message-id=<20040926045115.666557E804E@h8239.singollo.de> Sep 26 06:51:15 h8239 postfix/qmgr[5596]: 666557E804E: from=<>, size=3569, nrcpt=1 (queue active) Sep 26 06:51:16 h8239 postfix/smtp[13160]: 666557E804E: to=
, relay=mail.charter.net[209.225.8.224], delay=1, status=sent (250 ok: Message 355082858 accepted)
Da fehlt jeweils eine Zeile, und zwar wie Die Mails ins System reingekommen sind. Dürfte bzgl check_relay_domains interessant gewesen sein. Evtl sind die sogar vom System selber gekommen, hast Du nen WebServer drauf? -- Andreas
Am Sonntag September 26 2004 11:34 schrieb Andreas Winkelmann:
Am Sonntag, 26. September 2004 10:58 schrieb Udo Neist:
Ich hatte gestern feststellen müssen, dass mein Mailsystem auf meinem Root-Server trotz Authentifizierungszwang (SASL mit TLS) als Relay für einen Spammer herhalten musste. Selbst das Ändern des Passwortes hat nichts bewirkt. Erst als ich heute ein komplettes Netzwerksegment (Abuse-Mail an den Inhaber ist raus) über die Firewall gesperrt habe, ist erstmal Ruhe eingekehrt. Im Logfile tauchen allerdings auch andere IPs auf (sind erstmal nicht gesperrt). Wie kann es sein, das Postfix als Relay arbeitet, wenn nur authentifizierte User und der Rechner selbst mailen dürfen?
Ich nutze SuSE 9.0, Postfix, Antivir-Mailgate und SpamAssassin 3.0. h8239:~ # postconf -n alias_database = hash:/etc/aliases, hash:/var/lib/mailman/data/aliases alias_maps = hash:/etc/aliases, hash:/var/lib/mailman/data/aliases broken_sasl_auth_clients = yes canonical_maps = hash:/etc/postfix/canonical command_directory = /usr/sbin config_directory = /etc/postfix content_filter = smtp:127.0.0.1:10024
BTW: Um die 127.0.0.1 solltest Du eckige Klammern machen. content_filter = smtp:[127.0.0.1]:10024
daemon_directory = /usr/lib/postfix delay_warning_time = 5 disable_dns_lookups = no mail_version = Postfix (singollo.de)
Was soll denn dieser Unsinn? "mail_version" ist die Postfix Version.
Wenn es Unsinn sein sollte, dann sollte man es den Programmierern von Postfix melden, damit sie es aus der Konfiguration nehmen. [...]
smtpd_client_restrictions = permit_sasl_authenticated, permit_mynetworks, reject_maps_rbl
Zu dem Zeitpunkt, wo diese restriction greift gibt es noch keine Authentifizierung, also ist permit_sasl_authenticated unnötig.
Und warum wird das dann für SASL in diversen Anleitungen beschrieben? Wenigstens das Manual gibt dir da recht.
"reject_maps_rbl" gibt es nicht mehr. Dazu solltest Du auch eine Warnung in Deinem Log sehen. Stattdessen solltest Du reject_rbl_client nehmen, schau Dir dazu die Anleitung an.
smtpd_delay_reject = yes smtpd_helo_required = yes
smtpd_helo_restrictions = permit_sasl_authenticated, permit_mynetworks, reject_non_fqdn_hostname
Auch in der helo-Phase gibt es noch keine Authentifizierung.
Rausgeworfen, dafür die vorgesehenen Restrictions aufgenommen. Warum in aller Welt werden dann eindeutig falsche Anleitungen geschrieben?
smtpd_recipient_restrictions = permit_sasl_authenticated, permit_mynetworks, check_relay_domains
check_relay_domains gibt es ebenfalls nicht mehr. Auch dazu solltest Du eine Warnung im Log sehen. Das könnte es sogar gewesen sein, je nachdem welcher Hostname vom anderen geschickt wurde. Verwende hier "reject_unauth_destination".
check_relay_domains und reject_unauth_destination sind nicht das Problem. Ich hatte so oder so irgendwann vor, diese "Probleme" zu beseitigen [...]
Da fehlt jeweils eine Zeile, und zwar wie Die Mails ins System reingekommen sind. Dürfte bzgl check_relay_domains interessant gewesen sein. Evtl sind die sogar vom System selber gekommen, hast Du nen WebServer drauf?
Ich habe im Logfile gesucht. Die Mails sind definitiv nicht vom Webserver gekommen. Die Meldungen hatte ich vor dem Kopieren überprüft. Mit dem Tipp "relay_domains" funktioniert es anscheinend so wie ich es eigentlich geplant hatte. t-dailin.net darf relayen, alle anderen nicht. Jetzt muss ich halt jedesmal die Domain eintragen, wenn ich anderen mal eine Subdomain inklusive Mailadressen leihe. Das sollte eigentlich die Authentifikation leisten. Alle nicht eingetragenen User sollten abgewiesen werden. Ich werde wohl mal eine Mini-Anleitung für ein Postfix-Mailsystem auf Root-Servern schreiben müssen *g*
Am Sonntag, 26. September 2004 12:04 schrieb Udo Neist:
mail_version = Postfix (singollo.de)
Was soll denn dieser Unsinn? "mail_version" ist die Postfix Version.
Wenn es Unsinn sein sollte, dann sollte man es den Programmierern von Postfix melden, damit sie es aus der Konfiguration nehmen.
"Die Programmierer" ist Wietse und der schreibt es definitiv nicht in die main.cf, die er Postfix beilegt. Es gehört auch gar nicht in die main.cf, da es etwas über die installierte Postfix-Version aussagt und nicht über den Inhalt einer Konfigurationsdatei. So sollte der Inhalt aussehen: # postconf mail_version mail_version = 2.2-20040919
smtpd_client_restrictions = permit_sasl_authenticated, permit_mynetworks, reject_maps_rbl
Zu dem Zeitpunkt, wo diese restriction greift gibt es noch keine Authentifizierung, also ist permit_sasl_authenticated unnötig.
Und warum wird das dann für SASL in diversen Anleitungen beschrieben? Wenigstens das Manual gibt dir da recht.
Lese bzw. traue der Anleitung, die Postfix beiliegt bzw. über http://www.postfix.org/documentation.html erreichbar ist. Bei der Online-Version solltest Du auf Versionsangaben achten, da sie sich auf die aktuelle bezieht.
"reject_maps_rbl" gibt es nicht mehr. Dazu solltest Du auch eine Warnung in Deinem Log sehen. Stattdessen solltest Du reject_rbl_client nehmen, schau Dir dazu die Anleitung an.
smtpd_delay_reject = yes smtpd_helo_required = yes
smtpd_helo_restrictions = permit_sasl_authenticated, permit_mynetworks, reject_non_fqdn_hostname
Auch in der helo-Phase gibt es noch keine Authentifizierung.
Rausgeworfen, dafür die vorgesehenen Restrictions aufgenommen.
Warum in aller Welt werden dann eindeutig falsche Anleitungen geschrieben?
Gute Frage.
smtpd_recipient_restrictions = permit_sasl_authenticated, permit_mynetworks, check_relay_domains
check_relay_domains gibt es ebenfalls nicht mehr. Auch dazu solltest Du eine Warnung im Log sehen. Das könnte es sogar gewesen sein, je nachdem welcher Hostname vom anderen geschickt wurde. Verwende hier "reject_unauth_destination".
check_relay_domains und reject_unauth_destination sind nicht das Problem. Ich hatte so oder so irgendwann vor, diese "Probleme" zu beseitigen
[...]
Da fehlt jeweils eine Zeile, und zwar wie Die Mails ins System reingekommen sind. Dürfte bzgl check_relay_domains interessant gewesen sein. Evtl sind die sogar vom System selber gekommen, hast Du nen WebServer drauf?
Ich habe im Logfile gesucht. Die Mails sind definitiv nicht vom Webserver gekommen. Die Meldungen hatte ich vor dem Kopieren überprüft.
Was auch sein konnte, die Mails hatten keinen Absender, das sind normalerweise bounces. Sprich ein Mailsystem hat Dir eine Mail geschickt, Du bist zwar für die Domain zuständig, aber den Empfänger gibt es nicht. Unnötigerweise (1) hast Du die Mail angenommen und musst jetzt dafür sorgen, dass der Absender erfährt, dass der Empfänger nicht existiert. Dann sollte es im Log zeitlich in der Nähe einen Eingang einer anderen Mail gegeben haben. (1) http://www.postfix.org/LOCAL_RECIPIENT_README.html
Mit dem Tipp "relay_domains" funktioniert es anscheinend so wie ich es eigentlich geplant hatte. t-dailin.net darf relayen, alle anderen nicht. Jetzt muss ich halt jedesmal die Domain eintragen, wenn ich anderen mal eine Subdomain inklusive Mailadressen leihe. Das sollte eigentlich die Authentifikation leisten. Alle nicht eingetragenen User sollten abgewiesen werden.
Du hast also relay_domains = t-dialin.net eingesetzt?
Ich werde wohl mal eine Mini-Anleitung für ein Postfix-Mailsystem auf Root-Servern schreiben müssen *g*
-- Andreas
Am Sonntag September 26 2004 12:31 schrieb Andreas Winkelmann:
Am Sonntag, 26. September 2004 12:04 schrieb Udo Neist:
mail_version = Postfix (singollo.de)
Was soll denn dieser Unsinn? "mail_version" ist die Postfix Version.
Wenn es Unsinn sein sollte, dann sollte man es den Programmierern von Postfix melden, damit sie es aus der Konfiguration nehmen.
"Die Programmierer" ist Wietse und der schreibt es definitiv nicht in die main.cf, die er Postfix beilegt. Es gehört auch gar nicht in die main.cf, da es etwas über die installierte Postfix-Version aussagt und nicht über den Inhalt einer Konfigurationsdatei. So sollte der Inhalt aussehen:
# postconf mail_version mail_version = 2.2-20040919
Wie gesagt, ist nach meiner Meinung dann überflüssig.
smtpd_client_restrictions = permit_sasl_authenticated, permit_mynetworks, reject_maps_rbl
Zu dem Zeitpunkt, wo diese restriction greift gibt es noch keine Authentifizierung, also ist permit_sasl_authenticated unnötig.
Und warum wird das dann für SASL in diversen Anleitungen beschrieben? Wenigstens das Manual gibt dir da recht.
Lese bzw. traue der Anleitung, die Postfix beiliegt bzw. über http://www.postfix.org/documentation.html erreichbar ist. Bei der Online-Version solltest Du auf Versionsangaben achten, da sie sich auf die aktuelle bezieht.
2.0.14 sollte noch relativ aktuell sein. [...]
Ich habe im Logfile gesucht. Die Mails sind definitiv nicht vom Webserver gekommen. Die Meldungen hatte ich vor dem Kopieren überprüft.
Was auch sein konnte, die Mails hatten keinen Absender, das sind normalerweise bounces. Sprich ein Mailsystem hat Dir eine Mail geschickt, Du bist zwar für die Domain zuständig, aber den Empfänger gibt es nicht. Unnötigerweise (1) hast Du die Mail angenommen und musst jetzt dafür sorgen, dass der Absender erfährt, dass der Empfänger nicht existiert. Dann sollte es im Log zeitlich in der Nähe einen Eingang einer anderen Mail gegeben haben.
Bounces hatte ich, auch einige abgewiesene Mails. Daher kam ich ja auch auf den Spam-Versuch über meinen Server. Mir werden ja die Fehlermeldungen zugemailt.
Mit dem Tipp "relay_domains" funktioniert es anscheinend so wie ich es eigentlich geplant hatte. t-dailin.net darf relayen, alle anderen nicht. Jetzt muss ich halt jedesmal die Domain eintragen, wenn ich anderen mal eine Subdomain inklusive Mailadressen leihe. Das sollte eigentlich die Authentifikation leisten. Alle nicht eingetragenen User sollten abgewiesen werden.
Du hast also
relay_domains = t-dialin.net
eingesetzt?
Notgedrungen, jedenfalls nach dem ich in der Anleitung zu relay_domains geschaut hatte. Ich will aber nur ausdrücklich zugelassene Accounts das Versenden über meine Domain erlauben. Alle anderen Versuche müssen abgewiesen werden. Vorläufig ist es halt die Option, bis ich die richtige Konfiguration habe. Gruß Udo
Am Sonntag, 26. September 2004 13:07 schrieb Udo Neist:
"Die Programmierer" ist Wietse und der schreibt es definitiv nicht in die main.cf, die er Postfix beilegt. Es gehört auch gar nicht in die main.cf, da es etwas über die installierte Postfix-Version aussagt und nicht über den Inhalt einer Konfigurationsdatei. So sollte der Inhalt aussehen:
# postconf mail_version mail_version = 2.2-20040919
Wie gesagt, ist nach meiner Meinung dann überflüssig.
Richtig, das habe ich ja versucht zu sagen. Es gehört nicht in die main.cf. Dann wird der default benutzt und der ist die eingesetzte Postfix-Version. Wenn Du sie in die main.cf schreibst und mit irgendwelchen Pseudo-Werten belegst, kannst Du damit z.B. Programme bzw. Scripte in die Irre führen, die aufgrund der Version Entscheidungen treffen müssen und sich nicht an "-d mail_version" halten.
Lese bzw. traue der Anleitung, die Postfix beiliegt bzw. über http://www.postfix.org/documentation.html erreichbar ist. Bei der Online-Version solltest Du auf Versionsangaben achten, da sie sich auf die aktuelle bezieht.
2.0.14 sollte noch relativ aktuell sein.
Im Vergleich zur 2.0.x und der aktuellen 2.1.x sind recht viele Sachen dazu gekommen. Kannst Du auch auf den Seiten sehen, ruf mal die Seite http://www.postfix.org/postconf.5.html auf und such mal nach "2.1".
Mit dem Tipp "relay_domains" funktioniert es anscheinend so wie ich es eigentlich geplant hatte. t-dailin.net darf relayen, alle anderen nicht. Jetzt muss ich halt jedesmal die Domain eintragen, wenn ich anderen mal eine Subdomain inklusive Mailadressen leihe. Das sollte eigentlich die Authentifikation leisten. Alle nicht eingetragenen User sollten abgewiesen werden.
Du hast also
relay_domains = t-dialin.net
eingesetzt?
Notgedrungen, jedenfalls nach dem ich in der Anleitung zu relay_domains geschaut hatte. Ich will aber nur ausdrücklich zugelassene Accounts das Versenden über meine Domain erlauben. Alle anderen Versuche müssen abgewiesen werden. Vorläufig ist es halt die Option, bis ich die richtige Konfiguration habe.
Damit nimmst Du _alle_ Mails mit dem Empfänger(n) *@*t-dialin.net an. Und da Du wahrscheinlich nicht das Ziel dafür bist, leitest Du sie direkt wieder ins Internet. Wenn Du für $mynetworks und bekannte (Authentifizierte) Benutzer Relayen willst, dann baue eine Restriction ein: smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination Lösche relay_domains aus der main.cf. Und setze in mydestination alle DOmains ein, die Du lokal einsortierst. -- Andreas
Am Sonntag September 26 2004 14:07 schrieb Andreas Winkelmann:
Notgedrungen, jedenfalls nach dem ich in der Anleitung zu relay_domains geschaut hatte. Ich will aber nur ausdrücklich zugelassene Accounts das Versenden über meine Domain erlauben. Alle anderen Versuche müssen abgewiesen werden. Vorläufig ist es halt die Option, bis ich die richtige Konfiguration habe.
Damit nimmst Du _alle_ Mails mit dem Empfänger(n) *@*t-dialin.net an. Und da Du wahrscheinlich nicht das Ziel dafür bist, leitest Du sie direkt wieder ins Internet.
Das war ja fürs erste nur eine Notlösung, um den Missbrauch einen Riegel vorzuschieben.
Wenn Du für $mynetworks und bekannte (Authentifizierte) Benutzer Relayen willst, dann baue eine Restriction ein:
smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination
Lösche relay_domains aus der main.cf. Und setze in mydestination alle DOmains ein, die Du lokal einsortierst.
relay_domains ist auskommentiert und die Reihenfolge von smtpd_recipient_restrictions habe ich umgestellt. Ich beobachte das Logfile die nächsten Tage. Gruß Udo
Am Sonntag, 26. September 2004 13:07 schrieb Udo Neist:
Am Sonntag September 26 2004 12:31 schrieb Andreas Winkelmann:
Am Sonntag, 26. September 2004 12:04 schrieb Udo Neist: [...] Du hast also
relay_domains = t-dialin.net
eingesetzt?
Notgedrungen, jedenfalls nach dem ich in der Anleitung zu relay_domains geschaut hatte. Ich will aber nur ausdrücklich zugelassene Accounts das Versenden über meine Domain erlauben. Alle anderen Versuche müssen abgewiesen werden. Vorläufig ist es halt die Option, bis ich die richtige Konfiguration habe.
ARGHHH!!! Damit öffnest Du den Spammern Tür und Tor!!! In Deinem eigenen Interesse lösch das raus! lg, Andreas.
Hallo,
Udo Neist
Hallo
Ich hatte gestern feststellen müssen, dass mein Mailsystem auf meinem Root-Server trotz Authentifizierungszwang (SASL mit TLS) als Relay für einen Spammer herhalten musste. Selbst das Ändern des Passwortes hat nichts bewirkt. Erst als ich heute ein komplettes Netzwerksegment (Abuse-Mail an den Inhaber ist raus) über die Firewall gesperrt habe, ist erstmal Ruhe eingekehrt. Im Logfile tauchen allerdings auch andere IPs auf (sind erstmal nicht gesperrt). Wie kann es sein, das Postfix als Relay arbeitet, wenn nur authentifizierte User und der Rechner selbst mailen dürfen?
Da in den Logs kein Kontakt von außen auftaucht, besteht die Möglichkeit, daß die Mail intern durch ein Script generiert wurde, da helfen dann auch keine Relay Regeln. Versuche einfach mal mail -s "blublub" empfaenger@domain -- -f faked.user@localdomain hier kommt mein Text . Du kannst das auch mit echo an sendmail pipen, wenn du mail nicht installiert hast, funktioniert ebenso. [...]
setgid_group = maildrop smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd smtp_sasl_security_options = noanonymous smtp_tls_CAfile = /etc/postfix/certs/singollo.pem smtp_tls_cert_file = /etc/postfix/certs/singollo.pem smtp_tls_cipherlist = HIGH:@STRENGTH smtp_tls_key_file = /etc/postfix/certs/singollo.pem ^^^^^^^^^^^^^^ Das nutzt dir hier nichts, da dies eine Anweisung an Postfix als SMTP Client ist, da sollte der Pfad auf die Certificate Authority deines Relay Hosts stehen, denn mit deinem Certificate kannst du das angebotene Certificate des Relay Hosts nicht verifizieren.
smtp_tls_loglevel = 2
Bei diesem Loglevel solltest du aber etliche Meldungen über falsche Certificates bekommen,
Zwei Mails, die fälschlicherweise relayed wurden:
Und woher kommen diese Mails, sollte doch in den Logs stehen.
h8239:~ # grep "5C0707E807A" /var/log/mail Sep 26 09:52:23 h8239 postfix/cleanup[31261]: 5C0707E807A: message-id=<20040926075223.5C0707E807A@h8239.singollo.de> Sep 26 09:52:23 h8239 postfix/qmgr[5596]: 5C0707E807A: from=<>, ^^^^^^^ das ist leider erlaubt.
[...] -Dieter -- Dieter Klünter | Systemberatung http://www.dkluenter.de GPG Key ID:8C183C8622115328
Am Sonntag September 26 2004 12:28 schrieb Dieter Kluenter:
Hallo,
Udo Neist
writes: Hallo
Ich hatte gestern feststellen müssen, dass mein Mailsystem auf meinem Root-Server trotz Authentifizierungszwang (SASL mit TLS) als Relay für einen Spammer herhalten musste. Selbst das Ändern des Passwortes hat nichts bewirkt. Erst als ich heute ein komplettes Netzwerksegment (Abuse-Mail an den Inhaber ist raus) über die Firewall gesperrt habe, ist erstmal Ruhe eingekehrt. Im Logfile tauchen allerdings auch andere IPs auf (sind erstmal nicht gesperrt). Wie kann es sein, das Postfix als Relay arbeitet, wenn nur authentifizierte User und der Rechner selbst mailen dürfen?
Da in den Logs kein Kontakt von außen auftaucht, besteht die Möglichkeit, daß die Mail intern durch ein Script generiert wurde, da helfen dann auch keine Relay Regeln.
Versuche einfach mal mail -s "blublub" empfaenger@domain -- -f faked.user@localdomain hier kommt mein Text ..
Du kannst das auch mit echo an sendmail pipen, wenn du mail nicht installiert hast, funktioniert ebenso.
Die Mails kamen von aussen, nur das grep hat die Zeilen nicht ausgeworfen. Ich hatte das Log durchsucht und speziell mal die beiden IDs rauskopiert.
[...]
setgid_group = maildrop smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd smtp_sasl_security_options = noanonymous smtp_tls_CAfile = /etc/postfix/certs/singollo.pem smtp_tls_cert_file = /etc/postfix/certs/singollo.pem smtp_tls_cipherlist = HIGH:@STRENGTH smtp_tls_key_file = /etc/postfix/certs/singollo.pem
^^^^^^^^^^^^^^ Das nutzt dir hier nichts, da dies eine Anweisung an Postfix als SMTP Client ist, da sollte der Pfad auf die Certificate Authority deines Relay Hosts stehen, denn mit deinem Certificate kannst du das angebotene Certificate des Relay Hosts nicht verifizieren.
smtp_tls_loglevel = 2
Bei diesem Loglevel solltest du aber etliche Meldungen über falsche Certificates bekommen,
Werde ich demnächst mal ändern. Ist nicht ganz so wichtig jetzt.
Zwei Mails, die fälschlicherweise relayed wurden:
Und woher kommen diese Mails, sollte doch in den Logs stehen.
h8239:~ # grep "5C0707E807A" /var/log/mail Sep 26 09:52:23 h8239 postfix/cleanup[31261]: 5C0707E807A: message-id=<20040926075223.5C0707E807A@h8239.singollo.de> Sep 26 09:52:23 h8239 postfix/qmgr[5596]: 5C0707E807A: from=<>,
^^^^^^^ das ist leider erlaubt.
Ja, aber warum? Egal, relay_domains hat das fürs erste gelöst. Ich bin kein Postfix-Spezialist. Gruß Udo
Hallo Udo, Am Sonntag 26 September 2004 12:38 schrieb Udo Neist:
Egal, relay_domains hat das fürs erste gelöst. Ich bin kein Postfix-Spezialist.
Ich auch nicht... Kennst Du http://www.abuse.net/relay.html? Da kannst Du Deinen Mailserver auf die Eigenschaft 'open-relay' testen. Ich mach' das immer, wenn ich mal wieder am postfix rumgeschraubt habe, schließlich will ich nicht als Spamschleuder mißbraucht werden. Wenn Du mehr mit Postfix zu tun hast, dann lohnt das Mitlesen von: http://listi.jpberlin.de/mailman/listinfo/postfixbuch-users. Helga -- ## Content Developer OpenOffice.org: lang/DE ## Office-Suite für Linux, Mac, Windows -- http://de.openoffice.org/ ## Werkstatt & Information zu OpenSource -- http://www.eschkitai.de/ ## Etikette, nein Danke? -- http://www.suse-etikette.de.vu/
Am Sonntag September 26 2004 16:04 schrieb Helga Fischer:
Hallo Udo,
Am Sonntag 26 September 2004 12:38 schrieb Udo Neist:
Egal, relay_domains hat das fürs erste gelöst. Ich bin kein Postfix-Spezialist.
Ich auch nicht... Kennst Du http://www.abuse.net/relay.html? Da kannst Du Deinen Mailserver auf die Eigenschaft 'open-relay' testen. Ich mach' das immer, wenn ich mal wieder am postfix rumgeschraubt habe, schließlich will ich nicht als Spamschleuder mißbraucht werden.
Wenn Du mehr mit Postfix zu tun hast, dann lohnt das Mitlesen von: http://listi.jpberlin.de/mailman/listinfo/postfixbuch-users.
Danke für die beiden Links :-) Werde ich mal testen. Gruß Udo
participants (8)
-
Andreas Scherer
-
Andreas Winkelmann
-
Carl A. Schreiber
-
Dieter Kluenter
-
Helga Fischer
-
Patrick Klaus
-
Torsten E.
-
Udo Neist