Exim4: Mails vom Client zum SMTP Relayserver Transport verschlüsseln und User authentifizieren.
-
Mahlzeit.
Habe einen kleinen SMTP Relayserver laufen, der die ganzen Status- oder Warnmails der anderen Hosts im LAN weiterleitet zum Mailanbieter, hier aktuell zu Strato.
Zur Zeit senden die Hosts die Mails unverschlüsselt und ohne Authentifikation, das soll sich ändern. Habe nach dieser Anleitung die Authentifizierung eingerichtet, wie in derr Anleitung ein Zertifikat erstellt, einen User eingerichtet und die Config erstellt. Mails werden jetzt mit Benutzer/Passwort versendet, keine Fehlermeldung. Leider werden auch Mails ohne Auth. versendet, ebenfalls ohne Fehlermeldung.Jetzt die Frage, wie kann ich das erzwingen? Irgendwie scheint Exim4 die Konfiguration zu ignorieren und lauscht artig auf Port 25.
Hat jemand so was laufen zu Hause?
-
Dass er auf Port 25 lauscht ist ja in Ordnung. Das hat nicht zwingend was mit verschlüsselt oder nicht zu tun. (STARTTLS läuft auch verschlüsselt über Port 25 bspw.). Ohne Auth ist allerdings merkwürdiger. Allerdings ist Exim jetzt nicht gerade das einfache Konfigurationswunder als dass ich da die Konfig auswendig kenne, aber ich vermute er hat entweder einen Allow für das Netz drin in dem er steht (local subnet) und das darf ohne auth schicken, oder es ist die IP/Subnet Kombo die das erlaubt.
Bei Postfix ist das bspw. "mynetworks" die grundsätzlich erlaubt sind. Wenn da außer localhost noch das aktuelle Netz drinsteht, ist klar dass die anderen aus dem Netz einfach so versenden dürfen. Heißt bei Postfix smtpd_relay_restrictions die auf permit_mynetworks, permit_sasl_authenticated und defer_unauth_destination steht. Also sein Netz darf, angemeldete User dürfen, Rest geht heim. Sowas in der Art sollte bei Exim auch zu finden sein.
-
Habe mal mit dem Befehl die Verschlüsselung getestet:
swaks -a -tls -q HELO -s 10.0.5.2 au test -ap '<>'
Hier das Ergebnis, es wird zudem nach einem Benutzer gefragt:
user@lhmedia:/etc/exim4# swaks -a -tls -q HELO -s 10.0.5.2 au test -ap '<>' Username: aa === Trying 10.0.5.2:25... === Connected to 10.0.5.2. <- 220 eigene.domain.de ESMTP Exim 4.89 Fri, 06 Dec 2019 15:59:20 +0100 -> EHLO lhmedia.home <- 250-eigene.domain.de Hello lhmedia.home [10.0.60.201] <- 250-SIZE 52428800 <- 250-8BITMIME <- 250-PIPELINING <- 250-STARTTLS <- 250-PRDR <- 250 HELP -> STARTTLS <- 220 TLS go ahead === TLS started with cipher TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256 === TLS no local certificate set === TLS peer DN="/C=DE/ST=NIE/L=SZ/O=private/CN=eigene.domain.de/emailAddress=admin@domain.de" ~> EHLO lhmedia.home <~ 250-eigene.domain.de Hello lhmedia.home [10.0.60.201] <~ 250-SIZE 52428800 <~ 250-8BITMIME <~ 250-PIPELINING <~ 250-AUTH PLAIN LOGIN <~ 250-PRDR <~ 250 HELP ~> QUIT <~ 221 eigene.domain.de closing connection === Connection closed with remote host.
Und es ist egal, welcher User eingetragen wird. Was klappt, die Verschlüsselung greift, jetzt nur noch das Authorisieren.
@JeGr said in Exim4: Mails vom Client zum SMTP Relayserver Transport verschlüsseln und User authentifizieren.:
Bei Postfix ist das bspw. "mynetworks" die grundsätzlich erlaubt sind. Wenn da außer localhost noch das aktuelle Netz drinsteht, ist klar dass die anderen aus dem Netz einfach so versenden dürfen.
Jep, nennt sich "dc_relay_nets", da sind die subnets eingetragen. Funzt alles auch ohne Auth.
-
@mike69 said in Exim4: Mails vom Client zum SMTP Relayserver Transport verschlüsseln und User authentifizieren.:
Jep, nennt sich "dc_relay_nets", da sind die subnets eingetragen. Funzt alles auch ohne Auth.
OK und wenn da nur localhost drin ist? Dann müssten doch IMHO alle anderen sich sauber einloggen, sonst wird nichts relayed. Ist doch das was du möchtest?
-
@JeGr said in Exim4: Mails vom Client zum SMTP Relayserver Transport verschlüsseln und User authentifizieren.:
OK und wenn da nur localhost drin ist? Dann müssten doch IMHO alle anderen sich sauber einloggen, sonst wird nichts relayed. Ist doch das was du möchtest?
Mmmh..., das könnte möglich sein. Bin der Meinung, exim4 braucht da die Einträge um in den Subnetzen zu lauschen.
Hier in der Wiki gibt es noch was zu TLS, Authentifizierung und Smarthost. Leider bekomme ich das so nicht zum laufen, zumal der zusätzliche Eintrag in der passwd.client die Mailweiterleitung verhindert. Wahrscheinlich weil ich nicht weiss, welcher User da eingetragen wird. Egal, ob localuser oder Mailadresse von Strato, det looft nicht.