serveur_hebergement:serveur_mail:partie_4_spf_dmarc_et_dkim

Ceci est une ancienne révision du document !


Partie 4 : SPF, DMARC et DKIM

Expliquer ce qu'est SPF et DMARC.

Pour SPF, ajoutez une entrée DNS type TXT :

v=spf1 mx ip4:adresseIPV4 ip6:adresseIPV6 ~all

Pour DMARC, ajoutez une entrée DNS type TXT _dmarc :

 "v=DMARC1; p=reject; rua=mailto:postmaster@domaine.fr; ruf=mailto:admin@domaine.fr; fo=0:1:d:s; adkim=s; aspf=s; sp=reject"

Il faut également que Postfix vérifie le SPF des mails que l'on reçoit afin de se protéger en partie des spams. Installez postfix-policyd-spf-python :

sudo aptitude install postfix-policyd-spf-python

Ouvrez le fichier /etc/postfix/master.cf et ajoutez la ligne suivante afin que Postfix démarre le programme policyd-spf au démarrage :

policyd-spf  unix  -       n       n       -       0       spawn
    user=policyd-spf argv=/usr/bin/policyd-spf

Ouvrez le fichier /etc/postfix/main.cf at ajoutez les lignes suivantes :

policyd-spf_time_limit = 3600
smtpd_recipient_restrictions =
   permit_mynetworks,
   permit_sasl_authenticated,
   reject_unauth_destination,
   reject_rbl_client zen.spamhaus.org,
   check_policy_service unix:private/policyd-spf

Ces lignes servent à éviter que n'importe qui puisse envoyer des mails via notre serveur et également de rejeter les mails qui ne sont pas adressés à notre domaine. Permit_mynetworks et permit_sasl_authenticated autorisent le serveur et les clients authentifiés à envoyer des mails. Reject_unauth_destination rejette les connexions provenant d'un client non authentifié ainsi que les mails non adressés à notre domaine. Reject_rbl_client zen.spamhaus.org rejette les connexions provenant d'IP/nom de domaine listés dans la liste spamhaus. Check_policy_service unix:private/policyd-spf active la vérification de SPF pour les mails entrants.

Expliquer ce qu'est DKIM.

Installez opendkim :

sudo aptitude install opendkim opendkim-tools

Ajoutez l'utilisateur postfix au groupe opendkim :

sudo adduser postfix opendkim

Ouvrez le fichier /etc/opendkim.conf. Décommentez les lignes

#Mode                   sv
#SubDomains             no

Mode sv active la vérification pour les mails entrant et la signature pour les mails sortant et subdomains no désactive la gestion des sous-domaines.

Commentez la ligne Socket local:/run/opendkim/opendkim.sock et décommentez la ligne Socket inet:8891@localhost. Cela va servir à faire communiquer OpenDKIM avec Postfix.

Ajoutez les lignes suivantes à la fin du fichier :

# Map domains in From addresses to keys used to sign messages
KeyTable           refile:/etc/opendkim/KeyTable
SigningTable       refile:/etc/opendkim/SigningTable

# Hosts to ignore when verifying signatures
ExternalIgnoreList  /etc/opendkim/TrustedHosts

# A set of internal hosts whose mail should be signed
InternalHosts       /etc/opendkim/TrustedHosts

Ces lignes indiquent à OpenDKIM les fichiers dont on va se servir pour configurer DKIM.

On enregistre et on créé le dossier qui contiendra les clés privées (une par nom de domaine) :

sudo mkdir -p /etc/opendkim/keys

Modifier le propriétaire et les droits de ce répertoire afin que seul l'utilisateur opendkim y ai accès :

sudo chown -R opendkim:opendkim /etc/opendkim
sudo chmod 711 -R /etc/opendkim/keys

Créer fichier /etc/opendkim/TrustedHosts et y mettre

127.0.0.1
localhost
.domaine.fr

!!!! J'en suis ici !!!! Dans /etc/postfix/main.cf ajouter à la fin :

#DKIM

milter_protocol = 6 milter_default_action = accept

smtpd_milters = inet:localhost:8891 non_smtpd_milters = inet:localhost:8891

Redémarrer postfix

Ouvrir port DKIM : sudo ufw allow 12578 comment opendkim

Créer fichier /etc/opendkim/KeyTable et mettre dedans :

mail._domainkey.memodugeek.info memodugeek.info:mail:/etc/opendkim/keys/memodugeek.info/mail.private mail._domainkey.rasp.fr rasp.fr:mail:/etc/opendkim/keys/rasp.fr/mail.private mail._domainkey.daijobu-fansub.fr daijobu-fansub.fr:mail:/etc/opendkim/keys/daijobu-fansub.fr/mail.private mail._domainkey.siebert.ovh siebert.ovh:mail:/etc/opendkim/keys/siebert.ovh/mail.private

Créer fichier /etc/opendkim/SigningTable et mettre dedans :

*@memodugeek.info mail._domainkey.memodugeek.info *@rasp.fr mail._domainkey.rasp.fr *@daijobu-fansub.fr mail._domainkey.daijobu-fansub.fr *@siebert.ovh mail._domainkey.siebert.ovh

Créer fichier /etc/opendkim/TrustedHosts et y ajouter les lignes suivantes :

Vous pourriez laisser un commentaire si vous étiez connecté.
  • serveur_hebergement/serveur_mail/partie_4_spf_dmarc_et_dkim.1662042653.txt.gz
  • Dernière modification : 2023/08/08 14:01
  • (modification externe)