Accéder au contenu.
Menu Sympa

fr - Re: [fr@sympa] DKIM: Sympa ne signe pas les messages

Objet : Pour les administrateurs de serveurs de listes utilisant le logiciel Sympa

Archives de la liste

Chronologique Discussions  
  • From: Guillaume S <adresse@cachée>
  • To: Mathieu <adresse@cachée>, adresse@cachée
  • Subject: Re: [fr@sympa] DKIM: Sympa ne signe pas les messages
  • Date: Sun, 20 Nov 2022 09:00:25 +0100

Bonjour
Concernant DKIM j'ai moi aussi un soucis selon mon interprétation j'ai une signature de sympa et une autre de postfix. Si j'interprète bien comme la signature de sympa est rajouté au mail le contenu changeant les 2 signatures ne peuvent que changer. Et ARC les voit toutes les 2 mais il n'ya qu'un dkim sur 2 qui est passé second (je crois celui de sympa) est fail.

Je ne pense ni être le 1er ni être le seul. Que faut-il faire ? Pour l'instant j'ai désactivé la signature de sympa.

Merci pour les aides/conseils que vous voudrez bien me donner.
Guillaume Smietanski

Le 18 novembre 2022 16:57:10 GMT+01:00, Mathieu <adresse@cachée> a écrit :
J'ai trouvé !

Il m'a fallut définir explicitement `dkim_parameters.signer_domain ml.example.com` dans le `robot.conf` du domaine ml.example.com pour qu'enfin Sympa signe les messages sortant.

Dans les logs je peux enfin voir Sympa::Message::dkim_sign à l'action !

Nov 18 16:28:16 sympa1 bulk[4046264]: debug Sympa::Message::dkim_sign(Sympa::Message <adresse@cachée,4046263,3410/z/shelved:dkim_sign;dmarc_protect>)

Or, le manuel[1] dit certes que « The list domain MUST be included in the “d=” domain », mais juste avant il dit que « you should probably use the default value ». Et comme la doc[2] dit que le valeur par défaut est « the robot domain », et que ça me semblait bien logique, hé bien j'ai cru ce qui était écrit.

Cette seconde doc semble donc obsolète ; il faudrait le mentionner en warning en début de page, non ?

Ou alors c'est un bug de la 6.2.66 ? Car il me semble qu'effectivement la valeur par défaut devrait être le domaine du robot.

Par ailleurs, les messages sortants sont signés même quand `dkim_feature off`. Est-ce bien normal ? Le manuel[3] dit que `dkim_feature` « If set to “on”, Sympa may verify DKIM signatures of incoming messages and/or insert DKIM signature to outgoing messages. » Or il le fait même en `off`. Ce bloc dans `robot.conf` signe bien les messages sortants :

```
dkim_feature off
dkim_parameters.private_key_path /etc/sympa/ml.example.com/dkim-2022-11-14.pem
dkim_parameters.selector sympa
dkim_parameters.signer_domain ml.example.com
dkim_signature_apply_on any
```

Bon weekend à tous.

1. https://www.sympa.community/gpldoc/man/sympa_config.5.html#dkim_parameterssigner_domain
2. https://www.sympa.community/manual/customize/dkim-arc.html#summary-of-dkim-parameters
3. https://www.sympa.community/gpldoc/man/sympa_config.5.html#dkim_feature


On 15/11/2022 10:00, Mathieu wrote:
Bonjour,

Je dois passer à coté de quelque chose, mais je n'arrive pas à faire ajouter la signature DKIM aux messages qu'envoie Sympa.

J'ai suivi la doc et le manuel :
https://www.sympa.community/manual/customize/dkim-arc.html
https://www.sympa.community/gpldoc/man/sympa_config.5.html#dkimdmarcarc

Contexte :
- Ubuntu 22.04.1
- Sympa 6.2.66
- Mail::DKIM (libmail-dkim-perl 1.20200907)

1. J'ai généré localement la clé privée dédiée :

DOMAINE="ml.example.com"
SELECTOR="sympa"
sudo -u sympa openssl genrsa -out /etc/sympa/${DOMAINE}/dkim-$(date -I).pem 2048

2. J'ai ajouté l'enregistrement DNS :

DKIMKEY="$(sudo -u sympa openssl rsa -in /etc/sympa/${DOMAINE}/dkim-$(date -I).pem -pubout -outform der 2>/dev/null |openssl base64 -A)"; echo "${SELECTOR}._domainkey.${DOMAINE}. TXT \"v=DKIM1; k=rsa; \" \"p=${DKIMKEY:0:253}\" \"${DKIMKEY:253}\""

