Configurez Kodi IPTV m3u en moins de 2 minutes et regardez des chaînes illimitées

DKIM

Comment installer et configurer DKIM avec Postfix sur Debian Wheezy

Vues : 402

Introduction

La frustration de se faire faussement signaler comme un spammeur n’est pas étrange pour la plupart des administrateurs du serveur de messagerie. En excluant la possibilité d’un serveur compromis, un faux indicateur est généralement provoqué par l’un des éléments suivants:

  • le serveur est un relais de messagerie ouvert
  • l’adresse IP de l’expéditeur ou du serveur est sur liste noire
  • le serveur n’a pas de nom de domaine complet ( FQDN ) et d’enregistrement PTR
  • l’ enregistrement DNS Sender Policy Framework ( SPF ) est manquant ou mal configuré
  • l’ implémentation DKIM (DomainKeys Identified Mail ) est manquante ou mal configurée

Ce sont quelques-unes des propriétés de base qui sont vérifiées par la majorité des filtres anti-spam propriétaires et open source (y compris SpamAssassin). La réussite de ces tests est extrêmement importante pour un serveur de messagerie bien configuré.

Ce tutoriel se concentrera sur l’installation et la configuration d’ OpenDKIM ]: une implémentation open source du système d’authentification de l’expéditeur DKIM.

Il est supposé que le lecteur sait accéder au serveur via SSH, Postfix et Dovecot sont déjà installés et configurés ( .), le nom d’hôte et le FQDN sont configurés ( .) et l’enregistrement SPF est en place ( .).

À propos de DKIM

DKIM est une norme Internet qui permet à une personne ou une organisation d’associer un nom de domaine à un e-mail. Cela sert en fait de méthode pour revendiquer la responsabilité d’un message. À la base, DKIM est alimenté par une cryptographie asymétrique. L’agent de transfert de courrier (MTA) de l’expéditeur signe chaque message sortant avec une clé privée. Le destinataire récupère la clé publique des enregistrements DNS de l’expéditeur et vérifie si le corps du message et certains des champs d’en-tête n’ont pas été modifiés depuis la signature du message.

[widget id=”custom_html-6″]

Installez OpenDKIM

Avant de commencer l’installation, une mise à jour du système est recommandée:

sudo apt-get update
sudo apt-get dist-upgrade

Installez OpenDKIM et ses dépendances:

sudo apt-get install opendkim opendkim-tools

Les packages supplémentaires seront répertoriés en tant que dépendances, tapez yeset appuyez sur Enterpour continuer.

Configurer OpenDKIM

Quelques fichiers doivent être créés et modifiés afin de configurer OpenDKIM.

Nano sera utilisé comme éditeur car il est installé par défaut sur les droplets DigitalOcean et il est simple à utiliser:

  • naviguer avec les touches fléchées
  • quitter sans enregistrer les modifications: appuyez sur CTRL + Xpuis surN
  • quitter et enregistrer les modifications: appuyez sur CTRL + Xpuis sur Yet enfin surEnter

Important: remplacez chaque instance d’exemple.com par votre propre domaine dans toutes les commandes et tous les fichiers de configuration. N’oubliez pas de sauvegarder vos fichiers après modification.

Commençons par le fichier de configuration principal:

sudo nano /etc/opendkim.conf

Ajoutez les lignes suivantes à la fin du fichier conf (chaque paramètre est expliqué ci-dessous). En option, vous pouvez choisir un numéro de port personnalisé pour le Socket. Assurez-vous qu’il n’est pas utilisé par une autre application.

AutoRestart             Yes
AutoRestartRate         10/1h
UMask                   002
Syslog                  yes
SyslogSuccess           Yes
LogWhy                  Yes

Canonicalization        relaxed/simple

ExternalIgnoreList      refile:/etc/opendkim/TrustedHosts
InternalHosts           refile:/etc/opendkim/TrustedHosts
KeyTable                refile:/etc/opendkim/KeyTable
SigningTable            refile:/etc/opendkim/SigningTable

Mode                    sv
PidFile                 /var/run/opendkim/opendkim.pid
SignatureAlgorithm      rsa-sha256

UserID                  opendkim:opendkim

