OPNsense Forum

International Forums => German - Deutsch => Topic started by: Gandalf2434 on November 27, 2023, 08:24:10 pm

Title: OpnSense als Mailrelay [gelöst]
Post by: Gandalf2434 on November 27, 2023, 08:24:10 pm
Hallo zusammen,

ich möchte gerne meine Sense als Mailrelay nutzen, so dass die Systeme im internen Netz Mails an die Sense senden können und diese die Mails dann über einen öffentlichen Mailserver versenden.

Hierzu gab es auch schonmal eine Unterhaltung mit dem Ergebnis, dass diese Funktion hinzugefügt wurde: https://forum.opnsense.org/index.php?topic=7538.0

Leider steht hier gar nicht dabei wie das nun umzusetzen ist.
Ich habe das Plugin os-postfix installiert und habe es so konfiguriert, dass ich nun ohne Authentifizierung Mails von internen VLients in die Welt senden kann.
Was mir jedoch fehlt ist eben eine Authentifizierung an der Sense. Ich habe einen neuen User angelegt, finde allerdings keine Option um hier ein sasl für den smtpd zu setzen.

Auch kann ich nicht über den Smartrelay (in meinem Fall posteo) senden, ich kann nur direkt von der Sense an den Zielserver zustellen (damit komme ich z.B. nicht auf gmail-Adressen).

Ich habe eine Reolink-IP-Kamera die Mails bei Bewegungserkennung versenden kann. Das Interface der Kamera verlangt allerdings zwingend die Angabe einer Mailadresse und eines Passworts zur Authentisierung. Lasse ich die Felder einfach leer, kann ich die Konfiguration nicht speichern da es Muss-Felder sind. Ich will die Kamera aber nicht direkt ins Internet lassen damit sie mit einem Mailserver reden kann. Daher würde ich auch hierfür gerne die Sense nutzen, aber brauche wohl eine Authentisierung.

Gibt es hier evtl. jemand der mir hier einen guten Tipp geben könnte?
Title: Re: OpnSense als Mailrelay
Post by: Patrick M. Hausen on November 27, 2023, 08:46:00 pm
Services > Postfix > General

Smarthost eintragen, SMTP-Authentifizierung einschalten, Benutzernamen und Passwort für den externen Mail-Dienst eintragen.
Title: Re: OpnSense als Mailrelay
Post by: Gandalf2434 on November 27, 2023, 09:07:46 pm
Vielen Dank für Deine schnelle Antwort.

Wenn ich das so einstelle, dann verlangt er eine Authentifizierung von mir. Aber mit dem Benutzername und dem Passwort das ich angelegt habe nimmt er es nicht an.

Ich hatte bisher meine Netzwerke in die Trusted Networks hinzugefügt, dann konnte ich ihne Authentifizierung versenden (aber genau das ist ja mein Problem im Moment) ;)  Wenn ich das rausnehme geht es nicht.

Das Log sagt:
Code: [Select]
2023-11-27T21:06:10 Warning postfix/smtpd warning: unknown[10.10.99.102]: SASL PLAIN authentication failed: authentication failure
2023-11-27T21:06:10 Warning postfix/smtpd warning: SASL authentication failure: Password verification failed
2023-11-27T21:06:10 Error postfix/smtpd OTP unavailable because can't read/write key database /etc/opiekeys: Permission denied
2023-11-27T21:06:04 Warning postfix/smtpd warning: unknown[10.10.99.102]: SASL PLAIN authentication failed: authentication failure
2023-11-27T21:06:04 Warning postfix/smtpd warning: SASL authentication failure: Password verification failed
2023-11-27T21:06:04 Error postfix/smtpd OTP unavailable because can't read/write key database /etc/opiekeys: Permission denied
2023-11-27T21:06:04 Informational postfix/smtpd Anonymous TLS connection established from unknown[10.10.99.102]: TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-256) server-signature RSA-PSS (4096 bits) server-digest SHA256
2023-11-27T21:06:04 Informational postfix/smtpd connect from unknown[10.10.99.102]
Title: Re: OpnSense als Mailrelay
Post by: Patrick M. Hausen on November 27, 2023, 09:12:56 pm
Du trägst deine Netzwerke in die trusted networks ein. Diese liefern bei Postfix ohne Authentifizierung ein. Die genannten Einstellungen unter "Smarthost" betreffen nur die Authentifizierung beim externen Maildienst.