(Bon, c'est du bashism un peu crado, notamment la découpe de la clé publique en morceaux de moins de 255 caractères, mais c'est pour documenter un oneliner facile à reproduire dans le futur par mes collègues/successeurs)

2b. Confirmation depuis le serveur Sympa :

host -ttxt sympa._domainkey.ml.example.com
sympa._domainkey.ml.example.com descriptive text "\"v=DKIM1; k=rsa; \" \"p=MIIBI...AQAB"

3. J'ai configuré le robot.conf du domaine `/etc/sympa/$DOMAINE/robot.conf` :

dkim_feature on
dkim_parameters.private_key_path /etc/sympa/ml.example.com/dkim-2022-11-14.pem
dkim_parameters.selector sympa
dkim_signature_apply_on any

4. Puis j'ai restarté sympa :

sudo systemctl restart sympa

Mais, quand j'envoie un mail (depuis adresse@cachée, avec sa signature DKIM faite par mon propre MTA) à une liste de test (adresse@cachée), Sympa n'ajoute pas l'entête DKIM-Signature. Mais il supprime celle de mon MTA (parce qu'elle est devenue invalide suite aux modifs de Sympa, je suppose) :

Nov 15 09:08:18 sympa1 bulk[2761358]: info Sympa::Message::remove_invalid_dkim_signature() DKIM signature of message Sympa::Message <adresse@cachée,2761354,7233/z/shelved:dkim_sign> is invalid, removing

Si j'ajoute ces options DMARC au robot.conf :

dmarc_protection.mode all
dmarc_protection.phrase name_email_via_list

Alors il ajoute l'entête X-Original-DKIM-Signature, qui correspond à celle de mon MTA, mais il n'ajoute toujours pas son propre DKIM-Signature !

Qu'ai-je donc manqué ?!

Les logs exhaustifs lors du traitement d'un message sont :

Nov 15 09:38:08 sympa1 sympa_msg[2767244]: notice Sympa::Spindle::ProcessIncoming::_twist() Processing Sympa::Message <adresse@cachée>; adresse@cachée; adresse@cachée; adresse@cachée
Nov 15 09:38:08 sympa1 sympa_msg[2767244]: info Sympa::Spindle::DoMessage::_twist() Processing message Sympa::Message <adresse@cachée> for Sympa::List <adresse@cachée> with priority 5, <adresse@cachée>
Nov 15 09:38:08 sympa1 sympa_msg[2767244]: notice Sympa::Spool::store() Sympa::Message <adresse@cachée/shelved:dkim_sign> is stored into Sympa::Spool::Archive as <adresse@cachée,2767244,1423>
Nov 15 09:38:09 sympa1 sympa_msg[2767244]: notice Sympa::Spool::Outgoing::store() Message Sympa::Message <adresse@cachée/shelved:decorate;dkim_sign;dmarc_protect> is stored into bulk spool as <adresse@cachée,2767244,9790>
Nov 15 09:38:09 sympa1 sympa_msg[2767244]: notice Sympa::Spindle::ToList::_send_msg() No VERP subscribers left to distribute message to list Sympa::List <adresse@cachée>
Nov 15 09:38:09 sympa1 sympa_msg[2767244]: info Sympa::Spindle::ToList::_twist() Message Sympa::Message <adresse@cachée/shelved:dkim_sign> for Sympa::List <adresse@cachée> from adresse@cachée accepted (0.10 seconds, 1 sessions, 2 subscribers), message adresse@cachée, size=14652
Nov 15 09:38:10 sympa1 bulk[2767241]: notice Sympa::Mailer::store() Done sending message Sympa::Message <adresse@cachée,2767244,9790/z/shelved:dkim_sign;dmarc_protect> for Sympa::List <adresse@cachée> (priority 5) in 2 seconds since scheduled expedition date
Nov 15 09:38:13 sympa1 archived[2767245]: notice Sympa::Spindle::ProcessArchive::_twist() Processing Sympa::Message <adresse@cachée,2767244,1423/shelved:dkim_sign>; sender: adresse@cachée; message ID: adresse@cachée
Nov 15 09:38:13 sympa1 archived[2767245]: notice Sympa::Spindle::ProcessArchive::_twist() Archiving Sympa::Message <adresse@cachée,2767244,1423/shelved:dkim_sign> for list Sympa::List <adresse@cachée>
Nov 15 09:38:13 sympa1 archived[2767245]: notice Sympa::Archive::store() Message Sympa::Message <adresse@cachée,2767244,1423/shelved:dkim_sign> is stored into archive Sympa::Archive <adresse@cachée/2022-11> as <15>

--
Envoyé de mon appareil Android avec Courriel K-9 Mail. Veuillez excuser ma brièveté.



Archives gérées par MHonArc 2.6.19+.

Haut de le page