Introduction
DomainKeys Identified Mail (DKIM) est une méthode d’authentification des e-mails conçue pour détecter les adresses d’expéditeur usurpées dans les e-mails, une technique souvent utilisée dans le phishing et le spam. DKIM permet à une organisation de revendiquer la responsabilité d’un message d’une manière qui peut être validée par le destinataire. OpenDKIM est une implémentation open-source de la spécification DKIM qui est largement utilisée pour ajouter cette couche de sécurité aux systèmes de messagerie.
Ce guide vous guidera à travers les étapes d’installation et de configuration d’OpenDKIM sur un serveur Ubuntu. Nous couvrirons le processus d’installation, les détails de configuration, l’intégration avec le serveur de messagerie Postfix, et les tests pour s’assurer que tout est correctement configuré.
Prérequis
Avant de commencer, assurez-vous d’avoir les éléments suivants :
- Un serveur Ubuntu (20.04 LTS ou version ultérieure).
- Un accès root ou sudo au serveur.
- Un nom de domaine et le contrôle sur les paramètres DNS.
- Postfix installé et configuré sur votre serveur.
Étape 1 : Mettre à Jour les Paquets Système
Commencez par mettre à jour les listes de paquets sur votre serveur Ubuntu pour vous assurer d’avoir les dernières versions disponibles.
$ sudo apt update
$ sudo apt upgrade -y
Étape 2 : Installer OpenDKIM et les Paquets Associés
Ensuite, installez OpenDKIM et ses dépendances en utilisant la commande suivante :
$ sudo apt install opendkim opendkim-tools -y
Étape 3 : Configurer OpenDKIM
Créer le Répertoire de Configuration d’OpenDKIM
Créez un répertoire pour les fichiers de configuration et les clés d’OpenDKIM.
$ sudo mkdir /etc/opendkim
$ sudo mkdir /etc/opendkim/keys
Configurer OpenDKIM
Ouvrez le fichier de configuration principal d’OpenDKIM.
$ sudo nano /etc/opendkim.conf
Ajoutez les paramètres de configuration suivants au fichier :
Syslog yes
UMask 002
Mode sv
Canonicalization relaxed/simple
ExternalIgnoreList refile:/etc/opendkim/TrustedHosts
InternalHosts refile:/etc/opendkim/TrustedHosts
KeyTable refile:/etc/opendkim/KeyTable
SigningTable refile:/etc/opendkim/SigningTable
Socket inet:12345@localhost
PidFile /var/run/opendkim/opendkim.pid
UserID opendkim:opendkim
TemporaryDirectory /var/tmp
Configurer les Hôtes de Confiance
Éditez le fichier TrustedHosts pour inclure votre réseau local et votre serveur de messagerie.
$ sudo nano /etc/opendkim/TrustedHosts
Ajoutez les lignes suivantes :
127.0.0.1
localhost
192.168.0.1/24 # Remplacez par votre réseau local
*.votredomaine.com # Remplacez par votre domaine
Configurer le Tableau des Clés
Éditez le fichier KeyTable pour spécifier l’emplacement de vos clés DKIM.
$ sudo nano /etc/opendkim/KeyTable
Ajoutez la ligne suivante (remplacez votredomaine.com
par votre nom de domaine réel) :
mail._domainkey.votredomaine.com votredomaine.com:mail:/etc/opendkim/keys/votredomaine.com/mail.private
Configurer le Tableau de Signature
Éditez le fichier SigningTable pour définir quels domaines doivent être signés.
$ sudo nano /etc/opendkim/SigningTable
Ajoutez la ligne suivante :
*@votredomaine.com mail._domainkey.votredomaine.com
Étape 4 : Générer des Clés DKIM
Naviguez vers le répertoire des clés et créez un répertoire pour votre domaine.
$ cd /etc/opendkim/keys
$ sudo mkdir votredomaine.com
$ cd votredomaine.com
Générez une nouvelle paire de clés DKIM en utilisant la commande suivante :
$ sudo opendkim-genkey -s mail -d votredomaine.com
$ sudo chown opendkim:opendkim mail.private
Cela générera deux fichiers :
mail.private
: La clé privée utilisée par OpenDKIM pour signer les messages sortants.mail.txt
: La clé publique qui sera ajoutée à vos enregistrements DNS.
Étape 5 : Ajouter la Clé Publique DKIM au DNS
Ouvrez le fichier mail.txt
et copiez son contenu.
$ cat mail.txt
Vous verrez quelque chose comme ceci :
mail._domainkey.votredomaine.com. IN TXT "v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDmt+8iyK2xwLth..."
Connectez-vous à votre fournisseur DNS et créez un nouvel enregistrement TXT avec les détails suivants :
- Nom:
mail._domainkey
- Type:
TXT
- Valeur: (Collez le contenu du fichier
mail.txt
)
Étape 6 : Configurer Postfix pour Utiliser OpenDKIM
Éditez le fichier de configuration principal de Postfix pour intégrer OpenDKIM.
$ sudo nano /etc/postfix/main.cf
Ajoutez les lignes suivantes à la fin du fichier :
milter_default_action = accept
milter_protocol = 6
smtpd_milters = inet:localhost:12345
non_smtpd_milters = inet:localhost:12345
Enregistrez et fermez le fichier.
Étape 7 : Démarrer et Activer OpenDKIM
Démarrez le service OpenDKIM et activez-le pour qu’il se lance au démarrage.
$ sudo systemctl start opendkim
$ sudo systemctl enable opendkim
Redémarrez Postfix pour appliquer les modifications.
$ sudo systemctl restart postfix
Étape 8 : Tester Votre Configuration
Envoyer un E-mail de Test
Envoyez un e-mail de test à une adresse e-mail externe (par exemple, Gmail ou Yahoo) pour vérifier si la signature DKIM fonctionne.
Vérifier les En-têtes d’E-mail
Après avoir reçu l’e-mail de test, vérifiez les en-têtes d’e-mail pour l’en-tête DKIM-Signature
. Cet en-tête indique que l’e-mail a été signé par OpenDKIM.
Vérifier la Signature DKIM
Utilisez un outil de vérification DKIM en ligne (par exemple, DKIMCore, MXToolbox) pour vérifier la signature DKIM. Entrez le sélecteur (mail
) et votre domaine (votredomaine.com
) pour vérifier si la clé publique est correctement configurée dans votre DNS.
Dépannage
Vérifier les Journaux d’OpenDKIM
Si vous rencontrez des problèmes, vérifiez les journaux d’OpenDKIM pour des messages d’erreur.
$ sudo journalctl -u opendkim
Assurer les Permissions Correctes
Assurez-vous que l’utilisateur opendkim
a les permissions correctes pour les fichiers de clé.
$ sudo chown -R opendkim:opendkim /etc/opendkim/keys
Valider la Configuration DNS
Vérifiez à nouveau vos enregistrements DNS pour vous assurer que la clé publique DKIM est correctement ajoutée.
Redémarrer les Services
Si des modifications sont apportées aux fichiers de configuration, redémarrez les services OpenDKIM et Postfix.
$ sudo systemctl restart opendkim
$ sudo systemctl restart postfix
Conclusion
Configurer DKIM avec OpenDKIM sur un serveur Ubuntu améliore la sécurité de vos e-mails en vérifiant l’authenticité de vos messages. En suivant les étapes décrites dans ce guide, vous pouvez installer, configurer et intégrer avec succès OpenDKIM avec votre serveur de messagerie Postfix. Surveillez et mettez régulièrement à jour vos clés DKIM et vos enregistrements DNS pour maintenir un environnement de messagerie sécurisé.