home-harmening:sicherheit:email_versand

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Nächste Überarbeitung
Vorhergehende Überarbeitung
home-harmening:sicherheit:email_versand [2024/12/02 15:11] – angelegt charmeninghome-harmening:sicherheit:email_versand [2024/12/02 15:21] (aktuell) charmening
Zeile 6: Zeile 6:
 SMTP Server versenden.\\ SMTP Server versenden.\\
 \\ \\
-=== Postfix Installation ===+==== Postfix Installation ====
 Als Email Server verwende ich Postfix. Als Email Server verwende ich Postfix.
 <code Bash>apt install postfix ca-certificates libsasl2-modules</code> <code Bash>apt install postfix ca-certificates libsasl2-modules</code>
Zeile 12: Zeile 12:
 Bei der Serverauswahl bitte den "internet" Server auswählen.\\ Bei der Serverauswahl bitte den "internet" Server auswählen.\\
 \\ \\
-=== Postfix Konfigurieren ===+==== Postfix Konfigurieren ====
 Wir benötigen zwei Dateien\\ Wir benötigen zwei Dateien\\
 die main.cf als Hauptkonfigurationsdatei von Postfix und die sasl_passwd Datei für unseren Benutzernamen und das Passwort des SMTP Servers.\\ die main.cf als Hauptkonfigurationsdatei von Postfix und die sasl_passwd Datei für unseren Benutzernamen und das Passwort des SMTP Servers.\\
Zeile 54: Zeile 54:
 smtpd_helo_restrictions = reject_invalid_helo_hostname smtpd_helo_restrictions = reject_invalid_helo_hostname
 </code> </code>
 +\\
 |**Parameter**|**Wert**|**Erklärung**| |**Parameter**|**Wert**|**Erklärung**|
