> AiutoCanc

Tutto quello che occorre sapere sulla cancellazione

Indice

  1. Il problema della cancellazione su Usenet
    1. In cosa consiste la cancellazione di un articolo
      1. Cancellazione locale
      2. Cancellazione globale
  2. Come cancellare un articolo da tutta Usenet
    1. Istruzioni per cancellare i propri articoli con i principali newsreader
      1. Outlook Express
      2. Free Agent e Forté Agent
      3. XNews
      4. Mozilla/Netscape/Thunderbird
      5. Dialog
      6. Pan
    2. Cancellazione di un articolo inviato su un gruppo moderato
    3. Assicurarsi che l'articolo sia stato effettivamente cancellato
  3. Abusi
    1. E se qualcuno ti cancella gli articoli?
  4. Cancellazione dello spam
    1. I Cancel-Lock e NoCem
      1. Cancel-Lock
      2. NoCem
  5. Bibliografia
  6. Autori
  7. Ringraziamenti
  8. Storia delle revisioni

1. Il problema della cancellazione su Usenet

A tutti capita prima o poi di mandare un Articolo su Usenet per poi pentirsene subito dopo. Che fare allora? Lo si può cancellare prima che qualcuno lo veda?

La risposta è , esiste un comando di cancellazione da distribuire ai vari server. Anzi ne esistono due. Uno si chiama Cancel e l'altro Supersedes, e come si intuisce dal nome è chiaro che il primo cancella e il secondo sovrascrive. Ma al tempo stesso la risposta è anche no, di fatto non si può eliminare l'articolo da tutta Usenet.

1.1. In cosa consiste la cancellazione di un articolo

Occorre innanzitutto distinguere il caso in cui si voglia rimuovere un articolo da un singolo server, oppure dal proprio archivio personale di articoli, dalla cancellazione globale su tutta la Usenet-sfera.

1.1.1. Cancellazione locale

Sebbene gli hard disk siano ormai molto economici, essi non sono illimitati; occorre pertanto sia ai newsreader che ai server news avere un qualche meccanismo di rimozione automatica degli articoli dal proprio archivio. Un meccanismo ovvio è quello per il software di tenere conto della data di ricezione e rimuovere quindi tutti gli articoli più vecchi di un determinato limite temporale. A questo scopo è possibile per l'autore di un articolo anche "suggerire" una data di estinzione del messaggio usenet impostando l'header "Expires: ", ovviamente tale suggerimento può anche non venire accolto dai server news che si distribuiranno l'articolo. Per esempio, alcuni server basano l'archivio degli articoli su una struttura dati 1che non permette la cancellazione dei post secondo un dato criterio temporale.

Un'altra esigenza comune è quella per un gestore di un server news o anche di un semplice lettore delle News di rimuovere un certo articolo dallo spool2 locale. Per fare questo verrà ovviamente usato un comando che non ha la necessità di essere distribuito, ma che agirà localmente solo sul proprio archivio.

1.1.2. Cancellazione globale

Per conseguire lo scopo di rimuovere un articolo da tutta Usenet occorre inviare un comando a tutti i Server news che abbiano ricevuto l'articolo da cancellare. Per fare questo si crea (a mano oppure mediante una funzione del proprio newsreader) un articolo di cancellazione che teoricamente dovrebbe propagarsi su tutti i server news nei quali è presente, o arriverà, l'articolo da cancellare. I server, una volta ricevuto il Cancel, dovrebbero onorare il comando eliminando l'articolo dal proprio archivio locale e propagare il comando di cancellazione ai peer ovvero agli altri server news con cui essi scambiano le informazioni, secondo la comune via di propagazione a cascata che è alla base di Usenet.

I server però possono essere configurati in modo da non onorare i Cancel e/o da non propagarli.

Il problema quindi è che una volta immesso un articolo, questo si propaga con estrema velocità ed efficienza e in maniera più capillare dell'eventuale comando di cancellazione seguente, che non solo è svantaggiato perché arriva in un secondo tempo e quindi nel mentre qualcuno potrebbe scaricare l'articolo e leggerlo, ma, a meno che non venga inviato immediatamente dopo in modo da cancellare l'articolo sul server prima che si propaghi, esso viaggerà con meno efficienza e profondità perché a causa degli abusi molti amministratori news hanno deciso di non accettare i Cancel. Tanto per fare un esempio tra i più rilevanti, [WWW]Google non onora i Cancel, e quello che è peggio, archivia l'articolo da eliminare.

