diff --git a/docs/prerequisite/prerequisite-dns.de.md b/docs/prerequisite/prerequisite-dns.de.md new file mode 100644 index 000000000..05f66c9d5 --- /dev/null +++ b/docs/prerequisite/prerequisite-dns.de.md @@ -0,0 +1,130 @@ +Nachstehend finden Sie eine Liste von **empfohlenen DNS-Einträgen**. Einige sind für einen Mailserver obligatorisch (A, MX), andere werden empfohlen, um eine gute Reputation aufzubauen (TXT/SPF) oder für die automatische Konfiguration von Mailclients verwendet (SRV). + +## Referenzen + +- Ein guter Artikel, der alle relevanten Themen abdeckt: + ["3 DNS Records Every Email Marketer Must Know"](https://www.rackaid.com/blog/email-dns-records) +- Ein weiterer guter Artikel, aber mit Zimbra als Beispielplattform: + ["Best Practices on Email Protection: SPF, DKIM and DMARC"](https://wiki.zimbra.com/wiki/Best_Practices_on_Email_Protection:_SPF,_DKIM_and_DMARC) +- Eine ausführliche Diskussion über SPF, DKIM und DMARC: + ["Wie Sie Spam beseitigen und Ihren Namen mit DMARC schützen"](https://www.skelleton.net/2015/03/21/how-to-eliminate-spam-and-protect-your-name-with-dmarc/) +- Ein ausführlicher Leitfaden zum Verständnis von DMARC: +["Entmystifizierung von DMARC: Ein Leitfaden zur Verhinderung von E-Mail-Spoofing"](https://seanthegeek.net/459/demystifying-dmarc/) + + +## Reverse DNS Ihrer IP-Adresse + +Stellen Sie sicher, dass der PTR-Eintrag Ihrer IP-Adresse mit dem FQDN Ihres mailcow-Hosts übereinstimmt: `${MAILCOW_HOSTNAME}` [^1]. Dieser Eintrag wird normalerweise bei dem Provider gesetzt, von dem Sie die IP-Adresse (Server) gemietet haben. + +## Die minimale DNS-Konfiguration + +Dieses Beispiel zeigt Ihnen eine Reihe von Einträgen für eine von mailcow verwaltete Domain. Jede Domain, die zu mailcow hinzugefügt wird, benötigt mindestens diesen Satz an Einträgen, um korrekt zu funktionieren. + +``` +# Name Typ Wert +mail IN A 1.2.3.4 +autodiscover IN CNAME mail.example.org. (Ihr ${MAILCOW_HOSTNAME}) +autoconfig IN CNAME mail.example.org. (Ihr ${MAILCOW_HOSTNAME}) +@ IN MX 10 mail.example.org. (Ihr ${MAILCOW_HOSTNAME}) +``` + +## DKIM, SPF und DMARC + +Im folgenden Beispiel für eine DNS-Zonendatei wird ein einfacher **SPF** TXT-Eintrag verwendet, um nur DIESEM Server (dem MX) zu erlauben, E-Mails für Ihre Domäne zu senden. Jeder andere Server ist nicht zugelassen, kann es aber tun ("`~all`"). Weitere Informationen finden Sie im [SPF-Projekt] (http://www.open-spf.org/). + +``` +# Name Typ Wert +@ IN TXT "v=spf1 mx a -all" +``` + +Es wird dringend empfohlen, einen **DKIM** TXT-Eintrag in Ihrer mailcow UI zu erstellen und den entsprechenden TXT-Eintrag in Ihren DNS-Einträgen zu setzen. Bitte lesen Sie [OpenDKIM](http://www.opendkim.org) für weitere Informationen. + +``` +# Name Typ Wert +dkim._domainkey IN TXT "v=DKIM1; k=rsa; t=s; s=email; p=..." +``` + +Der letzte Schritt, um sich selbst und andere zu schützen, ist die Implementierung eines **DMARC** TXT-Datensatzes, zum Beispiel mit Hilfe des [DMARC-Assistenten](http://www.kitterman.com/dmarc/assistant.html) ([check](https://dmarcian.com/dmarc-inspector/google.com)). + +``` +# Name Typ Wert +_dmarc IN TXT "v=DMARC1; p=reject; rua=mailto:mailauth-reports@example.org" +``` + +## Die erweiterte DNS-Konfiguration + +**SRV**-Einträge geben den/die Server für ein bestimmtes Protokoll in Ihrer Domäne an. Wenn Sie einen Dienst explizit als nicht bereitgestellt ankündigen wollen, geben Sie "." als Zieladresse an (statt "mail.example.org."). Bitte beachten Sie [RFC 2782] (https://tools.ietf.org/html/rfc2782). + +``` +# Name Typ Priorität Gewicht Port Wert +_autodiscover._tcp IN SRV 0 1 443 mail.example.org. (Ihr ${MAILCOW_HOSTNAME}) +_caldavs._tcp IN SRV 0 1 443 mail.example.org. (Ihr ${MAILCOW_HOSTNAME}) +_caldavs._tcp IN TXT "path=/SOGo/dav/" +_carddavs._tcp IN SRV 0 1 443 mail.example.org. (Ihr ${MAILCOW_HOSTNAME}) +_carddavs._tcp IN TXT "path=/SOGo/dav/" +_imap._tcp IN SRV 0 1 143 mail.example.org. (Ihr ${MAILCOW_HOSTNAME}) +_imaps._tcp IN SRV 0 1 993 mail.example.org. (Ihr ${MAILCOW_HOSTNAME}) +_pop3._tcp IN SRV 0 1 110 mail.example.org. (Ihr ${MAILCOW_HOSTNAME}) +_pop3s._tcp IN SRV 0 1 995 mail.example.org. (Ihr ${MAILCOW_HOSTNAME}) +_sieve._tcp IN SRV 0 1 4190 mail.example.org. (Ihr ${MAILCOW_HOSTNAME}) +_smtps._tcp IN SRV 0 1 465 mail.example.org. (Ihr ${MAILCOW_HOSTNAME}) +_submission._tcp IN SRV 0 1 587 mail.example.org. (Ihr ${MAILCOW_HOSTNAME}) +``` + +## Testen + +Hier finden Sie einige Tools, mit denen Sie Ihre DNS-Konfiguration überprüfen können: + +- [MX Toolbox](https://mxtoolbox.com/SuperTool.aspx) (DNS, SMTP, RBL) +- [port25.com](https://www.port25.com/dkim-wizard/) (DKIM, SPF) +- [Mail-Tester](https://www.mail-tester.com/) (DKIM, DMARC, SPF) +- [DMARC-Analysator](https://www.dmarcanalyzer.com/spf/checker/) (DMARC, SPF) +- [MultiRBL.valli.org](http://multirbl.valli.org/) (DNSBL, RBL, FCrDNS) + +## Verschiedenes + +### Optionale DMARC-Statistiken + +Wenn Sie an Statistiken interessiert sind, können Sie sich zusätzlich bei einem der vielen unten aufgeführten DMARC-Statistikdienste anmelden - oder Ihre eigene Statistik selbst hosten. + +!!! Tipp +Es ist zu bedenken, dass wenn Sie DMARC-Statistik-Berichte an Ihren Mailcow-Server anfordern und Ihr Mailcow-Server nicht korrekt für den Empfang dieser Berichte konfiguriert ist, Sie möglicherweise keine genauen und vollständigen Ergebnisse erhalten. Bitte erwägen Sie die Verwendung einer alternativen E-Mail-Domain für den Empfang von DMARC-Berichten. + +Es ist erwähnenswert, dass die folgenden Vorschläge keine umfassende Liste aller verfügbaren Dienste und Tools sind, sondern nur eine kleine Auswahl der vielen Möglichkeiten. + +- [Postmaster Tool](https://gmail.com/postmaster) +- [parsedmarc](https://github.com/domainaware/parsedmarc) (selbst gehostet) +- [Fraudmarc](https://fraudmarc.com/) +- [Postmark](https://dmarc.postmarkapp.com) +- [Dmarcian](https://dmarcian.com/) + +!!! Tipp + +Diese Dienste stellen Ihnen möglicherweise einen TXT-Eintrag zur Verfügung, den Sie in Ihre DNS-Einträge einfügen müssen, so wie es der Anbieter vorschreibt. Bitte stellen Sie sicher, dass Sie die Dokumentation des Anbieters des von Ihnen gewählten Dienstes lesen, da dieser Prozess variieren kann. + +### E-Mail-Test für SPF, DKIM und DMARC: + +Um eine rudimentäre E-Mail-Authentifizierungsprüfung durchzuführen, senden Sie eine E-Mail an `check-auth at verifier.port25.com` und warten Sie auf eine Antwort. Sie werden einen Bericht ähnlich dem folgenden finden: + +``` +========================================================== +Zusammenfassung der Ergebnisse +========================================================== +SPF-Prüfung: bestanden +"iprev"-Prüfung: bestanden +DKIM-Prüfung: bestanden +DKIM-Prüfung: bestanden +SpamAssassin-Prüfung: ham + +========================================================== +Einzelheiten: +========================================================== +.... +``` + +Der vollständige Bericht enthält weitere technische Details. + + +### Fully Qualified Domain Name (FQDN) + +[^1]: Ein **Fully Qualified Domain Name** (**FQDN**) ist der vollständige (absolute) Domänenname für einen bestimmten Computer oder Host im Internet. Der FQDN besteht aus mindestens drei Teilen, die durch einen Punkt getrennt sind: dem Hostnamen, dem Domänennamen und der Top Level Domain (kurz **TLD**). Im Beispiel `mx.mailcow.email` wäre der Hostname `mx`, der Domainname `mailcow` und die TLD `email`. \ No newline at end of file diff --git a/docs/prerequisite/prerequisite-dns.en.md b/docs/prerequisite/prerequisite-dns.en.md new file mode 100644 index 000000000..161238529 --- /dev/null +++ b/docs/prerequisite/prerequisite-dns.en.md @@ -0,0 +1,130 @@ +Below you can find a list of **recommended DNS records**. While some are mandatory for a mail server (A, MX), others are recommended to build a good reputation score (TXT/SPF) or used for auto-configuration of mail clients (SRV). + +## References + +- A good article covering all relevant topics: + ["3 DNS Records Every Email Marketer Must Know"](https://www.rackaid.com/blog/email-dns-records) +- Another great one, but Zimbra as an example platform: + ["Best Practices on Email Protection: SPF, DKIM and DMARC"](https://wiki.zimbra.com/wiki/Best_Practices_on_Email_Protection:_SPF,_DKIM_and_DMARC) +- An in-depth discussion of SPF, DKIM and DMARC: + ["How to eliminate spam and protect your name with DMARC"](https://www.skelleton.net/2015/03/21/how-to-eliminate-spam-and-protect-your-name-with-dmarc/) +- A thorough guide on understanding DMARC: +["Demystifying DMARC: A guide to preventing email spoofing"](https://seanthegeek.net/459/demystifying-dmarc/) + + +## Reverse DNS of your IP address + +Make sure that the PTR record of your IP address matches the FQDN of your mailcow host: `${MAILCOW_HOSTNAME}` [^1]. This record is usually set at the provider you leased the IP address (server) from. + +## The minimal DNS configuration + +This example shows you a set of records for one domain managed by mailcow. Each domain that is added to mailcow needs at least this set of records to function correctly. + +``` +# Name Type Value +mail IN A 1.2.3.4 +autodiscover IN CNAME mail.example.org. (your ${MAILCOW_HOSTNAME}) +autoconfig IN CNAME mail.example.org. (your ${MAILCOW_HOSTNAME}) +@ IN MX 10 mail.example.org. (your ${MAILCOW_HOSTNAME}) +``` + +## DKIM, SPF and DMARC + +In the example DNS zone file snippet below, a simple **SPF** TXT record is used to only allow THIS server (the MX) to send mail for your domain. Every other server is disallowed but able to ("`~all`"). Please refer to [SPF Project](http://www.open-spf.org/) for further reading. + +``` +# Name Type Value +@ IN TXT "v=spf1 mx a -all" +``` + +It is highly recommended to create a **DKIM** TXT record in your mailcow UI and set the corresponding TXT record in your DNS records. Please refer to [OpenDKIM](http://www.opendkim.org) for further reading. + +``` +# Name Type Value +dkim._domainkey IN TXT "v=DKIM1; k=rsa; t=s; s=email; p=..." +``` + +The last step in protecting yourself and others is the implementation of a **DMARC** TXT record, for example by using the [DMARC Assistant](http://www.kitterman.com/dmarc/assistant.html) ([check](https://dmarcian.com/dmarc-inspector/google.com)). + +``` +# Name Type Value +_dmarc IN TXT "v=DMARC1; p=reject; rua=mailto:mailauth-reports@example.org" +``` + +## The advanced DNS configuration + +**SRV** records specify the server(s) for a specific protocol on your domain. If you want to explicitly announce a service as not provided, give "." as the target address (instead of "mail.example.org."). Please refer to [RFC 2782](https://tools.ietf.org/html/rfc2782). + +``` +# Name Type Priority Weight Port Value +_autodiscover._tcp IN SRV 0 1 443 mail.example.org. (your ${MAILCOW_HOSTNAME}) +_caldavs._tcp IN SRV 0 1 443 mail.example.org. (your ${MAILCOW_HOSTNAME}) +_caldavs._tcp IN TXT "path=/SOGo/dav/" +_carddavs._tcp IN SRV 0 1 443 mail.example.org. (your ${MAILCOW_HOSTNAME}) +_carddavs._tcp IN TXT "path=/SOGo/dav/" +_imap._tcp IN SRV 0 1 143 mail.example.org. (your ${MAILCOW_HOSTNAME}) +_imaps._tcp IN SRV 0 1 993 mail.example.org. (your ${MAILCOW_HOSTNAME}) +_pop3._tcp IN SRV 0 1 110 mail.example.org. (your ${MAILCOW_HOSTNAME}) +_pop3s._tcp IN SRV 0 1 995 mail.example.org. (your ${MAILCOW_HOSTNAME}) +_sieve._tcp IN SRV 0 1 4190 mail.example.org. (your ${MAILCOW_HOSTNAME}) +_smtps._tcp IN SRV 0 1 465 mail.example.org. (your ${MAILCOW_HOSTNAME}) +_submission._tcp IN SRV 0 1 587 mail.example.org. (your ${MAILCOW_HOSTNAME}) +``` + +## Testing + +Here are some tools you can use to verify your DNS configuration: + +- [MX Toolbox](https://mxtoolbox.com/SuperTool.aspx) (DNS, SMTP, RBL) +- [port25.com](https://www.port25.com/dkim-wizard/) (DKIM, SPF) +- [Mail-tester](https://www.mail-tester.com/) (DKIM, DMARC, SPF) +- [DMARC Analyzer](https://www.dmarcanalyzer.com/spf/checker/) (DMARC, SPF) +- [MultiRBL.valli.org](http://multirbl.valli.org/) (DNSBL, RBL, FCrDNS) + +## Misc + +### Optional DMARC Statistics + +If you are interested in statistics, you can additionally register with some of the many below DMARC statistic services - or self-host your own. + +!!! Tip +It is worth considering that if you request DMARC statistic reports to your mailcow server and your mailcow server is not configured correctly to receive these reports, you may not get accurate and complete results. Please consider using an alternative email domain for receiving DMARC reports. + +It is worth mentioning, that the following suggestions are not a comprehensive list of all services and tools available, but only a small few of the many choices. + +- [Postmaster Tool](https://gmail.com/postmaster) +- [parsedmarc](https://github.com/domainaware/parsedmarc) (self-hosted) +- [Fraudmarc](https://fraudmarc.com/) +- [Postmark](https://dmarc.postmarkapp.com) +- [Dmarcian](https://dmarcian.com/) + +!!! Tip + +These services may provide you with a TXT record you need to insert into your DNS records as the provider specifies. Please ensure you read the provider's documentation from the service you choose as this process may vary. + +### Email test for SPF, DKIM and DMARC: + +To run a rudimentary email authentication check, send a mail to `check-auth at verifier.port25.com` and wait for a reply. You will find a report similar to the following: + +``` +========================================================== +Summary of Results +========================================================== +SPF check: pass +"iprev" check: pass +DKIM check: pass +DKIM check: pass +SpamAssassin check: ham + +========================================================== +Details: +========================================================== +.... +``` + +The full report will contain more technical details. + + +### Fully Qualified Domain Name (FQDN) + +[^1]: A **Fully Qualified Domain Name** (**FQDN**) is the complete (absolute) domain name for a specific computer or host, on the Internet. The FQDN consists of at least three parts divided by a dot: the hostname, the domain name, and the Top Level Domain (**TLD** for short). In the example of `mx.mailcow.email` the hostname would be `mx`, the domain name `mailcow` and the TLD `email`. \ No newline at end of file diff --git a/docs/prerequisite-system.de.md b/docs/prerequisite/prerequisite-system.de.md similarity index 100% rename from docs/prerequisite-system.de.md rename to docs/prerequisite/prerequisite-system.de.md diff --git a/docs/prerequisite-system.en.md b/docs/prerequisite/prerequisite-system.en.md similarity index 100% rename from docs/prerequisite-system.en.md rename to docs/prerequisite/prerequisite-system.en.md diff --git a/mkdocs.yml b/mkdocs.yml index 0b946a33d..8e1f695fa 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -124,8 +124,8 @@ markdown_extensions: nav: - 'Information & Support': 'index.md' - 'Prerequisites': - - 'Prepare your system': 'prerequisite-system.md' - - 'DNS setup': 'prerequisite-dns.md' + - 'Prepare your system': 'prerequisite/prerequisite-system.md' + - 'DNS setup': 'prerequisite/prerequisite-dns.md' - 'Installation, Update & Migration': - 'Installation': 'i_u_m_install.md' - 'Update': 'i_u_m_update.md' diff --git a/mkdocs.yml.bak b/mkdocs.yml.bak index 22b40b866..0b946a33d 100644 --- a/mkdocs.yml.bak +++ b/mkdocs.yml.bak @@ -3,7 +3,7 @@ site_url: https://mailcow.github.io/mailcow-dockerized-docs/ copyright: "Copyright © 2022 Servercow Team & Community
Based on the work from André Peters" repo_name: mailcow/mailcow-dockerized repo_url: https://github.com/mailcow/mailcow-dockerized -#edit_uri: ../mailcow-dockerized-docs/edit/master/docs/ +edit_uri: ../mailcow-dockerized-docs/edit/master/docs/ remote_branch: gh-pages theme: @@ -19,6 +19,7 @@ plugins: en: English de: Deutsch nav_translations: + #### Begin of german translation de: 'Information & Support': 'Informationen & Support' ### Prerequisites Section @@ -61,11 +62,13 @@ plugins: 'Recover accidentally deleted data' : 'Versehentlich gelöschte Daten wiederherstellen' ### Manual/Guides/Examples Section 'Manual/Guides/Examples': 'Anleitungen/Beispiele' + ### Mailcow UI Subsection 'Configuration' : 'Konfiguration' 'CSS overrides' : 'CSS-Überschreibungen' 'Tagging' : 'Tagging (Markierungen)' 'Temporary email aliases' : 'Temporäre E-Mail-Aliase' 'Two-Factor Authentication' : 'Zwei-Faktoren-Authentifizierung' + ### Postfix Subsection 'Add trusted networks': 'Vertrauenswürdige Netzwerke hinzufügen' 'Custom transport maps': 'Benutzerdefinierte Transportmaps' 'Customize/Expand main.cf': 'main.cf anpassen/erweitern' @@ -73,7 +76,44 @@ plugins: 'Max. message size (attachment size)': 'Maximale Nachrichtengröße (Größe des Anhangs)' 'Statistics with pflogsumm': 'Statistik mit pflogsumm' 'Whitelist IP in Postscreen': 'IP in Postscreen auf die Whitelist setzen' + ### Unbound Subsection + 'Using an external DNS service': 'Verwendung eines externen DNS-Dienstes' + ### Dovecot Subsection + 'Customize/Expand dovecot.conf': 'Anpassen/Erweitern von dovecot.conf' + 'Enable "any" ACL settings': 'Aktivierung von "any" ACL-Einstellungen' + 'Expunge a Users mails': 'Löschen der Mails eines Benutzers' + 'IMAP IDLE interval': 'IMAP IDLE-Intervall' + 'More Examples with DOVEADM': 'Weitere Beispiele mit DOVEADM' + 'Move Maildir (vmail)': 'Maildir verschieben (vmail)' + 'Public folders': 'Öffentliche Ordner' + 'Static master user': 'Statischer Hauptbenutzer' + 'Vacation replies for catchall addresses': 'Urlaubsantworten für Catchall-Adressen' + ### Nginx Subsection + 'Create subdomain webmail.example.org': 'Subdomäne webmail.example.org erstellen' + 'Custom sites': 'Benutzerdefinierte Seiten' + ### Watchdog Subsection + 'Thresholds': 'Schwellenwert' + ### Docker Subsection + 'Customize Dockerfiles': 'Dockerfiles anpassen' + 'Why unbound?': 'Warum unbound?' + 'Redirect HTTP to HTTPS': 'HTTP auf HTTPS umleiten' + 'Re-enable TLS 1.0 and TLS 1.1': 'TLS 1.0 und TLS 1.1 wieder aktivieren' + 'Run scripts before and after updates': 'Skripte vor und nach Aktualisierungen ausführen' + ### Client Configuration Section + 'Client Configuration': 'Client-Konfiguration' + 'Overview': 'Übersicht' + 'Manual configuration': 'Manuelle Konfiguration' + ### Third party apps Section + 'Third party apps': 'Anwendungen von Drittanbietern' + 'Borgmatic Backup': 'Borgmatic-Sicherung' + #### End of german translation + - redirects: + redirect_maps: + # 'old': 'new' + 'u_e-mailpiler-integration.md': 'third_party-mailpiler_integration.md' + 'b_n_r_accidental_deletion.md': 'b_n_r-accidental_deletion.md' + 'debug-reset-tls.md': 'debug-reset_tls.md' markdown_extensions: - attr_list @@ -83,7 +123,7 @@ markdown_extensions: nav: - 'Information & Support': 'index.md' - - 'Voraussetzungen': + - 'Prerequisites': - 'Prepare your system': 'prerequisite-system.md' - 'DNS setup': 'prerequisite-dns.md' - 'Installation, Update & Migration': @@ -212,11 +252,3 @@ extra: link: https://twitter.com/mailcow_email extra_css: [ assets/css/extra.css ] extra_javascript: [ assets/js/clients.js ] -plugins: - - search - - redirects: - redirect_maps: - # 'old': 'new' - 'u_e-mailpiler-integration.md': 'third_party-mailpiler_integration.md' - 'b_n_r_accidental_deletion.md': 'b_n_r-accidental_deletion.md' - 'debug-reset-tls.md': 'debug-reset_tls.md' \ No newline at end of file