Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Notices NoCeM sur fr.*

1 view
Skip to first unread message

Marc SCHAEFER

unread,
Dec 14, 2022, 10:42:05 PM12/14/22
to
Archive-name: fr/usenet/abus/d/nocem-faq

Table des matières
0. OBJECTIFS DE CE DOCUMENT
1. Principes
2. Catégories de NoCeM et clés publiques
2.1 Envoyés par ALPHANET
2.2 Envoyés par d'autres serveurs
3. Configuration pour les newsmasters
3.1 Méthode classique: annonces GPG/PGP dans fr.usenet.abus.nocem
3.2 Méthode simplifiée
4. Exemple de NoCeM
5. Avenir


0. OBJECTIFS DE CE DOCUMENT

Des notices NoCeM sont émises pour la hiérarchie fr.*. Ces notices
sont des articles postés dans fr.usenet.abus.nocem qui recommandent,
de manière authentifiée, du cachage d'articles par catégories.

Par rapport à l'émission de cancels globaux, cette technique a un
avantage: elle laisse le choix au newsmaster local -- voir même à
l'utilisateur avec un logiciel compatible NoCeM, par web ou via un proxy
(voir 5) -- d'appliquer ou non les cancels, par catégories (voir section
2). Il n'y a aucun automatisme ni préconfiguration.

Chacun peut envoyer ses annonces NoCeM: je propose de centraliser, pour
la hiérarchie fr, les descriptifs ici. Envoyez-moi un petit mail avec
les informations (clé publique GPG/PGP, types et descriptions).

Voici un lien à des outils pour construire des messages NoCeM à
partir d'une liste de Message-ID et des Newsgroups correspondants [9].

Cette FAQ se trouve aussi sur le GIT [10].

Chaque newsmaster fait ce qu'il lui semble adéquat et est donc libre de
choisir le ou les types de nocem sur son serveur, voir la référence
section 3 au fichier de configuration nocem.ctl pour un contrôle
détaillé du fonctionnement. Ce n'est pas parce qu'un serveur publie un
certain type de NoCeM qu'il les exécute réellement localement.

Les NoCeM devraient être publiés globalement (dans fr.usenet.abus.nocem,
éventuellement cross-postés au big8 dans news.lists.filters), sinon
l'objectif des NoCeM n'est pas atteignable, lire [12]. On constate que
déjà deux des émetteurs de NoCeM ne le font plus (voir section 2).


1. Principes

NoCeM permet de signer des annonces de recommandations de cachage ou de
suppression avec une clé de signature au format OpenPGP (p.ex. grâce au
logiciel libre gpg). Les administrateurs locaux de chaque serveur de
news et les utilisateurs de certains rares logiciels compatibles peuvent
accepter certaines clés et certains types, et donc ne plus voir les
articles correspondants si désiré.

C'est moins automatique que les cancels déjà effectués par consensus
dans la hiérarchie, mais cela a l'avantage de permettre aux
administrateurs locaux de décider ce qu'ils acceptent (s'ils sont encore
par là!).


2. Catégories de NoCeM et clés publiques
2.1 Envoyés par ALPHANET

ALPHANET n'envoie désormais plus de NoCeM globaux [14]. Si vous êtes
un utilisateur ALPHANET, consultez le forum alphanet.general ou
la liste des types de NoCeM ALPHANET [13]. Si vous êtes un newsmaster,
consultez la section 3.2 du présent document.

2.2 Envoyés par pasdenom.info

clé GPG catégorie rôle
--------------------------------------------------------------------------
ro...@pasdenom.info site rares annulations manuelles
spam détection de spams via spamassassin
spam2 annulations avec rares faux positifs
spam3 annulations avec faux positifs
spam4 annulations avec un peu plus de faux positifs

Les types spam, spam2, spam3 et spam4 obtiennent un score spamassassin,
plus le numéro est élevé plus le seuil est bas donc plus le risque d'un
article légitime soit considéré comme spam. Ce risque reste, dans notre
expérience, faible.

La clé publique est importable depuis: http://pasdenom.info/gpg/robot.pasdenom.asc

2.3 Envoyés par d'autres

On m'a signalé bleachbot qui semble détecter certains spams, consulter:

http://home.httrack.net/~nocem/

Il applique notamment l'UDP contre dizum, malheureusement
incomplètement. Bleachbot est aussi un robot qui émet des cancels
globaux.

On m'a signalé également llpminibot qui semble copier certains (mais pas
tous) des cancels du miakibot et effectuer des tests pour le serveur
dodin.fr.nf; comme ces NoCeM ne sont plus publiés globalement, comme
ceux d'ALPHANET, consulter la documentation spécifique du serveur dodin
[8].

N'hésitez pas à me contacter pour compléter ces informations.


3. Configuration pour les newsmasters

3.1 Méthode classique: annonces GPG/PGP dans fr.usenet.abus.nocem

Voir aussi
https://git.alphanet.ch/gitweb/?p=inn-install/.git;a=blob_plain;f=README.html;hb=HEAD#configurer-nocem

Choisissez quels catégories vous désirez supporter (section 2
ci-dessus), puis

1) ajoutez autant de lignes que nécessaire dans /etc/news/nocem.ctl
par exemple, recommandé:

ro...@pasdenom.info:site,spam,spam2

2) ajoutez les clés publiques en section 2 dans votre
/etc/news/pgp/ncmring.gpg

# su - news -s /bin/bash
gpg --no-default-keyring --keyring /etc/news/pgp/ncmring.gpg --import < fichier

# vérification, par exemple pour alphanet.ch:
gpg --no-default-keyring --keyring /etc/news/pgp/ncmring.gpg --list-keys alphanet.ch
pub rsa3072 2021-12-10 [SC]
D3538002EAA0B9DDF4F39557F1BD7406CAD180FC
uid [ultimate] NoCeM ALPHANET fr <noce...@alphanet.ch>
sub rsa3072 2021-12-10 [E]

pub rsa3072 2021-11-29 [SC]
440CEF517C05E3441C7DA035A5816B96605C48B7
uid [ unknown] NoCeM fr test <nocem-...@alphanet.ch>

3) vérifiez que vous avez bien NoCeM actif dans /etc/news/newsfeeds

par exemple:

# Feed NoCeM notices to perl-nocem in order to process third-party,
# PGP-signed article cancellation notices. See perl-nocem(8) for more
# details on how to set this up.
nocem!:!*,alt.nocem.misc,news.lists.filters,fr.usenet.abus.nocem\
:Tc,Wf,Ap:/usr/lib/news/bin/perl-nocem

4) rechargez votre serveur de news (ou juste recharger newsfeeds et
flusher nocem!) et consultez les logs

ctlinnd reload newsfeeds

Exemple:

news% grep -B1 nocem /var/log/news/news.notice
Dec 12 12:03:35 shakotay innd: SERVER cancelled <sp4jrk$rfj$1...@dont-email.me>
Dec 12 12:03:35 shakotay nocem: processed notice fr.20211212120334.16566 \
by noce...@alphanet.ch (4 ids, 0.01000 s, 400.0/s)

5) si cela ne marche pas, vérifier par exemple dans
/usr/share/perl5/INN/Config.pm que les chemins des exécutables gpg ou
gpgv sont corrects.

3.2 Méthode simplifiée

Il s'agit d'une méthode expérimentale qui ne nécessite aucune
modification de la configuration INN contrairement au 3.1. Elle a
l'avantage, d'être quasi instantanée (pas de délai de publication et
d'inondation des NoCeM).

C'est la seule désormais supportée pour les serveurs tiers qui
souhaiteraient appliquer certains NoCeM ALPHANET [13].

Exemple: supposons que vous vouliez supprimer, localement, sur votre
serveur, les articles visés par des NoCeM de clé noce...@alphanet.ch et
de type covidfakenews:

Téléchargez le script nocem.sh:
wget -O nocem.sh 'https://git.alphanet.ch/gitweb/?p=usenet-fr-faq;a=blob_plain;f=usenet/abus/d/NoCeM/tests/nocem.sh'

Il vous faudra avoir la commande GET (sous root: apt-get install
libwww-perl sous Debian) et faire:

mkdir -p ~/tmp

Ensuite, lancer ce script comme ceci, sous l'utilisateur news ou root:

rm -f tmp_file
./nocem.sh noce...@alphanet.ch/covidfakenews > tmp_file
if [ -s tmp_file ]; then
awk < tmp_file "/^<[^'>]+>\$/ { printf \"ctlinnd cancel '%s'\n\", \$1 } { }" | bash
fi
rm -f tmp_file

Testez d'abord à la main, si vous êtes satisfait, créer un script
et mettez-le dans une crontab, par exemple à la minute */2 (toutes
les 2 minutes).

Attention: au premier lancement tous les cancels sur 90 jours seront
exécutés. Si cela n'est pas ce que vous voulez, lancez une fois le
script à vide sans le | bash ci-dessus. La fois suivante, seuls
les nouveaux seront exécutés.


4. Exemple d'article NoCeM

Ceci devrait vérifier: (par exemple avec gpg --no-default-keyring
--keyring /etc/pgp/ncmring.gpg --verify)

Subject: @@NCM NoCeM test notice fr.20211202142020.2244 (1 article(s))
From: Marc SCHAEFER <scha...@alphanet.ch>
Approved: scha...@alphanet.ch
Newsgroups: fr.usenet.abus.nocem
Followup-To: fr.usenet.abus.d

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

Ceci est un test pour yamo, veuillez ignorer.

@@BEGIN NCM HEADERS
Version: 0.93
Issuer: nocem-...@alphanet.ch
Type: site
Action: hide
Count: 1
Notice-ID: fr.20211202142020.2244
@@BEGIN NCM BODY
# Ceci est un test pour yamo
<so2l1g$s3d$1...@shakotay.alphanet.ch> fr.usenet.abus.d
@@END NCM BODY
-----BEGIN PGP SIGNATURE-----

iQGzBAEBCgAdFiEERAzvUXwF40QcfaA1pYFrlmBcSLcFAmGoyBQACgkQpYFrlmBc
SLcqjwwAl9c77gwDrjbYWj1BTjMerLOvvDL+fbDEhKNVBncmTLhSXIcVpVuUJ94E
BQwdiTrusdnIpNu1WpKuGv7XbGOG55sp3gmL9ZRAvX2pxEGVElgr5UtM90MTByzV
j0po/jOca3JozcHyrmyYf1wKkpmZ3PapVAFYv7QHeEZ65uR8OVaFeG0Xomhjt3qj
bHHDhoofJXGeViqp+EUQ4BRre9z3oHlL5v1XNGyWJrfU4GkXlQqlDrr1lfYUZg6V
yd5DoDO3DVcTRtj3XB0Z8M/uCvEZZWgLJSuTgWs/yD8ZSC9SRYr+mIS2MabpxFBo
WVT38eWe2fXEp5jssS2de3bvDTszzpEhjnrIuxtSUBVM3RbY0x1nusQb3NHQ4N7O
VeY0SSn5Z0JPA+Zd1i9xRzxcwjY5HHttE4acvnvJ7SPQ/fWHcBV4uwCFw2wWj/ED
NLangljV2gVkpx4k+q8q6TAfSRYVsI7htNvw2I1tcdmv2NRVg/t1zslrEuWEri96
PCZVgWjN
=f4iX
-----END PGP SIGNATURE-----

5. Avenir

Avec un système qui permettrait à chaque utilisateur de news de
sélectionner quelles catégories d'annonces NoCeM il veut appliquer,
il serait possible que les serveurs ne suppriment plus d'articles,
augmentant ainsi la liberté d'accès et de choix des utilisateurs.

Toutefois, le support des annonces NoCeM par les clients news
reste très, très limité, voir inexistant: il semble que GNUS le
supporte, par exemple [5].

Pour cette raison ALPHANET a implémenté mi-avril 2022 un proxy NNRP [1]
de démonstration qui filtre les articles des catégories NoCeM choisies
dans l'interface web de configuration [2]. Ce proxy met aussi à
disposition un entête X-NoCeM qui permet, si les catégories
correspondantes sont désactivées par l'utilisateur, de faire du filtrage
avec son client news [11].

Pour une démonstration simple de l'application flexible des NoCeM,
utilisez l'interface web en lecture [3] et sa configuration [4].
L'avenir est déjà là :)

En ce qui concerne l'avenir des NoCeM et du proxy, il y a plusieurs
pistes:

- adapter le proxy pour utiliser la méthode 3.2, ce qui évite
le besoin d'une BD locale (donc plus facilement utilisable p.ex. sur
Android ou pour l'utilisateur final)

ALPHANET est à disposition si d'autres newsmaster veulent installer ce
proxy.

[1] nnrp.alphanet.ch port 119 (ou 563 pour chiffré, recommandé)
[2] https://news-admin.alphanet.ch/
[3] https://nnrp.alphanet.ch/
[4] https://nnrp.alphanet.ch/config
[5] http://www.ossh.com/emacs/manual/gnus_280.html
[8] http://www.dodin.org/wiki/pmwiki.php?n=Usenet.NntpServerDodin#toc-3.2
[9] https://git.alphanet.ch/gitweb/?p=usenet-fr-faq;a=blob;f=usenet/abus/d/nocem-faq
[10] https://git.alphanet.ch/gitweb/?p=usenet-fr-faq;a=tree;f=usenet/abus/d/NoCeM
[11] https://nnrp.alphanet.ch/newsgroup/fr.comp.usenet.serveurs/%3Ct8f3ae%2430n%241%40shakotay.alphanet.ch%3E
[12] http://www.cm.org/faq.html
[13] https://git.alphanet.ch/gitweb/?p=alphanet-faq;a=blob;f=alphanet/nocem-types
[14] https://nnrp.alphanet.ch/newsgroup/alphanet.nocem
0 new messages