È poi scontato dire che il Cancel non ha il minimo effetto sugli archivi di chi ha già scaricato l'articolo in locale. Questi continueranno a vederlo finché non decideranno autonomamente di eliminarlo sulla propria macchina, ed ovviamente se è passato molto tempo tra l'articolo e il successivo comando di cancellazione è lecito pensare che numerose persone ormai avranno scaricato il post.

Quindi inviare un Cancel o un Supersedes non fa certo male, ma è tremendamente inadeguato.

Allora non serve a nulla mandare il Cancel? Proprio a nulla direi di no, probabilmente la cosa migliore da fare è mandarlo ugualmente, ma richiedere almeno a google l'eliminazione dell'articolo dal proprio archivio (esiste una procedura precisa per fare questo ed è documentata nelle [WWW]faq) e soprattutto accettare l'idea che ormai la frittata è fatta.

2. Come cancellare un articolo da tutta Usenet

Si può fare la cosa a mano oppure utilizzare un programma che lo faccia per noi. Molti newsreader offrono questa possibilità (vedi poi).

Per procedere manualmente all'invio di un Control Cancel occorre usare un programma che offra il controllo completo sul contenuto degli header dell'articolo di cancellazione (che alla fine è un articolo come un altro), cosa che non tutti i newsreader consentono. Inoltre per far la cosa per bene bisogna sapere quali siano le convenzioni e dove mettere le mani, altrimenti si rischia di mandare un comando abusivo. Una cosa è certa: si possono cancellare solo i propri articoli. In altre parole solo chi ha immesso l'articolo su Usenet, ovvero il suo autore riportato nel campo 'From: ' o 'Sender: ' dell'header, e/o il gestore del server news utilizzato per l'invio 3 può legittimamente preparale un Control Cancel. Esistono due eccezioni a questa norma: una riguarda lo spam, come vedremo nell'apposito paragrafo, mentre l'altra concerne la retromoderazione4 in un newsgroup moderato da parte del suo moderatore.

/!\ Attenzione:

Con l'eccezione dello spam, non potete mai cancellare articoli altrui senza commettere un net-abuse, punto. Questo anche nel caso in cui riteniate che il contenuto dell'articolo che volete cancellare sia offensivo, oppure esso contiene i vostri dati personali, o anche sono presenti elementi che a vostro parere possono giustificare un'ipotesi reato. Ripeto, se lo fate direttamente voi, ovvero senza rivolgervi all'autore o al gestore del server che ha immesso l'articolo su Usenet o eventualmente al moderatore del gruppo sul quale esso è stato inviato, commettete un net-abuse. Ovviamente tutto ciò riguarda la cancellazione su tutta Usenet, localmente invece potrete sempre legittimamente chiedere la cancellazione di un articolo al gestore del particolare Server news e/o archivio. Resta comunque valida, se lo ritenete opportuno, l'opzione di rivolgersi alle autorità.

Per non combinare pasticci è bene quindi utilizzare le funzionalità del proprio newsreader, dopo averne studiato adeguatamente la documentazione. Ogni newsreader decente infatti ha il comando per preparare automaticamente un articolo di cancellazione (che di fatto è come un qualsiasi altro post, solo ha delle righe particolari negli header). Cerca nella documentazione del tuo newsreader, oppure con google sul web e nell'archivio Usenet e se non riesci allora chiedi consiglio su it.comp.software.newsreader. Qui di seguito riportiamo le istruzioni per i principali newsreader.

2.1. Istruzioni per cancellare i propri articoli con i principali newsreader

Occorre fare attenzione perché probabilmente il vostro newsreader ha due comandi simili, uno per inviare il comando di cancellazione e l'altro per cancellare l'articolo dal proprio spool locale, ovvero dall'archivio mantenuto dal proprio lettore news. Di seguito vengono descritti solamente i comandi per far preparare dal proprio newsreader un articolo di cancellazione da distribuire automaticamente a tutta usenet.

