Postfix: DKIM installieren
Vorab
Dieser Post ist eine Erweiterung zur Installation von Postfix und Dovecot.
Pakete beziehen
Zunächst muss OPENDKIM installiert werden.
apt install opendkim opendkim-tools
Dann wird der Postfix Benutzer zu opendkim
Gruppe hinzugefügt.
gpassw -a postfix opendkim
Bearbeiten der Konfigurationsdatei
In der Konfigurationsdatei wird als erstes der Log aktiviert und dann sollen diese mehr Details beinhalten daher setzt man whylog
.
Syslog yes
Logwhy yes
Dann wir folgende Zeile umgestellt:
#Canonicalization simple
Canonicalization relaxed/simple
Hinter SubDomains no
wird folgendes eingefügt:
AutoRestart yes
AutoRestartRate 10/1M
Background yes
DNSTimeout 5
SignatureAlgorithm rsa-sha256
Erstellen der benötigten Verzeichnisse und Dateien
Überall muss .your-domain.com
ausgetauscht werden gegen die eigene Stammdomain.
mkdir /etc/opendkim
mkdir /etc/opendkim/keys
Nun gibt man OPENDKIM die Rechte für die Verzeichnisse
chown -R opendkim:opendkim /etc/opendkim
chmod go-rw /etc/opendkim/keys
Dann werden der Signing Table und Key Table erstellt, sowie die Trusted Hosts Datei:
nano /etc/opendkim/signing.table
*@your-domain.com default._domainkey.your-domain.com
*@*.your-domain.com default._domainkey.your-domain.com
nano /etc/opendkim/key.table
default._domainkey.your-domain.com your-domain.com:default:/etc/opendkim/keys/your-domain.com/default.private
nano /etc/opendkim/trusted.hosts
127.0.0.1
localhost
.your-domain.com
Schlüsselpaar generieren
Wie oben muss auch hier immer die Domain ausgetauscht werden.
mkdir /etc/opendkim/keys/your-domain.com
opendkim-genkey -b 2048 -d your-domain.com -D /etc/opendkim/keys/your-domain.com -s default -v
chown opendkim:opendkim /etc/opendkim/keys/your-domain.com/default.private
chmod 600 /etc/opendkim/keys/your-domain.com/default.private
cat /etc/opendkim/keys/your-domain.com/default.txt
Die Ausgabe sollte wie folgt aussehen:
default._domainkey IN TXT ( "v=DKIM1; h=sha256; k=rsa; "
"p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAJDHBFJBDFJBTl8vtZgCyyukpIZVl6vWKUcyQQ7XRles+qxRb1HLXtny0qFDnnPdjbfsbfdjbds+ZVFPU2t+NBObQpM1nC5HMO2SVcGIMc76BZxFTeePK7bT30Wd0lY0ihR2qIYd+6W9KtBxQltl7ge0CB6+GMmmZgupH8kwa3bpU7JZEH5velOk9mQZfHX"
"0UdlEofn+zhd28q74d+kHQp+FNL5GQCLWq0OgtEwzPri7ojvVBPQVBO3oh0rnCXspIEbS8yzbZjDI2C5agCfeT7Ij7/pMS8dbXxnOt/NF4IXila87dfadbf87hdss0d9ufG3po0fGLQIDAQAB" ) ; ----- DKIM key default for domain.com
v=DKIM1;h=sha256;k=rsa;p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAJDHBFJBDFJBTl8vtZgCyyukpIZVl6vWKUcyQQ7XRles+qxRb1HLXtny0qFDnnPdjbfsbfdjbds+ZVFPU2t+NBObQpM1nC5HMO2SVcGIMc76BZxFTeePK7bT30Wd0lY0ihR2qIYd+6W9KtBxQltl7ge0CB6+GMmmZgupH8kwa3bpU7JZEH5velOk9mQZfHX0UdlEofn+zhd28q74d+kHQp+FNL5GQCLWq0OgtEwzPri7ojvVBPQVBO3oh0rnCXspIEbS8yzbZjDI2C5agCfeT7Ij7/pMS8dbXxnOt/NF4IXila87dfadbf87hdss0d9ufG3po0fGLQIDAQAB
Dann wird dies in den TXT-Record von der Domain eingefügt.
Präfix: default._domainkey
Wert: Getrimmte Ausgabe.
DKIM Testen
opendkim-testkey -d your-domain.com -s default -vvv
Es gibt zwei mögliche Ausgaben:
opendkim-testkey: using default configfile /etc/opendkim.conf
opendkim-testkey: checking key 'default._domainkey.your-domain.com'
opendkim-testkey: key secure
opendkim-testkey: key OK
opendkim-testkey: using default configfile /etc/opendkim.conf
opendkim-testkey: checking key 'default._domainkey.your-domain.com'
opendkim-testkey: key not secure
opendkim-testkey: key OK
Sollte not Secure stehen, ist dies in Ordnung da DNSSEC nicht aktiviert ist für die Domain.
Postfix mit opendkim verbinden
sudo mkdir /var/spool/postfix/opendkim
sudo chown opendkim:postfix /var/spool/postfix/opendkim
nano /etc/opendkim.conf
Dann muss folgende Zeile ausgetauscht werden:
Socket local:/run/opendkim/opendkim.sock
Diese Zeile wird ersetzt durch:
Socket local:/var/spool/postfix/opendkim/opendkim.sock
Danach muss noch opendkim bearbeitet werden und der Socket getauscht werden.
nano /etc/default/opendkim
SOCKET=local:$RUNDIR/opendkim.sock
Diese Zeile wird durch diese Ausgetauscht:
SOCKET="local:/var/spool/postfix/opendkim/opendkim.sock"
Nun wird Postfix noch gesagt, das es OPENDKIM per Milter Protokoll ansprechen soll.
nano /etc/postfix/main.cf
milter_default_action = accept
milter_protocol = 6
smtpd_milters = local:opendkim/opendkim.sock
non_smtpd_milters = $smtpd_milters
Danach müssen alle Services neu gestartet werden:
systemctl restart opendkim postfix