-|myhostname|mail.deinedomain.de|Der Hostname des Servers. Dies\\ sollte dem Domainnamen deines\\ Servers entsprechen.| +|myhostname|servername.mydomain.de|Der Hostname des Servers. Dies\\ sollte dem Domainnamen deines\\ Servers entsprechen.| 
-|mydomain|deinedomain.de|Der Domainname, unter dem der Server erreichbar ist.| +|mydomain|mydomain.de|Der Domainname, unter dem der Server\\ erreichbar ist.| 
-|myorigin|/etc/mailname|Der Ursprung der E-Mails, wenn sie gesendet werden. Normalerweise der Domainname des Servers.| +|myorigin|/etc/mailname|Der Ursprung der E-Mails, wenn sie\\ gesendet werden. Normalerweise der\\ Domainname des Servers.| 
-|inet_interfaces|loopback-only|Postfix hört nur auf der lokalen Netzwerk-Schnittstelle (127.0.0.1). Dies bedeutet, dass der Server keine eingehenden E-Mails akzeptiert.| +|inet_interfaces|loopback-only|Postfix hört nur auf der lokalen\\ Netzwerk-Schnittstelle (127.0.0.1).\\ Dies bedeutet, dass der Server\\ keine eingehenden E-Mails akzeptiert.| 
-|inet_protocols|ipv4|Postfix wird nur das IPv4-Protokoll verwenden. Verhindert, dass der Server IPv6 verwendet, wenn es nicht benötigt wird.| +|inet_protocols|ipv4|Postfix wird nur das IPv4-Protokoll\\ verwenden. Verhindert, dass der Server\\ IPv6 verwendet, wenn es nicht\\ benötigt wird.| 
-|mydestination|$myhostname, localhost.$mydomain, localhost|Bestimmt, welche Domains als Ziel für eingehende E-Mails akzeptiert werden. Da `inet_interfaces = loopback-only`, sind keine externen Ziele erlaubt.| +|mydestination|$myhostname, localhost.$mydomain, localhost|Bestimmt, welche Domains als Ziel\\ für eingehende E-Mails akzeptiert\\ werden. Da `inet_interfaces =\\ loopback-only`, sind keine\\ externen Ziele erlaubt.| 
-|relayhost|[smtp.strato.de]:587|Der Strato SMTP-Server, über den E-Mails gesendet werden. Der Port 587 ist für verschlüsseltes SMTP (TLS).| +|relayhost|[smtp.strato.de]:587|Der Strato SMTP-Server, über den\\ E-Mails gesendet werden. Der Port\\ 587 ist für verschlüsseltes SMTP\\ (TLS).| 
-|smtp_sasl_auth_enable|yes|Aktiviert die SASL-Authentifizierung für den ausgehenden SMTP-Verkehr, um sich beim Strato-Server anzumelden.| +|smtp_sasl_auth_enable|yes|Aktiviert die SASL-Authentifizierung\\ für den ausgehenden SMTP-Verkehr,\\ um sich beim Strato-Server anzumelden.| 
-|smtp_sasl_password_maps|hash:/etc/postfix/sasl_passwd|Gibt den Speicherort der Datei an, die die SMTP-Authentifizierungsdaten enthält (Benutzername und Passwort).| +|smtp_sasl_password_maps|hash:/etc/postfix/sasl_passwd|Gibt den Speicherort der Datei an,\\ die die SMTP-Authentifizierungsdaten\\ enthält (Benutzername und Passwort).| 
-|smtp_sasl_security_options|noanonymous|Verhindert anonyme Authentifizierung und stellt sicher, dass eine ordnungsgemäße Benutzeridentifikation erfolgt.| +|smtp_sasl_security_options|noanonymous|Verhindert anonyme Authentifizierung\\ und stellt sicher, dass eine\\ ordnungsgemäße Benutzeridentifikation\\ erfolgt.| 
-|smtp_tls_security_level|may|TLS (Transport Layer Security) wird verwendet, wenn der SMTP-Server es unterstützt, ist aber nicht zwingend erforderlich.| +|smtp_tls_security_level|may|TLS (Transport Layer Security) wird\\ verwendet, wenn der SMTP-Server es\\ unterstützt, ist aber nicht\\ zwingend erforderlich.| 
-|smtp_tls_loglevel|1|Setzt das Log-Level für TLS-Verbindungen. Wert 1 zeigt grundlegende TLS-Fehler an.| +|smtp_tls_loglevel|1|Setzt das Log-Level für TLS-Verbindungen.\\ Wert 1 zeigt grundlegende TLS-Fehler\\ an.| 
-|smtp_tls_CAfile|/etc/ssl/certs/ca-certificates.crt|Der Pfad zu den Zertifikaten von vertrauenswürdigen Zertifizierungsstellen, um TLS-Verbindungen abzusichern.| +|smtp_tls_CAfile|/etc/ssl/certs/ca-certificates.crt|Der Pfad zu den Zertifikaten von\\ vertrauenswürdigen Zertifizierungsstellen,\\ um TLS-Verbindungen abzusichern.| 
-|smtp_connect_timeout|60s|Legt die maximale Zeit fest, die Postfix wartet, um eine Verbindung zum SMTP-Server herzustellen, bevor ein Timeout erfolgt.| +|smtp_connect_timeout|60s|Legt die maximale Zeit fest, die Postfix\\ wartet, um eine Verbindung zum SMTP-Server\\ herzustellen, bevor ein Timeout\\ erfolgt.| 
-|smtp_helo_timeout|60s|Legt den Timeout-Wert für den `HELO`-Befehl fest, der zu Beginn der SMTP-Verbindung gesendet wird.| +|smtp_helo_timeout|60s|Legt den Timeout-Wert für den `HELO`-Befehl\\ fest, der zu Beginn der SMTP-Verbindung\\ gesendet wird.| 
-|smtp_send_xforward_command|no|Verhindert das Senden des `XFORWARD`-Befehls, um unnötige Informationen zu vermeiden.| +|smtp_send_xforward_command|no|Verhindert das Senden des `XFORWARD`-Befehls,\\ um unnötige Informationen zu vermeiden.| 
-|smtpd_banner|$myhostname ESMTP Postfix|Definiert das Banner, das der Server anzeigt, wenn er sich mit einem anderen SMTP-Server verbindet.| +|smtpd_banner|$myhostname ESMTP Postfix|Definiert das Banner, das der Server\\ anzeigt, wenn er sich mit einem anderen\\ SMTP-Server verbindet.| 
-|smtpd_tls_security_level|none|Deaktiviert TLS für eingehende Verbindungen (da der Server keine E-Mails von außen empfängt).| +|smtpd_tls_security_level|none|Deaktiviert TLS für eingehende\\ Verbindungen (da der Server keine\\ E-Mails von außen empfängt).| 
-|smtpd_sasl_auth_enable|no|Deaktiviert SASL-Authentifizierung für eingehende Verbindungen (da keine externen E-Mails empfangen werden).| +|smtpd_sasl_auth_enable|no|Deaktiviert SASL-Authentifizierung für\\ eingehende Verbindungen (da keine\\ externen E-Mails empfangen werden).| 
-|smtpd_recipient_restrictions|reject|Verhindert das Akzeptieren von eingehenden E-Mails, indem alle Empfängeranfragen abgelehnt werden.| +|smtpd_recipient_restrictions|reject|Verhindert das Akzeptieren von\\ eingehenden E-Mails, indem alle\\ Empfängeranfragen abgelehnt werden.| 
-|local_recipient_maps||Keine lokalen Empfänger, da der Server keine E-Mails empfängt.| +|local_recipient_maps||Keine lokalen Empfänger, da der Server\\ keine E-Mails empfängt.| 
-|mynetworks|127.0.0.0/8|Beschränkt den Zugang zum Server nur auf die lokale Maschine (127.0.0.1).| +|mynetworks|127.0.0.0/8|Beschränkt den Zugang zum Server nur\\ auf die lokale Maschine (127.0.0.1).| 
-|relay_domains||Leere Einstellung, da der Server keine externen E-Mails empfangen kann.| +|relay_domains||Leere Einstellung, da der Server\\ keine externen E-Mails empfangen\\ kann.| 
-|smtpd_helo_required|yes|Erfordert, dass der SMTP-Client beim Verbinden einen gültigen `HELO`-Befehl sendet.| +|smtpd_helo_required|yes|Erfordert, dass der SMTP-Client beim\\ Verbinden einen gültigen `HELO`-Befehl\\ sendet.| 
-|smtpd_helo_restrictions|reject_invalid_helo_hostname|Verweigert Verbindungen mit ungültigen `HELO`-Hostnamen, um Missbrauch zu verhindern.|+|smtpd_helo_restrictions|reject_invalid_helo_hostname|Verweigert Verbindungen mit ungültigen\\ `HELO`-Hostnamen, um Missbrauch\\ zu verhindern.| 
 +\\ 
 +Jetz muss die Passwortdatei /etc/postfix/sasl_passwd erstellt werden.\\ 
 +<code Bash>nano /etc/postfix/sasl_passwd</code> 
 +<code Bash> 
 +[smtp.strato.de]:587 deinBenutzername:deinPasswort 
 +</code> 
 +<code Bash> 
 +postmap /etc/postfix/sasl_passwd 
 +chmod 600 /etc/postfix/sasl_passwd* 
 +</code> 
 +\\ 
 +==== Test ==== 
 +Zunächst müssen wir prüfen ob wir den SMTP Server von Strato erreichen. 
 +Dies kann mit netcat erfolgen. 
 +<code Bash> 
 +nc -vz smtp.strato.de 587
  
 +Connection to smtp.strato.de (81.169.145.133) 587 port [tcp/submission] succeeded!
 +</code>
 +\\
 +Eine Testmail kann mit dem Paket mail-utils versendet werden.
 +<code Bash>echo -e "Subject: Test\n\nDies ist eine Testmail." | sendmail -v deinemail@zieladresse.de
 +</code>