2.1.1. Outlook Express

"Annulla messaggio" dal menù Messaggio

2.1.2. Free Agent e Forté Agent

Versione 3.x/4.x: "Rescind Usenet Post" dal menù "Action"
Versioni 1.x/2.x inglese: "Cancel Usenet Message" dal menù "Post"
Versioni 1.x/2.x italiana: "Cancella dal server un tuo messaggio Usenet" dal menù "Invia"

2.1.3. XNews

Versione inglese: "Cancel Message" dal menù "Article"
Versione italiana: "Cancella messaggio" dal menù "Articolo"

2.1.4. Mozilla/Netscape/Thunderbird

Cliccare l'articolo con il tasto destro e selezionare "Cancel Message" o "Elimina messaggio".

2.1.5. Dialog

Versione inglese:
Cancellare un articolo: "Cancel Usenet Message" dal menù "Post".
Sovrascrivere un articolo: "Supersedes Usenet Message" dal menù "Post".

Versione italiana:
Cancellare un articolo: "Cancella un tuo messaggio Usenet (Cancel)" dal menù "Invio".
Sovrascrivere un articolo: "Sovrascrivi un tuo messaggio Usenet (Supersedes)" dal menù "Invio".

2.1.6. Pan

Cancellare un articolo: "Cancel" dal menù "Article".
Sovrascrivere un articolo: "Supersede" dal menù "Article".

2.2. Cancellazione di un articolo inviato su un gruppo moderato

I Cancel per poter funzionare su un gruppo moderato devono essere approvati dal moderatore.

Quando è il moderatore ad avere necessità di cancellare un articolo sul gruppo da lui moderato, è opportuno che utilizzi un tool idoneo alla creazione di un Cancel, utilizzando ad esempio il software scritto da Davide Veneziano chiedere direttamente a lui maggiori info: [MAILTO]Davide Veneziano. Si tenga tuttavia presente come, i Cancel inviati su di un newsgroup moderato soffrano dei problemi comuni a tutti questi comandi. È anche per questo che non viene considerato utile Retromoderare un newsgroup, permettere cioè la pubblicazione di ogni articolo salvo poi cancellare quelli ritenuti non aderenti al manifesto del newsgroup.

Non è ammessa la cancellazione di un articolo di servizio (RFD o CFV o annunci) inviato dal GCN in applicazione delle regole della gerarchia it.*.

2.3. Assicurarsi che l'articolo sia stato effettivamente cancellato

Per assicurarsi che il Cancel abbia effettivamente funzionato, la procedura è molto semplice.
Si può cancellare l'articolo incriminato dal proprio newsreader e scaricarlo di nuovo (quasi tutti i programmi permettono di scaricare unicamente un articolo particolare, basta conoscerne il Message-ID, ossia l'identificativo univoco presente tra gli header), oppure collegarsi al server tramite telnet e recuperarlo con il comando Article seguito dal Message-ID.

Per Windows un piccolo programma gratuito per collegarsi tramite telnet è [WWW]PuTTy.
L'operazione è molto semplice, una volta avviato il programma si deve inserire il nome del server nel campo "Host Name" e "119" sotto "Port", quindi cliccare su "Open". A questo punto dovrebbe apparire la finestra con il messaggio di benvenuto del server. Ora digitando "help" otterremo la lista dei comandi disponibili su quel determinato newsserver, tra cui quelli eventualmente necessari per autenticarci. A questo punto basterà dare il comando "Article <M-ID>" (senza virgolette, ovviamente), ove "<M-ID>" è il Message-ID dell'articolo che vogliamo recuperare completo di parentesi angolari. Se l'articolo non è stato cancellato, lo vedremo apparire.
Piccolo suggerimento: non è necessario riscrivere tutto il M-ID, si può incollarlo nella finestra, cliccando col tasto destro del mouse, dopo averlo copiato negli appunti.

3. Abusi

I comandi di cancellazione (Cancel e Supersedes) sono nati con lo scopo di offrire la possibilità ai frequentatori di Usenet di poter cambiare idea e rimuovere nei limiti del possibile un proprio articolo dalla Rete. Questo è un uso perfettamente legittimo a cui si è affiancato nel tempo quello della cancellazione, nei limiti delle convenzioni, dello spam (definito secondo dei criteri quantitativi, vedi paragrafo successivo) e della retromoderazione.

Tutto il resto è net-abuse e come tale viene considerato inaccettabile dai gestori dei server news che si affacciano su Usenet. Chiunque cancelli un articolo non proprio oppure cancelli spam al di fuori delle modalità accettate vedrà che accadranno due cose:

  1. l'articolo impropriamente cancellato verrà immediatamente rispedito con una procedura automatica o semi-automatica;

  2. l'abuso verrà segnalato al fornitore di servizi di colui che ha inviato il cancel impropriamente.

I comandi di cancellazione sono stati abusati pesantemente nel passato e questo è il motivo principale per cui molti server oggi non li onorano più, vanificando di fatto questa utilissima funzionalità.

3.1. E se qualcuno ti cancella gli articoli?

Prima di tutto occorre precisare che se non vedete più il vostro articolo è molto improbabile che esso sia stato cancellato da qualcuno. Piuttosto è stato rimosso localmente dal vostro newsreader oppure dal vostro server a causa della sua scadenza. In ogni caso, l' unico modo per essere certi che qualcuno abbia cancellato abusivamente un articolo è quello di reperire il cancel. Come fare? La cosa è semplice, ma non alla portata di tutti. Per capire bene il problema occorre sapere che i cancel vengono passati col feed assieme agli articoli "normali", ma questi non vengono conservati nel gruppo dell' articolo da loro cancellato, piuttosto vengono depositati in un gruppo "gestionale" chiamato control.cancel, che per il fatto di non essere un gruppo canonico viene categorizzato come "pseudogruppo". Tutti i news server hanno quel gruppo, ma molti amministratori decidono di non renderlo visibile ai propri clienti.

Tornando a noi, per recuperare un cancel occorre quindi andare a cercare il Message-ID tra tutti gli articoli conservati in control.cancel. Questa operazione presenta però due problemi:

  1. occorre trovare un server che consenta l' accesso allo pseudogruppo;

  2. control.cancel contiene tutti i cancel di tutti i gruppi. Può essere pertanto molto grande e quindi richiedere molto tempo per essere scaricato.

In ogni caso occorre cercare con Message-ID dell' articolo che sospettate essere stato cancellato tra gli header, in particolare in:

Control: Cancel Message-ID 

Un volta trovato, avete pescato il colpevole. A questo punto occorre investigate la provenienza dell'articolo (come fare esula dagli scopi di questo documento) e fare una bella segnalazione sia su it.news.net-abuse (così qualcuno provvederà a fare il repost del vostro articolo indebitamente eliminato) sia al provider dell'incauto cancellatore per chiederne la sospensione del suo account.

Se andare a trovare l'articolo di cancellazione è troppo complicato, la cosa più semplice da fare è quella di chiedere su it.news.net-abuse che qualcuno faccia il lavoro investigativo per voi, ovviamente occorre fornire sempre il Message-ID.

4. Cancellazione dello spam

Nel corso degli anni si è raggiunto un consenso ampio sul fatto che certi articoli inviati in copie multiple sostanzialmente uguali possano essere cancellati. La procedura funziona su criteri quantitativi e automatizzati.

Esistono dei robot che funzionano praticamente su tutte le gerarchie (e quindi non solo it.*) che emettono dei cancel sullo spam dei newsgroup. Questo viene definito secondo dei criteri oggettivi e non legati quindi al contenuto dei post; in pratica gli articoli identici in crosspost e/o multipost, identificati esaminando una finestra di 45 giorni, vengono cancellati se l'Indice di Breidbart (BI) è maggiore di 20. Questo indice si calcola sommando la radice quadrata del numero di gruppi nei quali viene spedito un articolo in crosspost.

