DKIM/SPF/DMARC einrichten mit externen DNS Server

DKIM Plesk Konfiguration

In den Mai Settings der Domain sollte die Verschlüsselung und DKIM aktiviert sein.

DKIM DNS Eintrag erstellen

Skript zum auslesen des dkim keys und direktes umwandeln in String für den DNS Eintrag:

#!/bin/bash

DOMAIN=$1

KEY=$(openssl rsa -in /etc/domainkeys/${DOMAIN}/default -pubout 2> /dev/null | tail -n 5 | head -n 4 | tr -d '\n')
echo "v=DKIM1;k=rsa; p=${KEY};"

Der Eigentliche Befehl ist „openssl rsa -in /etc/domainkeys/${DOMAIN}/default -pubout“ danach wird mit „tail“ und „head“ der Anfang und das Ende abgeschnitten. Danach werden mit „tr“ die Zeilenumbrüche entfernt. „2> /dev/null“ unterdrückt die Ausgabe „writing RSA key“ und alle Fehlerausgaben.

# dkim-print nissel.it
v=DKIM1;k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDzZmnbucDR9uEiTEqW3oXUuFZ+2c+VcFp91vy5SGg+CqbvFaAzUTn008Ew4QK9TrZ+dvuGj2qMMXEjmZVhFK+G8JRCxItQDQ2T6taHlrGpjom6+EBctpaD9hjUuart3Hqn1fSS8MyOTVxwG6jArWuLg95UjMs1NRCyUkqjHjoGIwIDAQAB;

Damit kann dann ein DNS TXT Record mit dem Schlüssel default._domainkey erstellt werden.

default._domainkey TXT v=DKIM1;k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDzZmnbucDR9uEiTEqW3oXUuFZ+2c+VcFp91vy5SGg+CqbvFaAzUTn008Ew4QK9TrZ+dvuGj2qMMXEjmZVhFK+G8JRCxItQDQ2T6taHlrGpjom6+EBctpaD9hjUuart3Hqn1fSS8MyOTVxwG6jArWuLg95UjMs1NRCyUkqjHjoGIwIDAQAB;

SPF

Versucht ein fremder Mailserver im Namen der eigenen Domain eine Email zu versenden, unterbindet dieser Eintrag dies. Es wird nur erlaubt, dass A und MX record Einträge eine Mail verschicken dürfen. Das -all verbietet alles andere.

TXT v=spf1 +a +mx -all

Mit ~all wird diese Regel nicht strickt angewandt.

DMARC

Zuletzt wird die DKIM uns SPF durch DMARC kombiniert. Falsch signierte und Mails die nicht den SPF Regeln entsprechen werden in Quarantäne gestellt.

_dmarc TXT v=DMARC1; p=quarantine; rf=afrf; rua=mailto:admin@domain.de; ruf=mailto:admin@domain.de

Globale Einstellungen in Plesk

Linux: Ubuntu 18.04.4
Plesk: Obsidian 18.0.24