Socket                  inet:12301@localhost
  • AutoRestart : redémarrage automatique du filtre en cas de panne
  • AutoRestartRate : spécifie le taux de redémarrage maximal du filtre, si les redémarrages commencent à se produire plus rapidement que ce taux, le filtre se terminera; 10/1h– 10 redémarrages / heure sont autorisés au maximum
  • UMask : donne toutes les autorisations d’accès au groupe d’utilisateurs défini par UserIDet permet à d’autres utilisateurs de lire et d’exécuter des fichiers, dans ce cas, il permettra la création et la modification d’un fichier Pid.
  • Syslog , SyslogSuccess , * LogWhy : ces paramètres permettent une journalisation détaillée via les appels à syslog
  • Canonicalisation : définit les méthodes de canonisation utilisées lors de la signature des messages, la simpleméthode n’autorise pratiquement aucune modification tandis que relaxedcelle tolère les changements mineurs tels que le
    remplacement des espaces; relaxed/simple– l’en-tête du message sera traité avec l’ relaxedalgorithme et le corps avec simplecelui
  • ExternalIgnoreList : spécifie les hôtes externes qui peuvent envoyer du courrier via le serveur comme l’un des domaines de signature sans informations d’identification
  • InternalHosts : définit une liste d’hôtes internes dont le courrier ne doit pas être vérifié mais signé à la place
  • KeyTable : mappe les noms des clés aux clés de signature
  • SigningTable : répertorie les signatures à appliquer à un message en fonction de l’adresse trouvée dans le From:champ d’ en- tête
  • Mode : déclare les modes de fonctionnement; dans ce cas, le milter agit en tant que signataire ( s) et vérificateur ( v)
  • PidFile : le chemin d’accès au fichier Pid qui contient le numéro d’identification du processus
  • SignatureAlgorithm : sélectionne l’algorithme de signature à utiliser lors de la création de signatures
  • UserID : le processus opendkim fonctionne sous cet utilisateur et groupe
  • Socket : le milter écoutera sur le socket spécifié ici, Posfix enverra des messages à opendkim pour signature et vérification via ce socket; 12301@localhostdéfinit un socket TCP qui écoute localhost, port12301

Cette configuration simple est destinée à permettre la signature de messages pour un ou plusieurs domaines, pour en savoir plus sur les autres options, rendez-vous ici .

Connectez le milter à Postfix:

sudo nano /etc/default/opendkim

Ajoutez la ligne suivante, modifiez le numéro de port uniquement si un numéro personnalisé est utilisé:

SOCKET="inet:12301@localhost"

Configurez postfix pour utiliser ce milter:

sudo nano /etc/postfix/main.cf

Assurez-vous que ces deux lignes sont présentes dans le fichier de configuration de Postfix et ne sont pas mises en commentaire:

milter_protocol = 2
milter_default_action = accept

Il est probable qu’un filtre (SpamAssasin, Clamav etc.) soit déjà utilisé par Postfix; si les paramètres suivants sont présents, ajoutez-leur simplement l’opendkim milter (les milters sont séparés par une virgule), le numéro de port doit être le même que dans opendkim.conf:

smtpd_milters = unix:/spamass/spamass.sock, inet:localhost:12301
non_smtpd_milters = unix:/spamass/spamass.sock, inet:localhost:12301

Si les paramètres sont manquants, définissez-les comme suit:

smtpd_milters = inet:localhost:12301
non_smtpd_milters = inet:localhost:12301

Créez une structure de répertoires qui contiendra les hôtes de confiance, les tables de clés, les tables de signature et les clés de chiffrement:

sudo mkdir /etc/opendkim
sudo mkdir /etc/opendkim/keys

Spécifiez les hôtes de confiance:

sudo nano /etc/opendkim/TrustedHosts

[widget id=”custom_html-6″]

Nous utiliserons ce fichier pour définir les deux ExternalIgnoreListet InternalHosts, les messages provenant de ces hôtes, domaines et adresses IP seront approuvés et signés.

Parce que notre fichier de configuration principal se déclare TrustedHostscomme un fichier d’expression régulière ( refile), nous pouvons utiliser des caractères génériques, *.example.comce qui signifie que les messages provenant des sous-domaines d’exemple.com seront également approuvés, pas seulement ceux envoyés depuis le domaine racine.

Personnalisez et ajoutez les lignes suivantes au fichier nouvellement créé. Plusieurs domaines peuvent être spécifiés, ne modifiez pas les trois premières lignes:

127.0.0.1
localhost
192.168.0.1/24

*.example.com

#*.example.net
#*.example.org

Créez une table de clés:

sudo nano /etc/opendkim/KeyTable

Une table de clés contient chaque paire sélecteur / domaine et le chemin d’accès à leur clé privée. Toute chaîne alphanumérique peut être utilisée comme sélecteur, dans cet exemple, elle mailest utilisée et il n’est pas nécessaire de la modifier.

mail._domainkey.example.com example.com:mail:/etc/opendkim/keys/example.com/mail.private

#mail._domainkey.example.net example.net:mail:/etc/opendkim/keys/example.net/mail.private
#mail._domainkey.example.org example.org:mail:/etc/opendkim/keys/example.org/mail.private

Créez une table de signature:

sudo nano /etc/opendkim/SigningTable

Ce fichier est utilisé pour déclarer les domaines / adresses e-mail et leurs sélecteurs.

*@example.com mail._domainkey.example.com

#*@example.net mail._domainkey.example.net
#*@example.org mail._domainkey.example.org

Générez les clés publiques et privées

Accédez au répertoire des clés:

cd /etc/opendkim/keys

Créez un dossier séparé pour que le domaine contienne les clés:

sudo mkdir example.com
cd example.com

Générez les clés:

sudo opendkim-genkey -s mail -d example.com

-sspécifie le sélecteur et -dle domaine, cette commande va créer deux fichiers, mail.privateest notre clé privée et mail.txtcontient la clé publique.

Changez le propriétaire de la clé privée en opendkim:

sudo chown opendkim:opendkim mail.private

Ajoutez la clé publique aux enregistrements DNS du domaine

Ouvert mail.txt:

sudo nano -$ mail.txt

La clé publique est définie sous le pparamètre. N’utilisez pas l’exemple de clé ci-dessous, ce n’est qu’une illustration et ne fonctionnera pas sur votre serveur.

mail._domainkey IN TXT "v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC5N3lnvvrYgPCRSoqn+awTpE+iGYcKBPpo8HHbcFfCIIV10Hwo4PhCoGZSaKVHOjDm4yefKXhQjM7iKzEPuBatE7O47hAx1CJpNuIdLxhILSbEmbMxJrJAG0HZVn8z6EAoOHZNaPHmK2h4UUrjOG8zA5BHfzJf7tGwI+K619fFUwIDAQAB" ; ----- DKIM key mail for example.com

Copiez cette clé et ajoutez un enregistrement TXT aux entrées DNS de votre domaine:

Name: mail._domainkey.example.com.

Text: "v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC5N3lnvvrYgPCRSoqn+awTpE+iGYcKBPpo8HHbcFfCIIV10Hwo4PhCoGZSaKVHOjDm4yefKXhQjM7iKzEPuBatE7O47hAx1CJpNuIdLxhILSbEmbMxJrJAG0HZVn8z6EAoOHZNaPHmK2h4UUrjOG8zA5BHfzJf7tGwI+K619fFUwIDAQAB"

Veuillez noter que les modifications DNS peuvent prendre quelques heures pour se propager.

Redémarrez Postfix et OpenDKIM:

sudo service postfix restart
sudo service opendkim restart

[widget id=”custom_html-6″]

Toutes nos félicitations! Vous avez correctement configuré DKIM pour votre serveur de messagerie!

La configuration peut être testée en envoyant un e-mail vide à check-auth@verifier.port25.comet une réponse sera reçue. Si tout fonctionne correctement, vous devriez voir ci- DKIM check: passdessous Summary of Results.

==========================================================
Summary of Results
==========================================================
SPF check:          pass
DomainKeys check:   neutral
DKIM check:         pass
Sender-ID check:    pass
SpamAssassin check: ham

Alternativement, vous pouvez envoyer un message à une adresse Gmail que vous contrôlez, afficher les en-têtes des e-mails reçus dans votre boîte de réception Gmail, dkim=passdevrait être présent dans le Authentication-Resultschamp d’ en- tête.

Authentication-Results: mx.google.com;
       spf=pass (google.com: domain of contact@example.com designates --- as permitted sender) smtp.mail=contact@example.com;
       dkim=pass header.i=@example.com;

Une réflexion sur « Comment installer et configurer DKIM avec Postfix sur Debian Wheezy »

Laisser un commentaire

Translate this page