Per esempio, se una articolo viene spedito in crosspost su 2 gruppi e in un secondo crosspost su altri 9 abbiamo un BI pari a 4 (sqrt(2) + sqrt(9), cioè (1 + 3). Un altro esempio rilevante è quello del multipost senza crosspost, che per attivare i robot dovrebbe essere spedito su almeno 20 newsgroup.

C'è un'eccezione, anzi due contando quello che accade specificamente su it.* . La prima è che se un articolo ha già raggiunto il BI di 20 da quel momento in poi può essere sempre cancellato. Questo spiega perché gli articoli di MMF (quelli per intenderci delle catene di sant'antonio alla "Rasmus Lino") possono essere cancellati a vista, hanno infatti superato da anni il BI di 20.

L'altra eccezione che riguarda it.* è che alcuni spammer particolarmente ostinati, tipo quelli che hanno infestato la gerarchia it.sesso.*, vengono cancellati a vista. In generale comunque su it.* il BI minimo è un po' più restrittivo di quello che ho descritto prima, anche se di solito non si usa un robot specifico oltre a quello che controlla i crosspost ma si cancella lo spam in accordo con le situazioni individuali.

4.1. I Cancel-Lock e NoCem

I comandi Cancel e Supersedes sono nati con lo scopo di fornire all'utilizzatore delle news l'opportunità di cancellare o modificare i propri articoli. Il fiorire dello Spam da un lato e l'uso abusivo che se ne è fatto dall'altro hanno di fatto invalidato l'uso per il quale questi comandi distribuiti erano stati pensati. Per ripristinare quindi la funzionalità originale sono stati quindi ideati i Cancel-Lock e NoCem, vediamo che cosa sono.

4.1.1. Cancel-Lock

In pratica si tratta di un sistema che mediante sistemi crittografici abbastanza sicuri permette la cancellazione di un articolo solo al suo autore.

In fase di pubblicazione su Usenet, per ogni articolo si genera al volo una stringa di caratteri segreta e la si crittografa con un algoritmo di hashing asimmetrico 5. A questo punto si invia l'articolo con un header Cancel-Lock: che includa l'hash in questione. Quando si decide di spedire un Control: cancel, questo includerà l'header Cancel-Key con la stringa originale, il server news a questo punto verificherà che le due stringhe coincidano e se questo è il caso provvederà alla rimozione dello stesso.

Per un newsreader è semplice generare chiavi segrete al volo senza così dover gestire un database usando una stringa costituita da una parte variabile (per esempio il Message-ID dell'articolo da inviare) e una parte costante che può essere una password scelta dall'utente, il tutto a sua volta crittografato.

Il Cancel-Lock, sebbene sia immediatamente utilizzabile ed esista anche molto codice già scritto, non è stato adottato da nessun server news e per ora è difficile prevedere che un giorno verrà ad essere usato.

4.1.2. NoCem

È vero che una diffusione generale del Cancel-Lock impedirebbe l'uso dei cancel per eliminare lo spam, uso che comunque ha di per sè vari problemi strutturali, ma è anche vero che ormai tutti i cancellatori di spam inviano in contemporanea anche le segnalazioni NoCem da dietro i server che comunque utilizzano a monte dei filtri sullo spool, in questo modo viene cancellato solo quello che passa la barriera dei filtri. NoCem (si legge "No see them", ovvero "non li vedi") è una validissima alternativa all'uso degli articoli di cancellazione ed è ormai ampiamente sperimentata. È stato progettato proprio per sopperire ai problemi architetturali dei Cancel nel rendere Usenet leggibile.

In pratica si tratta di un software a se stante che rimuove dallo spool (teoricamente anche quello di un semplice newsreader, ma più comunemente di un server) tutti post segnalati da entità ritenute degne di fiducia, questo mediante degli speciali avvisi di cancellazione firmati. Gli avvisi NoCem pur essendo simili ai Cancel superano quindi i due maggiori limiti strutturali che hanno reso inadatto il "Control: Cancel" come mezzo a posteriori6 di eliminazione dello spam. Infatti prima di tutto un singolo articolo può contenere una intera lista di Message-ID di articoli da cancellare, al contrario del Control: cancel che può cancellare un solo articolo alla volta. Inoltre gli avvisi NoCem sono autenticati, con loro è quindi possibile onorare gli avvisi di alcune specifiche fonti piuttosto che altre.

5. Bibliografia

6. Autori

7. Ringraziamenti

In ordine assolutamente casuale:

8. Storia delle revisioni

Versione e data Commento
V 1.0 06/2003 Prima versione completa del documento