[Précédent (date)] [Suivant (date)] [Précédent (sujet)] [Suivant (sujet)] [Index par date] [Index par sujet]

RE: Une bonne raison d'utiliser PGP



On Tue, 2003-02-11 at 10:05, Sylvain Carle wrote:
> > NM: Pourquoi pas Mailman-Developers?
> 
> Je pense que plusieurs points ne sont pas spécifiques à Mailman, alors
> on pourrait faire une annonce de notre projet sur cette liste et des
> progress reports à l'occasion pour ne pas être trop off-topic là-bas, en
> tout cas, c'est ma perception, on n'a qu'à poser la question sur cette
> liste et voir la réponse...

Le 6 février, j'ai posté un message à ce sujet, mais comme je te disais
lors de la réunion du GulSE la semaine dernière, je n'ai eu aucune
réponse:

http://www.mail-archive.com/mailman-developers%40python.org/msg05839.html

> Ok, quand est-ce qu'on commence? Par où on commence?

Ce qu'il nous faut:

- Une façon de stocker la liste des clefs constituant la "whitelist", la
liste des gens autorisés à poster sans passer par la modération.

Plutôt que de ré-inventer le concept, je crois que d'utiliser gpg pour
gérer un keyring précis est la meilleure option.

- Une façon pour le serveur mail d'aller chercher des clefs publiques.

Pour ça, il me semble que l'option la plus simple est l'utilisation d'un
key server. Aussi, idéalement, il faudrait pouvoir en ajouter par
l'intermédiaire d'une interface web.

- Une façon/endroit où vérifier la signature d'un message par une clef
présente dans la whitelist.

Ça peut être fait à l'intérieur de Mailman, mais aussi avant d'arriver à
Mailman, par l'ajout d'un header particulier.

- Une façon de dire à Mailman de laisser passer un message signé par une
clef présente dans la whitelist.

Si la vérification de signature est faite à l'intérieur de Mailman, la
question ne se pose pas. Par contre, si la vérification est faite avant
d'arriver à Mailman, l'option "Hold posts with header value matching a
specified regexp" pourrait alors être utilisée pour retenir les messages
qui n'étaient pas signés.

- Une façon d'ajouter une clef à la whitelist.

Idéalement, ça serait par l'interface de modération, où les message
signés comportent l'option "ajouter la clef 0x0000000" à la whitelist
est proposée au modérateur. Si l'option est sélectionnée, Mailman tente
d'obtenir la clef en question en demandant au keyserver pour l'ajouter à
la whitelist. Si la clef n'est pas trouvée, on affiche soit un message
d'erreur, soit une boîte texte permettant de coller le texte de la clef
et on soumet le formulaire.

Au pire, ou pour commencer, on ajoute les clefs à la main à la
whitelist: "cat key_file | gpg --keyring my_white_list --import".

- Une façon de retirer une clef de la whitelist.

Idéalement, une section de l'interface administrative de Mailman
(probablement "Privacy Options") permettrait de retirer ou d'ajouter des
clefs à la whitelist. Comme pour le point précédent, pour commencer, on
peut le faire manuellement par gpg.

- Possiblement gérer également une blacklist, au fonctionnement
similaire, mais où les messages signés avec une clef présente dans la
blacklist sont automatiquement rejetés.

Je doute toutefois que cette fonctionnalité ne soit vraiment utilisée.


J'ai lu le message de Fabian Rodriguez  concernant smailman, et j'en ai
retiré l'idée de toucher le moins possible à Mailman pour commencer. Si
on créait un script qui interceptait le message avant qu'il n'arrive à
Mailman, on pourrait y faire les vérifications et ajouter un header au
message avant de le passer à Mailman. Cet en-tête, nommé par exemple
"X-pgp-whitelist" pourrait contenir les valeurs "yes" ou "no". En
indiquant à Mailman de modérer uniquement les messages ayant cet en-tête
à "no", on obtient alors la fonctionalité voulue.

Cette méthode ne procurerait pas la plus grande convivialité du côté de
la gestion de la whitelist, mais elle permettrait d'obtenir très
rapidement un prototype pour pouvoir évaluer la pertinence de cette
fonctionalité "sur le terrain".

Je vais prendre un peu de temps ce soir pour tenter de faire ce
prototype en Python. Je crois qu'il existe une interface Python à GPG,
ce qui accélérera probablement le développement. De plus, si on décide
d'aller plus loin avec l'idée, le script sera plus facile à intégrer à
Mailman s'il est fait dans le même langage que Mailman :)

Nicolas


-- 
OpenPGP public key:         http://nicolas.marchildon.net/pubkey.txt
Key fingerprint:  5E84 1089 0036 BB63 6997  232C 8FFB 777D 39D4 B2D4
Jabber ID: [email protected]              http://www.jabber.org
What have you done for freedom today?             http://www.gnu.org

Attachment: signature.asc
Description: This is a digitally signed message part