Impossible de signer mes messages avec DKIM

Bonjour,

Je viens vers vous aujourd’hui, car après 1 semaine de galère à mettre en place les signatures DKIM sur mon serveur mail, ça ne fonctionne toujours pas. Mon serveur mais est sous Postfix, j’ai utilisé OpenDKIM pour signer mes messages, tous mes fichiers sont bien configurés, et quand je fais un test DKIM sur des sites lambdas, ils détectent bien ma clé publique. Toutefois, quand j’essaie avec mail-tester, mon message n’est toujours pas signé.

À mon avis, le problème vient du fait que j’envoie mes mails avec l’application “mail” d’Android, ainsi qu’avec l’application “mail” de mon Mac. J’ai vu sur internet que des gens utilisaient des scripts en PHP pour envoyer leurs mails signés, mais ce n’est pas comme ça que je veux faire.

En espérant que vous pouvez m’aider,
Merci d’avance

Regarde tes logs Postfix.
Donne nous sa config.
C’est lui qui est en charge de signer les mails, donc s’il ne le sont pas il y a un souci a son niveau, surement pas au niveau du client

Tout d’abord, merci pour ta réponse. Les logs Postfix, c’est bien dans /var/log/mail.log ?
Si oui, j’ai relancé Postfix, j’ai envoyé un mail et j’ai regardé les logs, il n’y a aucune erreur, mais OpenDKIM n’apparaît pas dedans. Au niveau de la configuration, la voici :

 # See /usr/share/postfix/main.cf.dist for a commented, more complete version


 # Debian specific:  Specifying a file name will cause the first
 # line of that file to be used as the name.  The Debian default
 # is /etc/mailname.
 #myorigin = /etc/mailname

smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)
biff = no

 # appending .domain is the MUA's job.
append_dot_mydomain = no

 # Uncomment the next line to generate "delayed mail" warnings
 #delay_warning_time = 4h

readme_directory = no

  TLS parameters
smtp_tls_security_level = may
smtpd_tls_cert_file= /etc/letsencrypt/live/mail.matthieucmp.eu/fullchain.pem
smtpd_tls_key_file= /etc/letsencrypt/live/mail.matthieucmp.eu/privkey.pem
smtp_tls_CAfile = /etc/letsencrypt/live/mail.matthieucmp.eu/cert.pem
smtpd_tls_protocols = !SSLv2, !SSLv3
smtpd_tls_ciphers = high
smtpd_use_tls=yes
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache

 # See /usr/share/doc/postfix/TLS_README.gz in the postfix-doc package for
 # information on enabling SSL in the smtp client.

smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated defer_unauth_destination
myhostname = matthieucmp.eu
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = /etc/mailname
mydestination = $matthieucmp.eu, vps433647.ovh.net, localhost.ovh.net, localhost
relayhost =
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
virtual_mailbox_domains = mysql:/etc/postfix/mysql-virtual-mailbox-domains.cf
virtual_mailbox_maps = mysql:/etc/postfix/mysql-virtual-mailbox-maps.cf
virtual_alias_maps = mysql:/etc/postfix/mysql-virtual-alias-maps.cf

smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
smtpd_sasl_auth_enable = yes
smtpd_tls_security_level = may
smtpd_tls_auth_only = no
smtpd_recipient_restrictions = permit_mynetworks permit_sasl_authenticated reject_unauth_destination
virtual_transport = dovecot
dovecot_destination_recipient_limit = 1

 # DKIM
milter_protocol = 6
milter_default_action = accept
smtpd_milters = inet:localhost:8891
non_smtpd_milters = inet:localhost:8891

EDIT : Les logs dans /var/log/mail.log après redémarrage d’opendkim

Sep 28 10:45:29 vps433647 opendkim[6299]: OpenDKIM Filter: mi_stop=1
Sep 28 10:45:29 vps433647 opendkim[6299]: OpenDKIM Filter v2.9.2 terminating with status 0, errno = 0
Sep 28 10:45:29 vps433647 opendkim[8165]: OpenDKIM Filter v2.9.2 starting (args: -x /etc/opendkim.conf -u opendkim -P /var/run/opendkim/opendkim.pid -p inet:8891@localhost)

Tout semble en ordre …
Essaye de mettre des logs plus verbeux sur postfix voir s’il ne remonte pas une erreur.
Sinon il y a le «milter_protocol» que tu peux regarder aussi car suivant les tuto ce n’est pas le même chiffre qui est mis :
http://lea-linux.org/documentations/DKIM_SPF_Postfix

Pour le “milter_protocol”, effectivement, il y a 2 ou 6 suivant les tutos, j’ai essayé les deux, rien ne change. Par contre je n’ai pas compris pour les “logs plus verbeux” ahah
Je viens de rajouter un champ A dans ma zone DNS “dkim._domainkey.mon-domaine.tld” pointant vers l’ip de mon serveur. Je viens de voir ça sur un tuto, ça va changer quelques chose ?

En tout cas, c’est bien OpenDKIM qui ne veux pas communiquer avec Postfix, et je ne comprend pas pourquoi … Cette histoire me rend dingue depuis quelques jours !

EDIT : le rajout d’un champ A à fait buguer OVH, je l’ai donc enlevé … Je suis désespéré

J’ai peut-être une piste.
J’ai déclaré mon champ TXT “dkim._domainkey” sur OVH, mais sur plusieurs tutos, ils parlent de Bind9. Faut t’il aussi déclarer le champ TXT dedans ?

EDIT : Après quelques recherches, c’est pas ça le problème. J’ai vraiment un problème de communication entre Postfix et OpenDKIM. Voilà mon fichier /etc/default/opendkim :

 # Command-line options specified here will override the contents of
 # /etc/opendkim.conf. See opendkim(8) for a complete list of options.
 #DAEMON_OPTS=""
 #
 # Uncomment to specify an alternate socket
 # Note that setting this will override any Socket value in opendkim.conf
 #SOCKET="local:/var/spool/postfix/opendkim/opendkim.sock" # default
 #SOCKET="inet:8891" # listen on all interfaces on port 54321
 SOCKET="inet:8891@localhost" # listen on loopback on port 12345
 #SOCKET="inet:12345@192.0.2.1" # listen on 192.0.2.1 on port 12345

EDIT : Finalement, j’ai tout supprimé, j’ai recommencé, et là ça fonctionne. Je comprends pas trop mais c’est cool !

Bon tant mieux !
Pour ton pb de DNS / Bind … c’est la même chose. Bind est un serveur DNS. Et c’est bien ce que tu fait dans ta console d’admin OVH

C’est parce qu’une des lignes était décommentée dans le fichier /etc/default/opendkim que ça ne fonctionnait pas

Bizarre … je ne voi pas pourquoi ça casserai quelque chose de spécifié de la config par défaut … mais bon tant que le soucis est réglé :+1: