Accéder au contenu.
Menu Sympa

fr - Re: [sympa-fr] Inclure une liste d'abonnés distante : bad request

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

Archives de la liste

Chronologique Discussions  
  • From: Philippe Camps <adresse@cachée>
  • To: adresse@cachée
  • Subject: Re: [sympa-fr] Inclure une liste d'abonnés distante : bad request
  • Date: Thu, 11 Jan 2018 10:22:50 +0100

Bonjour à tous,

Je reviens sur l'inclusion de liste distante car il me reste un problème que je n'arrive pas à régler.

Certificats (résolus)

Je me suis d'abord créé un certificat auto-signé pour ma liste client (liste-cliente) en remplissant le champ email = adresse@cachée
et ai copié le certificat (cert.pem) et la clé privée (private_key) dans le dossier /var/lib/sympa/list_data/liste-cliente/

J'avais alors un erreur :
Error IO::Socket::IP configuration failed SSL connect attempt failed with unknown error error:14090086:SSL routines:ssl3_get_server_certificate:certificate verify failed unable to connect https://listhost.domain:443/

Je me suis alors dit que c'était de la faute d'un certificat client auto-signé. J'ai alors créé ma propre PKI, sans que cela résolve l'erreur.

J'ai fini par me rendre compte que cela venait de mon certificat apache fourni par Terena qui posait problème car le CN était de la forme "*.domain"

Je l'ai alors remplacé par un certificat fourni par le CNRS avec le CN de la forme "serveur.domain" (avec les AC CNRS chargés)

Dans mon cas, je suis obligé de créer un certificat client pour la liste, car le serveur sympa ne tourne que sur https. Sans certificat client et en essayant avec la solution "boucherie", wwsympa râlait avec l'histoire des certificats et autorités de certification.

En conclusion : j'utilise un certificat pour ma liste cliente signé par ma propre PKI et un certificat serveur CNRS.


Get /sympa/dump/maliste-serveur : bad request (non résolu)

Cependant, quand je demande l'inclusion de la liste, 0 abonnés sont retournés.

 wwsympa[30773]: info Sympa::List::_include_users_remote_sympa_list() 0 included users from list (0 subscribers) https://listhost.domain:443/sympa/dump/maliste-serveur

Le log apache montre une erreur 400 (Bad request du client) : "GET /sympa/dump/maliste-serveur HTTP/1.0" 400 226

Quand je lance la requête à la main sur l'URL https://serveur.domain/sympa/dump/maliste-serveur , mes abonnés s'affichent correctement dans le navigateur.

Log OK : - - [10/Jan/2018:18:27:20 +0100] "GET /sympa/dump/maliste-serveur HTTP/1.1" 200 104

J'ai pourtant ajouté dans le config de la liste serveur à inclure : review private_include_remote_list_ip

Avec le scénario : /usr/share/sympa/default/scenari/review.private_include_remote_list_ip qui contient :

title.gettext restricted to subscribers and to include remote list

equal([env->remote_addr],IP-liste-cliente)        md5     -> do_it
is_subscriber([listname],[sender])      smtp,dkim,md5,smime  -> do_it
is_owner([listname],[sender])           smtp,dkim,md5,smime  -> do_it
is_editor([listname],[sender])          smtp,dkim,md5,smime  -> do_it
is_listmaster([sender]     )            smtp,dkim,md5,smime  -> do_it
true()                                  smtp,dkim,md5,smime -> reject(reason='review_subscriber')


Mais que je mette ou ne mette pas : equal([env->remote_addr],IP-liste-cliente)        md5     -> do_it , le mauvais fonctionnement est le même.

Je me demande comment je pourrais débugguer la requête la liste cliente ? En mettant le max de debug dans l'interface sympa, il n'y a aucune erreur dans /var/log/sympa.log.

Un bug dû au CGI wwsympa-wrapper.fcgi  ? Je suis sous centOS 7 avec le rpm sympa-6.2.24-1.20171222.RHEL7.x86_64

Peut-être que quelqu'un a déjà rencontré et résolu cette difficulté.

Merci

Le 22/12/2017 à 11:27, David Verdin a écrit :

Ah ben tiens, je ne l'avais pas vu ce message.

En gros, tu dois autoriser une requête review depuis le serveur qui inclue la liste distante.

Appelons poétiquement "serveur", la liste distante et "client" la liste qui va l'inclure.

Pour réaliser l'inclusion, tu dois suivre ces étapes (cf. la doc un peu maigre : https://www.sympa.org/manual/parameters-data-sources#include_remote_sympa_list):

