nov2018
pour novembre 2018.Cette page concerne l’implémentation du protocole DKIM chez Picasoft. Pour une explication théorique de celui-ci, voir ce paragraphe.
La configuration de DKIM pour Picasoft se fait en trois temps :
L’essentiel de ces opérations est assuré par des programmes développés par le projet OpenDKIM. Les paquets nécessaires sont opendkim
et opendkim-tools
sous Debian.
La génération des clefs s’effectue avec cette commande :
opendkim-genkey -b 4096 -s nov2018 -d picasoft.net
L’option -b
spécifie le nombre de bits de la clef (facultatif), -s
correspond au sélecteur de la clef (une sorte de label)1), -d
est le nom de domaine. Cette commande va créer deux fichiers :
nov2018.private
contenant la clef privée,nov2018.txt
contenant un enregistrement TXT
avec la clef publique à copier/coller dans le DNS.
Ces deux fichiers sont enregistrés sous /DATA/docker/mail/opendkim/
, et la clef privée est montée dans le conteneur au lancement de celui-ci. Un fichier README.md
est également présent dans ce répertoire pour aider l’administrateur et conserver un historique des clefs.
À titre d’exemple, le fichier nov2018.txt
contient :
nov2018._domainkey IN TXT ( "v=DKIM1; h=sha256; k=rsa; " "p=MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA0LZPCh8GyDn1loMJs0IDfWVc6hJKnrDIQaUmcaBxtAoZUyEfTBdGIYaqswC/xCMa/ov01QCFP293RD1caN8h45CaArwoiPIjmM0xnq1YmSVRjABBozUVk6o8F08W9XzwO5iolWLfuMA+oiFnIyhH+ATcb8DxBvBTa8AUwCs6fEvfdSfIPlJNHhymWIbg2rWD01klOY36J0OZC1" "p12Fl1fkUU5jNMcJZOezwrqbQqbqZQOF5+1BY/Wx2xWmjdlyn9OR4nE5046pF7l5/yOQr8EPVnrFK3dx2SNiJuOSj1qs56CAINkytvOoZEH65sULwh/HrQjvVvUYQjwYpVl3cOVLGIybo8n6ArsCUMcBiBjBHJRb6vUI7GM9gilZM17wOTDKL6ncxQPlya5DvmQCuf+2Kaz8HZAG/lAYHUqZ2+YaKDcR8k/xz9dQazqNqXSMvLn/DbisUD" "d21vhfSJxEfW4FKQmJ6g9YSJCyzyKuvI8lyiwuXETM/dJI47Y3nlYJjJtIlxPn7MTvPyh5qByr1C3LrjEVFIe2dhA3C105PAkFMCpG7dut8l1nyxBUmJW1qmJ4dR/EHzwVfMnkcZPi/V8+6BUCT2hg95/rUTtwSD1JTTJduuvkAtrLSOaus35p0wsmmqU/glNDF3H9ARqJnAs/5UgEB+zOBs8fZuI/bcxCkCAwEAAQ==" ) ; ----- DKIM key nov2018 for picasoft.net
Il est rentré tel quel dans le DNS. On peut aussi le retrouver avec la commande :
dig -t txt nov2018._domainkey.picasoft.net
Attention à bien penser à incrémenter le serial du DNS après modification de celui-ci.
La signature automatique des mails sortant est assurée par le paquet opendkim
, qui correspond au programme homonyme. Lors de l’installation de celui-ci, un fichier /etc/opendkim.conf
est créé, ainsi qu’un utilisateur système et un groupe opendkim
.
Différents tuto existent sur le net, et présentent des pratiques différentes. Dans le cas de Picasoft, la configuration suivante2) est adoptée :
/etc/dkimkeys/
sour le nom nov2018.picasoft.net.rsa
, (soit selecteur.domaine.rsa). Cette tâche est réalisée par l’adminsys.signingdomains.table
et rsakeys.table
présents dans ce répertoire permettent de dresser un tableau de clefs et faire des correspondance avec les noms de domaine (ne pas hésiter à les ouvrir pour comprendre leur structure), ils sont générés automatiquement lors du run par un script qui utilise les variables d’environnement docker MyDOMAIN et DKIMSELECTORopendkim.conf
: KeyTable /etc/dkimkeys/rsakeys.table SigningTable refile:/etc/dkimkeys/signingdomains.table # "simple" recommended by DKIMCore Canonicalization simple Mode sv SubDomains no AutoRestart yes AutoRestartRate 10/1M Background yes DNSTimeout 5 SignatureAlgorithm rsa-sha256
mkdir /var/spool/postfix/opendkim
/etc/default/opendkim
et /etc/opendkim.conf
, respectivement : SOCKET="local:/var/spool/postfix/opendkim/opendkim.sock" Socket local:/var/spool/postfix/opendkim/opendkim.sock
/etc/postfix/main.cf
:milter_default_action = accept milter_protocol = 6 smtpd_milters = local:/opendkim/opendkim.sock non_smtpd_milters = local:/opendkim/opendkim.sock
chown -R opendkim:opendkim /etc/opendkim.conf /etc/dkimkeys chown opendkim:postfix /var/spool/postfix/opendkim
postfix
au groupe '‘opendkim’ : adduser postfix opendkim
nov2018
pour novembre 2018.