OpenSMTPD - Einrichtungshilfe IONOS

Debian macht sich hervorragend als Web- und Mailserver. Schau auch in den " Tipps und Tricks"-Bereich.
Antworten
Krischeu01
Beiträge: 2
Registriert: 29.04.2024 11:44:39

OpenSMTPD - Einrichtungshilfe IONOS

Beitrag von Krischeu01 » 30.04.2024 10:58:50

Hi,
ich möchte meine rsyslog Meldungen gerne als eMail versenden.
Da das nur mit Authentifizierung funktioniert, muß wohl der Host als Relay erstmal eingerichtet werden.

Mein System ist ein Debian V12.5.

Die Anleitung für OpenSMTPD hab ich hier genommen:
https://www.blunix.com/blog/secure-smtp ... stfix.html

Ich bekomme aber beim starten immer Syntax error Zeile 7 und 9

Hat da mal jemand einen Tip?

/etc/smtp.conf

Code: Alles auswählen

table relay_secrets file:/etc/smtpd/tables/relay_secrets
listen on lo port 25 mask-src hostname SVR008
listen on socket mask-src
action "relay_abc_def" relay tls host smtp://abc.def@smtp.ionos.de:587 auth
match from local mail-from "edv.system@asdf.de" for any action "relay_edv_system"
match from any reject
/etc/smtpd/tables/relay_secrets

Code: Alles auswählen

relay_abc_def abc.def@domain.de:3fPd4asdfasdf2345
Zuletzt geändert von Krischeu01 am 06.05.2024 08:32:37, insgesamt 1-mal geändert.

blunix
Beiträge: 11
Registriert: 19.04.2024 14:10:33

Re: OpenSMTPD - Einrichtungshilfe IONOS

Beitrag von blunix » 30.04.2024 12:16:57

Hi,

freut mich, dass Du unseren Blogpost gefunden hast ;) Copy paste mal die Fehlermeldung bitte.

blunix
Beiträge: 11
Registriert: 19.04.2024 14:10:33

Re: OpenSMTPD - Einrichtungshilfe IONOS

Beitrag von blunix » 30.04.2024 13:49:44

Ok - ich hab das kurz auf einem unserer Test-Server mit Deiner Config nachgestellt und dabei den Fehler bei uns gefunden. Wir schreiben unsere Blogposts direkt in HTML, damit die Website unhackable ist und extrem schnell läd. Ich habe dabei bei dieser Section im Blogpost:

Code: Alles auswählen

action "relay_monitoring"     relay tls host smtp://monitoring@smtp.gmail.com:587     auth <relay_secrets>
action "relay_booking"        relay tls host smtp://booking@smtp.gmail.com:587        auth <relay_secrets>
action "relay_password_reset" relay tls host smtp://password_reset@smtp.gmail.com:587 auth <relay_secrets>
statt dem "&lt;" ein einfaches < geschrieben, was in HTML dann nicht angezeigt wird. Bitte entschuldige den Fehler und vielen Dank für das finden des Bugs. Ich habe das im Blogpost direkt korrigiert.

Ich habe Deine Config-Files berichtigt und noch ein zwei Sachen angepasst:

/etc/smtpd.conf

Code: Alles auswählen

table relay_secrets file:/etc/smtpd/tables/relay_secrets
listen on lo port 25 mask-src hostname example.com
listen on socket mask-src
action "relay_edv_system" relay tls host smtp://edv_system_example_com@smtp.ionos.de:587 auth <relay_secrets>
match from local mail-from "edv.system@example.com" for any action "relay_edv_system"
match from any reject
/etc/smtpd/tables/relay_secrets

Code: Alles auswählen

# Syntax: alias smtp-username:smtp-password
edv_system_example_com edv.system@example.com:3fPd4asdfasdf2345

Erklärungen zu /etc/smtpd.conf:

Zeile 2: Schreibe in Zeile 2 die Main Domain deiner Firma (also example.com, oder wenn Du das Forum hier administrieren würdest dann debianforum.de), nicht den Hostname des Servers, an welchem Du arbeitest. Das taucht sonst später in den Mails an die Kunden auf, und die müssen nicht wissen, wie Dein System intern benannt wird. Wenn Du die Mails nur intern verschickst ist das egal. Es schadet aber auch nix. Siehe an dieser Stelle im Blogpost über die hostname Direktive:
https://www.blunix.com/blog/secure-smtp ... -mailrelay
STRG + f "DO NOT!!! put the actual servers hostname here!" für nährere Infos dazu.

In Zeile 4:

Code: Alles auswählen

smtp://edv_system_example_com@smtp.ionos.de:587
- das edv_system_example_com bezieht sich auf die erste Spalte in der /etc/smtpd/tables/relay_secrets. In dem Passwörter File gibst Du quasi ein Pseudonym für diesen SMTP Account an, das ist in dem Fall "edv_system_example_com". In der Blogpost Section über den relay_secrets_table ist das auch beschrieben:
https://www.blunix.com/blog/secure-smtp ... rets-table

Zeile 5 war wie schon gesagt mein Fehler, hier fehlt am Ende nach "auth" einfach ein <relay_secrets>. Das <relay_secrets> bezieht sich auf den Table, welcher in Zeile 1 von /etc/smtpd.conf erstellt wird; das table relay_secrets file:/etc/smtpd/tables/relay_secrets.

Außerdem: Du hast den Namen Deiner Firma mit in den Blogpost geschrieben in der /etc/smtpd.conf, ich habe daraus in meinem Beispiel example.com gemacht. Den willst Du evtl noch raus-editieren.


Erklärung zu /etc/smtpd/tables/relay_secrets: Das ist relativ klar, in deiner Config oben hast Du in der ersten Spalte aber "relay_abc_def" geschrieben. Das ist hier wie gesagt nur ein Pseudonym, und bezieht sich nicht auf die action relay_edv_system selbst aus Zeile 4. Schreib hier sowas wie "monitoring_email" oder "newsletter_email" oder "email_fuer_alles". Auch gängig, wenn Du sehr viele E-Mail Adressen hast, wäre sowas wie edv_system_example_com. Ich habe das oben in dem Beispiel direkt so umgeschrieben.

Mit den Config Files aus diesem Post startet OpenSMTPD nun auf Debian 12 korrekt:

Code: Alles auswählen

root@server:~# systemctl restart opensmtpd.service
root@server:~# systemctl status opensmtpd.service
● opensmtpd.service - OpenSMTPD SMTP server
     Loaded: loaded (/lib/systemd/system/opensmtpd.service; enabled; preset: enabled)
     Active: active (running) since Tue 2024-04-30 12:04:56 UTC; 31ms ago
       Docs: man:smtpd(8)
    Process: 23552 ExecStart=/usr/sbin/smtpd (code=exited, status=0/SUCCESS)
   Main PID: 23553 (smtpd)
      Tasks: 7 (limit: 2251)
     Memory: 7.1M
        CPU: 42ms
     CGroup: /system.slice/opensmtpd.service
             ├─23553 /usr/sbin/smtpd
             ├─23554 /usr/sbin/smtpd -x ca
             ├─23555 /usr/sbin/smtpd -x control
             ├─23558 /usr/sbin/smtpd -x lka
             ├─23559 /usr/sbin/smtpd -x pony
             ├─23560 /usr/sbin/smtpd -x queue
             └─23561 /usr/sbin/smtpd -x scheduler
Bitte lass mich wissen ob jetzt alles funktioniert, und ob noch irgendwas an dem Blogpost unklar oder unverständlich war, dann wird das direkt berichtigt.

Antworten