Läuft hier so seit Jahr und Tag ... Moment ... ich such mal, ob mir noch was auffällt.

Weiter untern den Haken bei:

[X] Permit Trusted Networks
Title: Re: OpnSense als Mailrelay
Post by: Gandalf2434 on November 27, 2023, 09:43:27 pm
Das funktioniert leider nicht. Das Log sagt folgendes.

Code: [Select]
2023-11-27T21:31:41 Informational postfix/smtp 6F18A223D10: to=<XXXXX@XXXXXXXXX>, relay=mx01.posteo.de[185.67.36.61]:25, delay=0.64, delays=0.01/0/0.63/0, dsn=4.7.0, status=deferred (host mx01.posteo.de[185.67.36.61] refused to talk to me: 421 4.7.0 mx01.posteo.de Error: too many errors)
2023-11-27T21:31:40 Informational postfix/smtp 6F18A223D10: host mx04.posteo.de[185.67.36.64] refused to talk to me: 421 4.7.0 mx04.posteo.de Error: too many errors
2023-11-27T21:31:40 Informational postfix/smtp 6F18A223D10: host mx03.posteo.de[185.67.36.70] refused to talk to me: 421 4.7.0 mx03.posteo.de Error: too many errors
2023-11-27T21:31:40 Informational postfix/smtp 6F18A223D10: host mx01.posteo.de[185.67.36.62] refused to talk to me: 421 4.7.0 mx01.posteo.de Error: too many errors
2023-11-27T21:31:40 Informational postfix/smtp 6F18A223D10: host mx03.posteo.de[185.67.36.63] refused to talk to me: 421 4.7.0 mx03.posteo.de Error: too many errors
2023-11-27T21:31:40 Informational postfix/smtpd disconnect from unknown[10.10.99.102] ehlo=2 starttls=1 mail=1 rcpt=1 data=1 quit=1 commands=7
2023-11-27T21:31:40 Informational postfix/qmgr 6F18A223D10: from=<XXXX@XXXXXX>, size=666, nrcpt=1 (queue active)
2023-11-27T21:31:40 Informational postfix/cleanup 6F18A223D10: message-id=<f20ef58dbb60bfbcb35146d1ad6b31f3e66b5fd9.camel@XXXXXX.XX>
2023-11-27T21:31:40 Informational postfix/smtpd 6F18A223D10: client=unknown[10.10.99.102]
2023-11-27T21:31:40 Warning postfix/smtpd warning: permit_tls_clientcerts is requested, but "smtpd_tls_ask_ccert = no"
2023-11-27T21:31:40 Error postfix/smtpd OTP unavailable because can't read/write key database /etc/opiekeys: Permission denied
2023-11-27T21:31:40 Informational postfix/smtpd Anonymous TLS connection established from unknown[10.10.99.102]: TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-256) server-signature RSA-PSS (4096 bits) server-digest SHA256
2023-11-27T21:31:40 Informational postfix/smtpd connect from unknown[10.10.99.102]

Mir ist dann aufgefallen, dass ich den Port nicht angegeben habe und habe dann für den SmartHost noch den Port angegeben, also "Posteo:587", doch auch das funktioniert nicht und liefert mir:

Code: [Select]
connect to mx04.posteo.de[185.67.36.71]:587: Operation timed out
Also dann noch ein Versuch über 465 (beide Ports bietet Posteo an, je nachdem ob STARTTLS oder normale TLS-Verbindung genutzt werden soll). Dafür muss ich dann noch bissl was umstellen: "requires setting "smtp_tls_wrappermode = yes", and "smtp_tls_security_level = encrypt" (or stronger)" sagt das Log.
Leider führt mich das auch wieder zu:
Code: [Select]
connect to mx01.posteo.de[185.67.36.62]:465: Operation timed out

