J'ai lu le tutoriel publié par MountainX ( Setup DKIM (DomainKeys) pour Ubuntu, Postfix et Mailman ), mais je ne sais pas comment appliquer ces étapes si je veux héberger et envoyer des e-mails pour plusieurs domaines. Quelqu'un a-t-il une idée?
J'ai lu le tutoriel publié par MountainX ( Setup DKIM (DomainKeys) pour Ubuntu, Postfix et Mailman ), mais je ne sais pas comment appliquer ces étapes si je veux héberger et envoyer des e-mails pour plusieurs domaines. Quelqu'un a-t-il une idée?
Bien! Je l'ai compris dans le message mentionné dans la question. J'ai fait une sorte de mélange entre la réponse elle-même et les liens qu'elle contient. Surtout le quatrième lien est celui que j'ai utilisé.
Donc, la chose se passe comme ça. Supposons que vous ayez un serveur ou un VPS et que l'un de vos domaines soit le domaine principal et soit utilisé comme nom de serveur (dans mon exemple: mydomain.com).
Donc, tout d'abord, nous allons passer à root pour faciliter les choses, mais vous pouvez ignorer cette étape et utiliser sudo
avant chaque commande.
sudo su
Maintenant, nous installons OpenDKIM:
apt-get install opendkim opendkim-tools
Corrigeons le fichier de configuration. Nous ouvrons /etc/opendkim.conf
pour l'édition. J'utilise nano, mais c'est la même chose avec un autre éditeur.
nano /etc/opendkim.conf
Une fois ouvert, faites-le ressembler à ceci. Si vous vous sentez à l'aise, vous pouvez modifier certaines options, mais le Domain
, KeyFile
et Selector
doit rester commenté.
# 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
Ensuite, nous créons certains dossiers et fichiers qui contiendront des informations sur ce que OpenDKIM devrait utiliser et traiter. Pour l'instant, le TrustedHosts
fichier. Nous le créons et le modifions:
mkdir /etc/opendkim
nano /etc/opendkim/TrustedHosts
Nous devons mettre dans ce fichier une liste d'adresses de confiance: localhost et 127.0.0.1, et votre nom de serveur et IP:
127.0.0.1
localhost
192.99.34.121
mydomain.com
Maintenant, nous éditons le fichier de configuration OpenDKIM.
nano /etc/default/opendkim
Et ajoutez ces lignes à la fin du fichier. Ils diront à OpenDKIM dans quel port il devrait s'attendre à des demandes de signature:
SOCKET="inet:8891@localhost"
Nous ouvrons le fichier de configuration Postfix.
nano /etc/postfix/main.cf
Et ajoutez ces lignes à la fin du fichier. Ils diront à Postfix qu'il doit envoyer des e-mails à signer et où.
milter_default_action = accept
milter_protocol = 6
smtpd_milters = inet:localhost:8891
non_smtpd_milters = inet:localhost:8891
Si vous n'ajoutez pas de domaines pour le moment, vous pouvez tout redémarrer, afin que la configuration prenne effet.
/etc/init.d/opendkim restart
/etc/init.d/postfix reload
/etc/init.d/postfix restart
Terminé! Le serveur est prêt à fonctionner avec DKIM. Maintenant, vous devez ajouter vos domaines à ce système. Le processus suivant est le même pour tous les domaines que vous souhaitez ajouter. Je vais utiliser otherdomain.com pour l'exemple, remplacez-le par le vôtre.
N'oubliez pas que j'étais root d'avant, mais si vous ne l'êtes pas, exécutez sudo su
ou faites précéder vos commandes avec le mot-clé sudo
.
sudo su
Tout d'abord, nous créons un répertoire pour notre domaine et allons à l'intérieur de celui-ci:
mkdir -p /etc/opendkim/keys/otherdomain.com
cd /etc/opendkim/keys/otherdomain.com
Maintenant, nous générons une clé pour le domaine:
opendkim-genkey -r -d otherdomain.com
Nous donnons à l'utilisateur OpenDKIM la propriété du fichier nouvellement créé:
chown opendkim:opendkim default.private
Et nous ouvrons le KeyTable
fichier pour ajouter notre nouvelle clé pour notre nouveau domaine:
nano /etc/opendkim/KeyTable
Nous l'ajoutons à la fin du fichier (après tous les autres domaines que nous pouvons avoir ici):
default._domainkey.otherdomain.com otherdomain.com:default:/etc/opendkim/keys/otherdomain.com/default.private
Nous ouvrons le SigningTable
dossier.
nano /etc/opendkim/SigningTable
Et ajoutez à la fin du fichier (encore une fois, nous aurons une ligne pour chaque domaine):
otherdomain.com default._domainkey.otherdomain.com
Cette table de signature répertorie tous les e-mails qui sont signés. En ajoutant simplement un nom de domaine, tous les e-mails de ce domaine seront signés.
Je ne suis pas sûr de la nécessité de faire la prochaine étape, mais je viens de le faire, juste au cas où ... Nous ouvrons le TrustedHosts
fichier.
nano /etc/opendkim/TrustedHosts
Et ajoutez à la fin du fichier:
otherdomain.com
Une dernière chose: nous montrons le contenu du fichier /etc/opendkim/keys/otherdomain.com/default.txt
.
cat /etc/opendkim/keys/otherdomain.com/default.txt
Et ajoutez les informations entre les guillemets à un TXT
enregistrement dans la zone DNS du domaine, et nous devons également utiliser default._domainkey
comme nom de l'enregistrement. REMARQUE: "entre les guillemets" est le texte qui commence par " v=DKIM1;k=rsa; p=WIGfM...
".
Si nous avons fini d'ajouter des domaines (maintenant), nous redémarrons tout pour appliquer les modifications.
/etc/init.d/opendkim restart
/etc/init.d/postfix reload
/etc/init.d/postfix restart
Terminé!
/etc/opendkim/TrustedHosts
fichier, l'adresse IP de l'hôte ne doit s'y trouver qu'une seule fois, quel que soit le nombre de domaines exécutés via cet hôte. Si vous souhaitez utiliser un autre sélecteur,default
assurez-vous de le changer dans tous les fichiers!*@
partie avant le nom de domaine dans SigningTable; rien n'a été signé jusqu'à ce que je corrige cela. cc: @the_nuts# touch /etc/opendkim/KeyTable
# touch /etc/opendkim/SigningTable
Ce script automatise la partie après "Terminé! Le serveur est prêt à fonctionner avec DKIM"
Pour aider à automatiser un peu ce processus, j'ai créé ce script bash. Ajoutez simplement un «domaine.com» par ligne dans le tableau domaines = ().
Créez d'abord les fichiers et répertoires s'ils n'existent pas déjà
Le fichier spfs.txt contiendra tous les enregistrements spf que vous devez ajouter à vos enregistrements DNS pour chaque domaine.
REMARQUE: n'exécutez pas plus d'une fois, il ne vérifie pas si un domaine existe déjà. Le script doit également être exécuté en tant que root.
la source
Ce script automatise la partie après "Terminé! Le serveur est prêt à fonctionner avec DKIM"
Pour aider à automatiser un peu ce processus, j'ai créé ce script bash. Ajoutez simplement un domaine comme 'example.com' par ligne dans le tableau domaines = ().
Ce script crée les fichiers pour vous et vérifie si une ligne est déjà dans le fichier
Spfs.txt est supprimé et recréé à chaque exécution et vérifie la deuxième ligne de default.txt par rapport à spfs.txt avant d'ajouter
Vous devez placer vos serveurs ipv4 et ipv6 (si vous en avez) dans les variables fournies. Il vérifie s'ils ne sont pas vides
vous pouvez exécuter ce fichier plusieurs fois grâce aux contrôles ajoutés.
la source