Solution 1 : chirurgie fine, on n'autorise qu'une liste précise

  1. mettre un certificat à ta liste. Tu crées une certificat pour ta liste cliente, que tu places avec sa clé privée dans le répertoire de la liste. Note que le certificat doit obligatoirement s'appeler cert.pem et la clé private_key. Ces noms sont codés en dur dans Sympa. Pour inclure les certificats, tu peux suivre cette doc : https://www.sympa.org/manual/x509#distributing_encrypted_messages. Note que c'est pas forcément facile d'obtenir un certificat pour une adresse email qui n'est pas une adresse de personne.
  2. Configurer la liste cliente :
    remote_host <domaine.serveur.tld>
    port 443
    path /sympa/dump/<serveur>
    cert list
  3. Configurer la liste serveur en ajoutant une ligne de ce type au scnéarion review:
    equal([sender],<adresse liste cliente>)          md5     ->     do_it

Solution 2 : boucherie, on autorise tout le serveur

Si tu ne peux pas créer ce certificat, tu peux avoir une solution de secours : autoriser l'IP du serveur client. Mais dans ce cas, n'importe quelle requête émise depuis le domaine client sera acceptée. Donc la liste serveur pourra être incluse par n'importe quelle liste depuis le domaine client. Tu peux faire ça avec cette règle de scénario :

equal([env->remote_addr],<adresse IP domaine client>)                 md5      ->      do_it


Voilà. J'espère que ça t'aide.

Bonne journée !

David

On 22/12/2017 10:47, Philippe Camps wrote:

Bonjour,

L'inclusion de liste distante ne semble donner lieu à peu d'inspiration.

Pourtant, cela doit être faisable puisque le mail de ikeda adressé à sympa-announce intègre les listes sympa-users, sympa-dev. A moins qu'il ne s'agisse d'inclusion de listes locales que j'ai déjà testé et qui fonctionne.

Y aurait-il une doc plus explicite dédiée à cela, un forum ... On parlait au JRES du renouveau sympa. Où dois-je aller ?

Merci pour votre aide


Le 20/12/2017 à 15:30, Philippe Camps a écrit :

Bonjour,

Je souhaite inclure une liste d'abonnés distante par : include_remote_sympa_list
Pour le moment, j'essaie de le faire sur le même serveur sympa (6.2.23.b2), à la fois serveur et client. Mais je devrais normalement le faire entre 2 serveurs sympas, dont un que je n'administre pas.

Par l'interface, je renseigne :
nom court pour cette source : include_remote_sympa_list adresse@cachée
serveur distant : listhost.ies.univ-montp2.fr
port : 443
chemin pour accéder à la fonction dump de la liste distante : /sympa/dump/heberges

En lisant l'aide : Dans ce mode, le présent site Sympa agit comme client, l'autre spécifié comme serveur. Le serveur doit autoriser le Sympa distant à accéder à la liste des membres de la liste, ce via le paramètre \"review\" (défini par un scénario).

Concrètement sur le serveur, comment dois-je faire pour écrire ce scénario ? où le placer ?

Puis côté client, il est expliqué que je devrais utiliser un certificat et sa clé et que j'ai le choix entre un certificat list ou un certificat robot.

Si je choisis un certificat list, je le génère avec openssl avec le champ email = adresse@cachée ? et je le place dans le répertoire /var/lib/sympa/list_data/heberges/ qui contient déjà le fichier config ?
Le nom ou l'extension du certificat sont-ils imposés (.crt ?).

Pourriez-vous m'apporter une aide sur cette fonctionnalité que je n'arrive pas à faire fonctionner ?

En vous remerciant

--
Document sans nom Philippe Camps
Administrateur Systèmes et réseaux

Institut d'Electronique et des Systèmes
Université de Montpellier - CNRS
CC05001 - 860 rue Saint Priest
34095 Montpellier Cedex 5 – France
Tél. : +33 (0) 4 67 14 39 85



--
Document sans nom
Philippe Camps
Administrateur Systèmes et réseaux

Institut d'Electronique et des Systèmes
Université de Montpellier - CNRS
CC05001 - 860 rue Saint Priest
34095 Montpellier Cedex 5 – France
Tél. : +33 (0) 4 67 14 39 85



-- 
"Mieux vaut viser la perfection et la rater que viser la médiocrité et l'atteindre."
- Francis Blanche

JPEG image

JPEG image

PNG image

PNG image

JPEG image

JPEG image

JPEG image

PNG image

PNG image

JPEG image



  • Re: [sympa-fr] Inclure une liste d'abonnés distante : bad request, Philippe Camps, 11/01/2018

Archives gérées par MHonArc 2.6.19+.

Haut de le page