Aber abgesehen davon, ist das alles ohne Authentifizierung gegen einen Usernamen. Tatsächlich würde ich ja aber gerne gegen einen Usernamen (Mail-Adresse & Passwort) authentifizieren.
Title: Re: OpnSense als Mailrelay
Post by: Patrick M. Hausen on November 27, 2023, 09:55:33 pm
Also bei der lokalen Geschichte kann ich dir nicht helfen, weil ich genau das nicht will. Ich benutze den Postfix als Relay für meine ganzen Systemnachrichten hier. Isoliertes privates Netz, und das NAS, die USV, etc. pp. sollen da einfach die Mail abkippen.

Die geht dann authentifiziert über meinen Provider raus. Ich bastel mal einen hinreichend anonymisierten Screenshot. Bezgl. Posteo musst du dann leider selbst gucken.
Title: Re: OpnSense als Mailrelay
Post by: mimugmail on November 28, 2023, 06:26:47 am
Erlaubt denn der Provider Verbindungen über diese Ports nach draußen? Also schon mal von der OPN einen Telnet auf die IP und Port gemacht? Dann wäre der Fehler schon mal eingegrenzt
Title: Re: OpnSense als Mailrelay
Post by: Gandalf2434 on November 28, 2023, 08:24:54 am
Also die Ports erreiche ich von der Sense aus, daran sollte es nicht hängen:

Code: [Select]
# telnet posteo.de 587
Trying 185.67.36.168...
Connected to posteo.de.
Escape character is '^]'.
220 submission01.posteo.de ESMTP Postfix

Code: [Select]
# telnet posteo.de 465
Trying 185.67.36.168...
Connected to posteo.de.
Escape character is '^]'.

VIelen Dank nochmal für due Hilfe.
Title: Re: OpnSense als Mailrelay
Post by: Gandalf2434 on November 28, 2023, 08:32:25 am
Also bei der lokalen Geschichte kann ich dir nicht helfen, weil ich genau das nicht will. Ich benutze den Postfix als Relay für meine ganzen Systemnachrichten hier. Isoliertes privates Netz, und das NAS, die USV, etc. pp. sollen da einfach die Mail abkippen.

Die geht dann authentifiziert über meinen Provider raus. Ich bastel mal einen hinreichend anonymisierten Screenshot. Bezgl. Posteo musst du dann leider selbst gucken.

Zwei Fragen hätte ich zu den Screenshots
1. Was steht in "Masquerade Domains"? Ist das dein Hostname der auch in "System Hostname" steht?
2. In welchem Format hast Du den Eintrag in "Smart Host" hinterlegt? Auch "Hostname:Port" ?

Ja ohne Authentifizierung ist im internen Netz natürlich schon praktisch und würde ich auch gerne so machen, wenn diese Reolink-Kameras nicht zwingend einen Benutzernamen und ein Passwort in der Oberfläche verlangen würden.

Vielen Dank.
Title: Re: OpnSense als Mailrelay
Post by: Patrick M. Hausen on November 28, 2023, 08:47:27 am
Smarthost ist fqdn:port. Masquerade ist die gewünschte Absenderdomain der Emails, also üblicherweise ohne einen Hostnamen.
Title: Re: OpnSense als Mailrelay [Gelöst]
Post by: Gandalf2434 on December 01, 2023, 08:09:20 am
Vielen Dank nochmal für eure Hilfe!
Ich habe die Relay-Thematik in den Griff bekommen und das funktioniert nun. Danke. Ich weiß am Ende nicht genau was der springende Punkte war, aber ich glaube es hing damit zu sammen, dass ich den fqdn in eckige Klammern gepackt habe.

Die Authentifizierungs-Thematik konnte ich hierüber nicht umsetzen. Ich habe dafür einen Linux-Container hergenommen der mittels OpenSMTPd und Authentifizierung die Mails annimmt, an die OpnSense weitergibt, und die gibt sie dann an Posteo.

