Skip to Content.
Sympa Menu

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

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

List archive

Chronological Thread  
  • From: Mathieu <address@concealed>
  • To: address@concealed
  • 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 <address@concealed,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 address@concealed, avec sa signature DKIM faite par mon propre MTA) à une liste de test (address@concealed), 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 <address@concealed,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 <address@concealed>; address@concealed; address@concealed; address@concealed
Nov 15 09:38:08 sympa1 sympa_msg[2767244]: info Sympa::Spindle::DoMessage::_twist() Processing message Sympa::Message <address@concealed> for Sympa::List <address@concealed> with priority 5, <address@concealed>
Nov 15 09:38:08 sympa1 sympa_msg[2767244]: notice Sympa::Spool::store() Sympa::Message <address@concealed/shelved:dkim_sign> is stored into Sympa::Spool::Archive as <address@concealed,2767244,1423>
Nov 15 09:38:09 sympa1 sympa_msg[2767244]: notice Sympa::Spool::Outgoing::store() Message Sympa::Message <address@concealed/shelved:decorate;dkim_sign;dmarc_protect> is stored into bulk spool as <address@concealed,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 <address@concealed>
Nov 15 09:38:09 sympa1 sympa_msg[2767244]: info Sympa::Spindle::ToList::_twist() Message Sympa::Message <address@concealed/shelved:dkim_sign> for Sympa::List <address@concealed> from address@concealed accepted (0.10 seconds, 1 sessions, 2 subscribers), message address@concealed, size=14652
Nov 15 09:38:10 sympa1 bulk[2767241]: notice Sympa::Mailer::store() Done sending message Sympa::Message <address@concealed,2767244,9790/z/shelved:dkim_sign;dmarc_protect> for Sympa::List <address@concealed> (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 <address@concealed,2767244,1423/shelved:dkim_sign>; sender: address@concealed; message ID: address@concealed
Nov 15 09:38:13 sympa1 archived[2767245]: notice Sympa::Spindle::ProcessArchive::_twist() Archiving Sympa::Message <address@concealed,2767244,1423/shelved:dkim_sign> for list Sympa::List <address@concealed>
Nov 15 09:38:13 sympa1 archived[2767245]: notice Sympa::Archive::store() Message Sympa::Message <address@concealed,2767244,1423/shelved:dkim_sign> is stored into archive Sympa::Archive <address@concealed/2022-11> as <15>




Archive powered by MHonArc 2.6.19+.

Top of Page