Gut! Das habe ich aus dem in der Frage genannten Beitrag herausgefunden. Ich habe eine Art Mischung zwischen der Antwort selbst und den darin enthaltenen Links gemacht. Insbesondere der vierte Link ist derjenige, den ich verwendet habe.
Also geht die Sache so. Angenommen, Sie haben einen Server oder ein VPS und legen fest, dass eine Ihrer Domänen die Hauptdomäne ist und als Servername verwendet wird (in meinem Beispiel: mydomain.com).
Daher werden wir zunächst zu root wechseln, um die Arbeit zu vereinfachen. Sie können diesen Schritt jedoch überspringen und sudo
vor jedem Befehl ausführen.
sudo su
Jetzt installieren wir OpenDKIM:
apt-get install opendkim opendkim-tools
Korrigieren wir die Konfigurationsdatei. Wir öffnen /etc/opendkim.conf
zur Bearbeitung. Ich benutze Nano, aber es ist das gleiche mit anderen Editoren.
nano /etc/opendkim.conf
Nach dem Öffnen sollte es so aussehen. Wenn Sie sich wohl fühlen, können Sie einige Optionen ändern, aber das Domain
, KeyFile
und Selector
muss kommentiert bleiben.
# This is a basic configuration that can easily be adapted to suit a standard
# installation. For more advanced options, see opendkim.conf(5) and/or
# /usr/share/doc/opendkim/examples/opendkim.conf.sample.
#
#Domain example.com
#KeyFile /etc/opendkim/201205.private
#Selector 201205
#
# Commonly-used options
Canonicalization relaxed/simple
Mode sv
SubDomains yes
# Log to syslog
Syslog yes
LogWhy yes
# Required to use local socket with MTAs that access the socket as a non-
# privileged user (e.g. Postfix)
UMask 022
UserID opendkim:opendkim
#
KeyTable /etc/opendkim/KeyTable
SigningTable /etc/opendkim/SigningTable
ExternalIgnoreList /etc/opendkim/TrustedHosts
InternalHosts /etc/opendkim/TrustedHosts
#
Socket inet:8891@localhost
#EOF
Als nächstes erstellen wir einige Ordner und Dateien, die Informationen darüber enthalten, was OpenDKIM verwenden und verarbeiten soll. Vorerst die TrustedHosts
Datei. Wir erstellen und bearbeiten es:
mkdir /etc/opendkim
nano /etc/opendkim/TrustedHosts
Wir müssen in diese Datei eine Liste vertrauenswürdiger Adressen einfügen: localhost und 127.0.0.1 sowie Ihren Servernamen und Ihre IP:
127.0.0.1
localhost
192.99.34.121
mydomain.com
Jetzt bearbeiten wir die OpenDKIM-Konfigurationsdatei.
nano /etc/default/opendkim
Fügen Sie diese Zeilen am Ende der Datei hinzu. Sie teilen OpenDKIM mit, an welchem Port Signaturanforderungen zu erwarten sind:
SOCKET="inet:8891@localhost"
Wir öffnen die Postfix-Konfigurationsdatei.
nano /etc/postfix/main.cf
Fügen Sie diese Zeilen am Ende der Datei hinzu. Sie teilen Postfix mit, dass E-Mails gesendet werden sollen, die signiert werden sollen, und wohin.
milter_default_action = accept
milter_protocol = 6
smtpd_milters = inet:localhost:8891
non_smtpd_milters = inet:localhost:8891
Wenn Sie gerade keine Domains hinzufügen, können Sie alles neu starten, damit die Konfiguration wirksam wird.
/etc/init.d/opendkim restart
/etc/init.d/postfix reload
/etc/init.d/postfix restart
Getan! Der Server ist bereit, mit DKIM zu arbeiten. Nun müssen Sie Ihre Domains zu diesem System hinzufügen. Der folgende Vorgang ist für alle Domänen, die Sie hinzufügen möchten, gleich. Ich werde otherdomain.com für das Beispiel verwenden und es durch Ihr eigenes ersetzen.
Denken Sie daran, dass ich zuvor root war. Wenn dies nicht der sudo su
Fall ist, führen Sie Ihren Befehlen das Schlüsselwort aus oder stellen Sie es voran sudo
.
sudo su
Zuerst erstellen wir ein Verzeichnis für unsere Domain und gehen hinein:
mkdir -p /etc/opendkim/keys/otherdomain.com
cd /etc/opendkim/keys/otherdomain.com
Jetzt generieren wir einen Schlüssel für die Domain:
opendkim-genkey -r -d otherdomain.com
Wir geben dem OpenDKIM-Benutzer den Besitz der neu erstellten Datei:
chown opendkim:opendkim default.private
Und wir öffnen die KeyTable
Datei, um unseren neuen Schlüssel für unsere neue Domain hinzuzufügen:
nano /etc/opendkim/KeyTable
Wir fügen es am Ende der Datei hinzu (nach allen anderen Domänen, die wir hier haben können):
default._domainkey.otherdomain.com otherdomain.com:default:/etc/opendkim/keys/otherdomain.com/default.private
Wir öffnen die SigningTable
Datei.
nano /etc/opendkim/SigningTable
Und hängen Sie am Ende der Datei an (wieder haben wir eine Zeile für jede Domain):
otherdomain.com default._domainkey.otherdomain.com
Diese SigningTable listet alle Mails auf, die signiert werden. Durch Hinzufügen eines Domainnamens werden alle Mails dieser Domain signiert.
Ich bin mir nicht sicher, ob es notwendig ist, den nächsten Schritt zu tun, aber ich habe es einfach getan, nur für den Fall ... Wir öffnen die TrustedHosts
Datei.
nano /etc/opendkim/TrustedHosts
Und füge am Ende der Datei hinzu:
otherdomain.com
Eine letzte Sache: Wir zeigen den Inhalt der Datei /etc/opendkim/keys/otherdomain.com/default.txt
.
cat /etc/opendkim/keys/otherdomain.com/default.txt
Fügen Sie die Informationen zwischen den Anführungszeichen zu einem TXT
Eintrag in der DNS-Zone der Domäne hinzu, und verwenden Sie außerdem default._domainkey
den Namen des Eintrags. HINWEIS: "zwischen den Anführungszeichen" ist der Text, der mit " v=DKIM1;k=rsa; p=WIGfM...
" beginnt .
Wenn wir (bis jetzt) keine Domänen mehr hinzugefügt haben, starten wir alles neu, um die Änderungen zu übernehmen.
/etc/init.d/opendkim restart
/etc/init.d/postfix reload
/etc/init.d/postfix restart
Getan!
/etc/opendkim/TrustedHosts
Datei die IP des Hosts nur einmal vorhanden sein muss, unabhängig davon, wie viele Domains über diesen Host ausgeführt werden. Wenn Sie einen anderen Selektor verwenden möchten, müssen Siedefault
diesen in allen Dateien ändern !*@
Teil vor dem Domainnamen in SigningTable; Es wurde nichts unterschrieben, bis ich das korrigiert habe. cc: @the_nuts# touch /etc/opendkim/KeyTable
# touch /etc/opendkim/SigningTable
Dieses Skript automatisiert den Teil nach "Fertig! Der Server ist bereit, mit DKIM zu arbeiten".
Um diesen Prozess ein wenig zu automatisieren, habe ich dieses Bash-Skript erstellt. Fügen Sie einfach eine 'domain.com' pro Zeile in das Array domains = () ein.
Erstellen Sie zunächst die Dateien und Verzeichnisse, falls diese noch nicht vorhanden sind
Die Datei spfs.txt enthält alle SPF-Einträge, die Sie zu Ihren DNS-Einträgen für jede Domain hinzufügen müssen.
HINWEIS: Nicht mehrmals ausführen. Es wird nicht geprüft, ob bereits eine Domäne vorhanden ist. Das Skript muss auch als root ausgeführt werden.
quelle
Dieses Skript automatisiert den Teil nach "Fertig! Der Server ist bereit, mit DKIM zu arbeiten".
Um diesen Prozess ein wenig zu automatisieren, habe ich dieses Bash-Skript erstellt. Fügen Sie einfach eine Domain wie 'example.com' pro Zeile in das Array domains = () ein.
Dieses Skript erstellt die Dateien für Sie und prüft, ob sich bereits eine Zeile in der Datei befindet
Die Datei "spfs.txt" wird bei jeder Ausführung entfernt und neu erstellt. Vor dem Anhängen wird die zweite Zeile der Datei "default.txt" mit der Datei "spfs.txt" verglichen
Sie müssen Ihre Server ipv4 und ipv6 (falls vorhanden) in die bereitgestellten Variablen einfügen. Es wird geprüft, ob sie nicht leer sind
Dank der hinzugefügten Prüfungen können Sie diese Datei mehrmals ausführen.
quelle