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: Mathieu <adresse@cachée>
  • To: adresse@cachée
  • Subject: Re: [fr@sympa] DKIM: Sympa ne signe pas les messages
  • Date: Fri, 18 Nov 2022 16:57:10 +0100

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>




Archives gérées par MHonArc 2.6.19+.

Haut de le page