OpenSMTPd weil mir der doch deutlich sympathischer ist, eine klare und einfache Syntax hat und für mich schneller umzusetzen war.

Hier nochmal meine Zusammenfassung, sollte es später für jmd interessant sein:

Das Plugin `os-postfix` muss installiert werden. Nach einem refresh der
GUI ist der entsprechende Menüpunkt unter Services vorhanden.

Es wird zunächst ein neues internes Server-Zertifikat erstellt! (System -> Trust -> Certificates)
 
Anpassen der Postfix-Config:
* enable: <aktivieren>
* System Hostname: <Eigener Domainname, z.B. mail.meinedomain.de>
* IP Version: IP4
* Trusted Networks: <Die Netze und/oder Hosts die den Relay nutzen>
* Masquerade Domains: <entsprechend z.B. meinedomain.de>
* Server Certificate: <das erzeugte Zertifikat>
* Root CA: <Die CA des Zertifikats>
* SMTP Client Security: encrypt
* Smart Host: [posteo.de]:587
* Enable SMTP Authentication: <aktivieren>
* Authentication Username: <Die Mailadresse des Posteo-Kontos>
* Authentication Password: <Passwort des Accounts>
* Reject Unknown Sender Domain: <deaktivieren>
* Reject Unknown Recipient Domain: <deaktivieren>
* Permit SASL Authenticated: <deaktivieren>
* Permit TLS Client Certificate Authenticated Users <deaktivieren>

Um später eine Mail von einem Service zu senden müssen folgende
Voraussetzungen erfüllt sein:
* Port 25/TCP vom Host auf die Firewall muss allowed sein
* Der Host muss im Postfix über die "Trusted Networks" abgedeckt sein.
  Hier können ganze Netze (z.B. /24) oder einzelne Hosts (/32) angegeben
  werden
* in der sendenden Applikation:
    * Port 25
    * Adresse der Sense im jeweiligen Netzwerk
    * Authentifizierung deaktivieren
    * STARTTLS

Viele Grüße
Title: Re: OpnSense als Mailrelay [gelöst]
Post by: knebb on December 02, 2023, 02:51:19 pm
Moin,

lass mich das mal zusammenfassen... dieser Aufwand, um die eine IP-Kamera nicht ins Netz zu lassen?  :o

Ich würde ja sagen, dass es einfacher ist, der Kamera Usernamen und Passwort vom offiziellen Mail-Server zu geben und in den Firewalleinstellungen sicherzustellen, dass diese Kamera wirklich ausschließlich mit diesem Server spricht (und sonst keinem).  ;D

Ich bin ein Freund von "KISS - Keep It Simple and Stupid"....

/KNEBB




Title: Re: OpnSense als Mailrelay [gelöst]
Post by: Gandalf2434 on December 03, 2023, 10:42:30 am
Der Aufwand den Postfix zu betreiben um alle Systeme im internen Netz auf einem einheitlichen Weg mit Mailanbindung zu versorgen.
Der Aufwand Container mir OpenSMTPd aufzusetzen um eine Kamera an diesen Standardisierten Weg anzubinen? Ja.

Wäre der Weg den Du beschreibst einfacher? Evtl. ja, aber es ist nunmal nicht der Weg den ich angestrebt habe. Zumal ich auch gewissen akademischen Antrieb hatte das so umzusetzen und keine Abkürzung zu nehmen.

Grüße
Title: Re: OpnSense als Mailrelay [gelöst]
Post by: Stephan4711 on March 14, 2024, 02:20:14 pm
@Gandalf2434
kannst du mir deine opensmtpd config als sample zukommen lassen? Ich habe genau das selbe problem.
Ich habe zwar auch ein Ticket aufgemacht bei reolink und mich beschwert, aber ob das was wird...
Ich habe mit opensmtpd noch nie was gemacht daher wäre mir deine config eine große Hilfe.

Vielen Dank schon mal.