Group: LibrePlanet Italia/miniguida-freenode

From LibrePlanet
Jump to: navigation, search
m (Minor changes)
m (lot of typos)
 
(18 intermediate revisions by the same user not shown)
Line 1: Line 1:
Le informazioni presenti in questa miniguida sono aggiornate al: 14/03/2010.
+
{{Languages|master page=miniguida-freenode|language=it}}
 +
 
 +
''Le informazioni contenute in questa miniguida sono aggiornate al: 27/10/2020.''
 +
 
 +
''Il testo di questa pagina è stato modificato l'ultima volta il: {{REVISIONDAY}}/{{REVISIONMONTH}}/{{REVISIONYEAR}}.''
  
 
== Introduzione ==
 
== Introduzione ==
  
Il network [http://freenode.net/ <tt>freenode</tt>] ospita numerosi canali [http://en.wikipedia.org/wiki/Internet_Relay_Chat IRC] dedicati al [http://www.gnu.org/philosophy/free-sw.it.html software libero]: <tt>#gnu</tt>, <tt>#fsf</tt>, <tt>#libreplanet</tt>, <tt>#lp-it</tt>, <tt>#gnewsense</tt> e tanti altri.
+
Il network <strong>[http://freenode.net/ <tt>freenode</tt>]</strong> ospita numerosi canali <tt>IRC</tt> ([https://en.wikipedia.org/wiki/Internet_Relay_Chat Internet Relay Chat]) dedicati al [http://www.gnu.org/philosophy/free-sw.it.html software libero]: <tt>#gnu</tt>, <tt>#fsf</tt>, <tt>#libreplanet</tt> e tanti altri.
 +
 
 +
Gli utenti possono autenticarsi su <tt>freenode</tt> utilizzando un identificativo (<tt>nickname</tt>) anonimo oppure utilizzando un account <tt>NickServ</tt> registrato e verificato.<ref name="nickname_registration">[https://freenode.net/kb/answer/registration Nickname Registration su <tt>freenode</tt>]</ref>
 +
 
 +
I client <tt>IRC</tt> possono collegarsi a <tt>freenode</tt> utilizzando le comuni modalit&agrave;:
 +
* <strong>[https://simple.wikipedia.org/wiki/Cleartext <tt>plain&ndash;text</tt>]</strong> (in chiaro, sulle porte 6665-6667 e 8000-8002, con o senza un account registrato)<ref name="freenode_conn">[https://freenode.net/kb/answer/chat Collegamento a <tt>freenode</tt>]</ref>
 +
* <strong>[https://en.wikipedia.org/wiki/Transport_Layer_Security <tt>TLS&ndash;encrypted</tt>]</strong> (canale crittografato, sulle porte 6697, 7000 e 7070, con o senza un account registrato)<ref name="tls_conn">[https://freenode.net/kb/answer/chat#accessing-freenode-via-tls Collegamento via <tt>TLS</tt> a <tt>freenode</tt>]</ref>
 +
 
 +
Utilizzando un account registrato, &egrave; inoltre possibile:
 +
* autenticarsi su <tt>freenode</tt> via <strong>[https://en.wikipedia.org/wiki/Simple_Authentication_and_Security_Layer <tt>SASL</tt>]</strong>.<ref name="sasl_conn">[https://freenode.net/kb/answer/sasl Collegamento con autenticazione <tt>SASL</tt> a <tt>freenode</tt>]</ref> <br />L'autenticazione <tt>SASL</tt> consente agli account registrati di autenticarsi ai servizi (NickServ) durante il processo di collegamento, eliminando la necessit&agrave; di identificarsi successivamente (mediante il comando <tt>IRC</tt>: <tt>/msg NickServ identify <password></tt>)
 +
* collegarsi a <tt>freenode</tt> via <strong>[http://www.torproject.org/ <tt>Tor</tt>]</strong> con autenticazione <tt>SASL EXTERNAL</tt> via <tt>TLS</tt> basata su certificato.<ref name="tor_conn">[https://freenode.net/kb/answer/chat#accessing-freenode-via-tor Collegamento via <tt>Tor</tt> a <tt>freenode</tt>]</ref> <br />Questa modalit&agrave; (introdotta nel maggio 2019) si avvale del protocollo [https://trac.torproject.org/projects/tor/wiki/doc/NextGenOnions Next Gen Onion]<ref name="next_gen_tor">[https://freenode.net/news/torv3 Freenode Next Gen Tor Hidden Service]</ref> e assicura un grado di sicurezza e privacy molto maggiore
  
Dal 30 gennaio 2010 <tt>freenode</tt> ha [http://blog.freenode.net/2010/01/ircd-migration-sat-jan-30th-2010/ migrato] i propri server [http://blog.freenode.net/2010/01/migration-to-new-ircd/ da <tt>ircd</tt> a <tt>ircd-seven</tt>]. Ci&ograve; ha comportato diversi cambiamenti, tra cui la possibilit&agrave; di collegamento anche in modalit&agrave; sicura e anonima, via [http://en.wikipedia.org/wiki/Transport_Layer_Security <tt>SSL</tt>] o via [http://www.torproject.org/ <tt>Tor</tt>]+[http://en.wikipedia.org/wiki/Simple_Authentication_and_Security_Layer <tt>SASL</tt>]. Questi due metodi (alternativi fra loro) offrono molta pi&ugrave; privacy e sicurezza di comunicazione ed autenticazione rispetto alla usuale modalità di collegamento "in chiaro".
+
Di seguito, sono sommariamente illustrate le procedure di configurazione del client <tt>IRC</tt> <strong>[https://hexchat.github.io/ <tt>HexChat</tt>]</strong> per le diverse modalit&agrave; di collegamento a <tt>freenode</tt>.  
  
Di seguito, sono sommariamente illustrate le procedure per configurare [http://xchat.org/ <tt>XChat</tt>] (uno tra i client <tt>IRC</tt> migliori e pi&ugrave; utilizzati) per collegarsi a <tt>freenode</tt> nelle diverse modalità possibili (in chiaro, via <tt>SSL</tt> e via <tt>Tor</tt>+<tt>SASL</tt>).
+
<tt>HexChat</tt> &egrave; un fork di [http://xchat.org/ <tt>XChat</tt>] (da molti anni non pi&ugrave; attivamente sviluppato) ed è rilasciato con licenza [https://www.gnu.org/licenses/old-licenses/gpl-2.0.html <tt>GPL2</tt>].
  
 
== Prerequisiti ==
 
== Prerequisiti ==
  
* Una distribuzione [http://www.gnu.org/distros/free-distros.html GNU/Linux libera al 100%], come [http://www.gnewsense.org <tt>gNewSense</tt>] :-)
+
* Una distribuzione [http://www.gnu.org GNU/Linux] :-)
* Il pacchetto [http://xchat.org/ <tt>XChat</tt>] (>=2.8.4) correttamente installato
+
* Il pacchetto [https://hexchat.github.io/ <tt>HexChat</tt>] correttamente installato nel sistema (le configurazioni descritte in questa guida sono state testate sulla versione 2.14.2)<br />Nota - Nelle distribuzioni che usano pacchetti <tt>deb</tt>, <tt>HexChat</tt> si installa con il comando: <br /><code>$ sudo apt-get install hexchat</code>
*:Nota: Nelle distribuzioni che usano pacchetti <tt>.deb</tt> (come <tt>gNewSense</tt>) <tt>XChat</tt> si installa con il comando:
+
* Per verificare i certificati del server quando si effettua la connessione con il protocollo <tt>TLS</tt>, occorre che il sistema disponga di un insieme aggiornato di <em>root CA certificates</em> (in caso contrario, il certificato radice si scarica da [https://letsencrypt.org/certificates/ LetsEncrypt]). <br />Nota - Nelle distribuzioni che usano pacchetti <tt>deb</tt>, dovrebbe essere sufficiente installare il pacchetto denominato <tt>ca-certificates</tt> o simile.
*:<code>$ sudo apt-get install xchat</code>
+
* Per utilizzare l'autenticazione via <tt>SASL</tt> con un account <tt>NickServ</tt> di <tt>freenode</tt> registrato e verificato, occorre che nel sistema sia presente il supporto a <tt>TLS</tt> (installare il pacchetto <tt>openssl</tt>) e le relative librerie per la crittografia. <br />Attenzione - I pacchetti necessari per il supporto a <tt>TLS</tt> possono differire a seconda del sistema in uso.
 +
* Per utilizzare la modalit&agrave; di collegamento a <tt>freenode</tt> via <tt>Tor+SASL</tt>, occorre che <tt>Tor</tt> sia correttamente installato e che il relativo servizio sia in esecuzione. <br />Attenzione - &Egrave; fortemente consigliato installare una versione aggiornata di <tt>Tor</tt> (si vedano i repository ufficiali del progetto [http://www.torproject.org <tt>Tor</tt>]). &Egrave; richiesto almeno <tt>Tor</tt> >=0.3.5. <br />Nota - Per l'installazione e la configurazione di <tt>Tor</tt> si veda la relativa [https://www.torproject.org/docs/tor-doc-unix.html.en guida ufficiale].
 +
 
 +
== HexChat: Collegamento <em>plain&ndash;text</em> o <em>TSL-encrypted</em> ==
 +
 
 +
# Dal men&ugrave; <em>HexChat</em> di <tt>HexChat</tt>, aprire la finestra <em>Elenco Reti</em> (Ctrl+S) <br />Nota - in questa finestra &egrave; possibile inserire le informazioni utente "globali" che potranno eventualmente essere utilizzate per tutte le reti dell'elenco (<em>Soprannome</em>, <em>Seconda scelta</em>, <em>Nome Reale</em>, <em>Nome Utente</em>)
 +
# Cliccare sul bottone <em>Aggiungi</em> cos&igrave; da creare una nuova rete (<em>network</em>) attribuendole un idoneo identificativo (p. es. <tt>FreeNode</tt>)
 +
# Selezionare la rete <tt>FreeNode</tt> appena creata e cliccare sul bottone <em>Modifica&hellip;</em>
 +
#* selezionare la scheda <em>Server</em>
 +
#* cliccare sul bottone <em>Aggiungi</em> e impostare come server:<ref name="freenode_conn" /> <br /><code>chat.freenode.net</code>
 +
# Impostare i parametri di connessione:
 +
#* <em>Connettere solo al server selezionato</em>: NON SPUNTARE
 +
#* <em>Connettere automaticamente a questa rete</em>: impostare a piacere
 +
#* <em>Scavalcare il server proxy</em>: SPUNTARE <br />Nota - A seconda della configurazione di rete locale in uso potrebbe invece essere necessario NON SPUNTARE
 +
#* <em>Usa SSL per tutti i server di questa rete</em>: SPUNTARE <br />Nota - In questo modo viene impostata la modalit&agrave; <tt>TSL-encrypted</tt><ref name="tls_conn" /> (raccomandata) anzich&eacute; quella <tt>plain&ndash;text</tt>
 +
#* <em>Accettare certificati SSL non validi</em>: NON SPUNTARE
 +
# Inserire le informazioni utente specifiche per questa connessione <br />(oppure SPUNTARE la casella <em>Usare informazioni utente globali</em> per utilizzare le informazioni utente "globali" eventualmente definite nella finestra <em>Elenco Reti</em>)
 +
# Inserire i parametri per l'autenticazione:
 +
#* &mdash; per accedere con un nickname generico (senza un account registrato):
 +
#** <em>Metodo di accesso</em>: <tt>Default</tt>
 +
#** <em>Password</em>: lasciare vuoto
 +
#* &mdash; per accedere con un account <tt>NickServ</tt> registrato:
 +
#** <em>Metodo di accesso</em>: <tt>NickServ (/MSG NickServ + password)</tt>
 +
#** <em>Password</em>: impostare con la password corrispondente al <em>Nome Utente</em> dell'account <tt>NickServ</tt> registrato
 +
#* &mdash; per accedere via <tt>SASL</tt> con un account <tt>NickServ</tt> registrato<ref name="sasl_conn" />:
 +
#** <em>Metodo di accesso</em>: <tt>SASL (username + password)</tt>
 +
#** <em>Password</em>: impostare la password corrispondente al <em>Nome Utente</em> dell'account <tt>NickServ</tt> registrato
 +
# Impostare il set di caratteri da utilizzare:
 +
#** <em>Set di caratteri</em>: <tt>UTF-8</tt>
 +
# Selezionando la sezione <em>Canali a cui accedere automaticamente</em> &egrave; anche possibile aggiungere un elenco di canali a cui si acceder&agrave; automaticamente una volta effettuato il collegamento.
 +
 
  
== XChat: collegamento in chiaro a freenode ==
+
Una volta chiusa la finestra <em>Elenco Reti</em>, ci si pu&ograve; connettere alla rete <tt>FreeNode</tt> appena creata.
  
# Dal men&ugrave; <em>XChat</em> di <tt>XChat</tt>, aprire la finestra <em>Lista Reti</em> (Ctrl+S)
+
La configurazione del nuovo network <tt>FreeNode</tt> comparir&agrave; all'interno del file <code>~/.config/hexchat/servlist.conf</code> e risulter&agrave; essere del tipo:
# Cliccare sul bottone <em>Aggiungi</em> cos&igrave; da creare una nuova rete (network) a cui attribuire il nome (senza spazi): <tt>FreeNode</tt>
 
# Selezionare la rete <tt>FreeNode</tt> appena creata e cliccare sul bottone <em>Modifica</em> per configurarla come segue:
 
#*nella sezione <em>Server per &hellip;</em> cliccare sul bottone <em>Aggiungi</em> e impostare come server:
 
#*:<code>irc.freenode.net/8001</code>
 
#*nella stessa sezione, impostare:
 
#*: - <em>Connetti solo al server selezionato</em>: NON spuntare
 
#*nella sezione <em>Tuoi dettagli</em> inserire i valori per: <em>Nick name</em>, <em>Nome Utente</em> e <em> Nome Reale</em>
 
#*nella sezione <em>Connessione</em> impostare:
 
#*: - <em>Connetti automaticamente &hellip;</em>: impostare a piacere
 
#*: - <em>Usa un server proxy</em>: NON spuntare
 
#*: - <em>Usa SSL per tutti i server di questa rete</em>: NON spuntare
 
#*: - <em>Accetta certificati SSL invalidi</em>: NON spuntare
 
#*: - <em>Canale nel quale entrare</em>: <tt>#libreplanet,#lp-it</tt>, <tt>#gnewsense</tt>, &hellip; altri canali a piacere, separati da virgola, senza spazi&hellip;
 
#*: - <em>Comando dopo connessione</em>: lasciare vuoto
 
#*: - <em>Password del Nickserv</em>: lasciare vuoto
 
#*: - <em>Password del Server</em>: da impostare solo se si sta usando un nickname su <tt>freenode</tt> registrato e verificato
 
#*: - <em>Imposta carattere</em>: <tt>UTF-8</tt>
 
  
La configurazione del nuovo network <tt>FreeNode</tt> comparir&agrave; all'interno del file <code>~/.xchat2/servlist_.conf</code> e risulter&agrave; essere del tipo:
+
* modalit&agrave; <tt>TSL-encrypted</tt> senza autenticazione (senza un account registrato):
<code>
+
<pre>
        N=FreeNode
+
    N=FreeNode
        I=mynickname
+
    I=mynickname
        U=mynickname
+
    i=mynickname_secondary
        R=mynickname
+
    U=myusername
        P=mypassword
+
    R=myrealname
        J=#libreplanet,#lp-it,#gnewsense
+
    E=UTF-8 (Unicode)
        E=UTF-8 (Unicode)
+
    F=6
        F=1
+
    D=0
        D=0
+
    S=chat.freenode.net
        S=irc.freenode.net/8001
+
</pre>
</code>
 
  
Chiusa la finestra, ci si pu&ograve; connettere in chiaro alla rete <tt>FreeNode</tt> appena creata.
+
* modalit&agrave; <tt>TSL-encrypted</tt> con autenticazione <tt>NickServ</tt>:
 +
<pre>
 +
    N=FreeNode
 +
    I=mynickname
 +
    i=mynickname_secondary
 +
    U=myusername
 +
    R=myrealname
 +
    P=mypassword
 +
    L=1
 +
    E=UTF-8 (Unicode)
 +
    F=6
 +
    D=0
 +
    S=chat.freenode.net
 +
</pre>
  
== XChat: collegamento a freenode via SSL ==
+
* modalit&agrave; <tt>TSL-encrypted</tt> con autenticazione <tt>SASL</tt>:<br />
 +
<pre>
 +
    N=FreeNode
 +
    I=mynickname
 +
    i=mynickname_secondary
 +
    U=myusername
 +
    R=myrealname
 +
    P=mypassword
 +
    L=6
 +
    E=UTF-8 (Unicode)
 +
    F=71
 +
    D=1
 +
    S=chat.freenode.net
 +
</pre>
  
# Dal men&ugrave; <em>XChat</em> di <tt>XChat</tt>, aprire la finestra <em>Lista Reti</em> (Ctrl+S)
+
== HexChat: Collegamento via <em><tt>Tor+SASL</tt></em> ==
# Cliccare sul bottone <em>Aggiungi</em> cos&igrave; da creare una nuova rete (network) a cui attribuire il nome (senza spazi): <tt>FreeNode-SSL</tt>
 
# Selezionare la rete <tt>FreeNode-SSL</tt> appena creata e cliccare sul bottone <em>Modifica</em> per configurarla come segue:
 
#*nella sezione <em>Server per &hellip;</em> cliccare sul bottone <em>Aggiungi</em> e impostare come server:
 
#*:<code>irc.freenode.net/7070</code>
 
#*nella stessa sezione, impostare:
 
#*: -  <em>Connetti solo al server selezionato</em>: NON spuntare
 
#*nella sezione <em>Tuoi dettagli</em> inserire i valori per: <em>Nick name</em>, <em>Nome Utente</em> e <em> Nome Reale</em>
 
#*nella sezione <em>Connessione</em> impostare:
 
#*: - <em>Connetti automaticamente &hellip;</em>: impostare a piacere
 
#*: - <em>Usa un server proxy</em>: NON spuntare
 
#*: - <em>Usa SSL per tutti i server di questa rete</em>: SPUNTARE
 
#*: - <em>Accetta certificati SSL invalidi</em>: SPUNTARE
 
#*: - <em>Canale nel quale entrare</em>: <tt>#libreplanet,#lp-it</tt>, <tt>#gnewsense</tt>, &hellip; altri canali a piacere, separati da virgola, senza spazi&hellip;
 
#*: - <em>Comando dopo connessione</em>: lasciare vuoto
 
#*: - <em>Password del Nickserv</em>: lasciare vuoto
 
#*: - <em>Password del Server</em>: da impostare solo se si sta usando un nickname su <tt>freenode</tt> registrato e verificato
 
#*: - <em>Imposta carattere</em>: <tt>UTF-8</tt>
 
  
La configurazione del nuovo network <tt>FreeNode-SSL</tt> comparir&agrave; all'interno del file <code>~/.xchat2/servlist_.conf</code> e risulter&agrave; essere del tipo:
+
Il collegamento a <tt>freenode</tt> via <tt>Tor</tt>+<tt>SASL</tt> avviene attraverso un hidden service <tt>Tor</tt> (che utilizza il recente protocollo [https://trac.torproject.org/projects/tor/wiki/doc/NextGenOnions Next Gen Onion]): <br /><code>ajnvpgl6prmkb7yktvue6im5wiedlz2w32uhcwaamdiecdrfpwwgnlqd.onion</code>
<code>
 
        N=FreeNode-SSL
 
        I=mynickname
 
        U=mynickname
 
        R=mynickname
 
        P=mypassword
 
        J=#libreplanet,#lp-it,#gnewsense
 
        E=UTF-8 (Unicode)
 
        F=37
 
        D=0
 
        S=irc.freenode.net/7070
 
</code>
 
  
Chiusa la finestra, ci si pu&ograve; connettere via <tt>SSL</tt> alla rete <tt>FreeNode-SSL</tt> appena creata.
+
Per evitare eventuali abusi, il servizio offerto da <tt>freenode</tt> richiede obbligatoriamente un account <tt>NickServ</tt> registrato e verificato, che si deve autenticare in modalit&agrave; <tt>SASL EXTERNAL</tt> (o <tt>ECDSA-NIST256P-CHALLENGE</tt>) via <tt>TLS&ndash;encrypted</tt> mediante un apposito certificato associato allo stesso account.<ref name="tor_conn" />
  
== XChat: collegamento a freenode via Tor+SASL ==
+
Per poter effettuare il collegamento a <tt>freenode</tt> via <tt>Tor</tt>+<tt>SASL</tt> occorre quindi il soddisfacimento di alcuni ulteriori prerequisiti:
 +
# disporre di un account <tt>NickServ</tt> di <tt>freenode</tt> registrato e verificato<ref name="nickname_registration" />
 +
# associare allo stesso account un apposito certificato <tt>TLS</tt><ref name="certfp">[https://freenode.net/kb/answer/certfp Certificato TLS per <tt>freenode</tt>]</ref>
  
Il collegamento a <tt>freenode</tt> via <tt>Tor</tt>+<tt>SASL</tt> richiede l'uso del nuovo hidden service <tt>tor</tt> a ci&ograve; dedicato: [irc://p4fsi4ockecnea7l.onion/ p4fsi4ockecnea7l.onion] (per maggiori dettagli si vedano le pagine: http://blog.freenode.net/2010/01/connecting-to-freenode-using-tor-sasl/ e http://freenode.net/irc_servers.shtml#tor) nonch&eacute; l'utilizzo di un meccanismo di identificazione <tt>SASL</tt> che possa essere gestito da <tt>XChat</tt>.
 
  
Di conseguenza, questa modalit&agrave; di collegamento risulta pi&ugrave; complessa ed articolata delle precedenti, richiedendo anche il soddisfacimento di alcuni ulteriori prerequisiti:
+
Un modo conveniente per predisporre e associare il certificato è costituito dalla procedura descritta di seguito<ref name="certfp" />:
* <tt>Tor</tt> deve essere correttamente installato ed il relativo servizio deve essere in esecuzione (&egrave; *fortemente* consigliato installare la versione pi&ugrave; recente dei pacchetti disponibili nei repository ufficiali del progetto [http://www.torproject.org <tt>tor</tt>], all'indirizzo: http://www.torproject.org/docs/debian.html.it) <br />Insieme a <tt>tor</tt> &egrave; raccomandata anche l'installazione della la versione pi&ugrave; recente dei pacchetti <tt>polipo</tt> e <tt>tor-geoipdb</tt> <br />Per l'installazione e la configurazione di <tt>tor</tt> si veda la relativa [http://www.torproject.org/docs/tor-doc-unix.html.it guida ufficiale]
+
* Creare il certificato e visualizzarne l'impronta, eseguendo da terminale i comandi:<br />
* Nel sistema deve essere presente il supporto a <tt>SSL</tt> (installare il pacchetto <tt>openssl</tt>) e le relative librerie per la crittografia (<tt>libcrypt-openssl-bignum-perl</tt>, <tt>libcrypt-dh-perl</tt>, <tt>libcrypt-blowfish-perl</tt>). <br />Attenzione - I pacchetti necessari possono differire a seconda del sistema in uso
+
<pre>
* Occorre disporre di un account <tt>NickServ</tt> di <tt>freenode</tt> registrato e verificato (si veda: http://freenode.net/faq.shtml#userregistration per la relativa procedura di registrazione)
+
    $ openssl req -x509 -new -newkey rsa:4096 -sha256 -days 1096 -nodes -out freenode.pem -keyout freenode.pem
 +
    $ openssl x509 -in freenode.pem -outform der | sha1sum -b | cut -d' ' -f1
 +
</pre>
 +
: Attenzione - Il certificato ha validit&a per circa 3 anni. Dovr&agrave; quindi essere rigenerato alla scadenza.
 +
* Rendere disponibile il certificato a <tt>HexChat</tt>, eseguendo da terminale i comandi:<br />
 +
<pre>
 +
    $ mkdir ~/.config/hexchat/certs/
 +
    $ mv freenode.pem ~/.config/hexchat/certs/freenode.pem
 +
</pre>
 +
* Accedere a <tt>freenode</tt> utilizzando la modalit&agrave; <tt>TSL-encrypted</tt> descritta sopra
 +
* Associare il certificato all'account registrato eseguendo il comando <tt>IRC</tt>: <br />
 +
<pre>
 +
    /msg NickServ CERT ADD <fingerprint>
 +
</pre>
 +
: dove occorre sostituire a <tt><fingerprint></tt> l'impronta del certificato come prima visualizzata.
  
Per rendere disponibile a <tt>XChat</tt> il supporto a <tt>SASL</tt> si utilizza un apposito script che, posizionato nella directory <code>~/.xchat2</code> in modo che venga caricato all'avvio del client, rende disponibile a <tt>XChat</tt> il framework <tt>SASL</tt> di autenticazione e sicurezza.
 
  
Il supporto <tt>SASL</tt> in <tt>XChat</tt> si ottiene con i comandi seguenti:
+
Ovviamente, occorre anche configurare opportunamente <tt>HexChat</tt> (si noti che, in questo caso, si deve configurare il client per l'utilizzo del proxy <tt>Tor</tt> locale):
<code>
+
# Dal men&ugrave; <em>HexChat</em> di <tt>HexChat</tt>, aprire la finestra <em>Elenco Reti</em> (Ctrl+S) <br />Nota -; in questa finestra &egrave; possibile inserire le informazioni utente "globali" che potranno eventualmente essere utilizzate per tutte le reti dell'elenco (<em>Soprannome</em>, <em>Seconda scelta</em>, <em>Nome Reale</em>, <em>Nome Utente</em>)
        $ cd ~/.xchat2
+
# Cliccare sul bottone <em>Aggiungi</em> cos&igrave; da creare una nuova rete (<em>network</em>) attribuendole un idoneo identificativo (p. es. <tt>FreeNode-Tor</tt>)
        $ wget http://adipose.attenuate.org/~stephen/ircd-seven/sasl/cap_sasl.py
+
# Selezionare la rete <tt>FreeNode-Tor</tt> appena creata, cliccare sul bottone <em>Modifica&hellip;</em>
</code>
+
#* selezionare la scheda <em>Server</em>
Attenzione - Questo script in Python sembra funzionare correttamente ed &egrave; rilasciato con licenza GNU GPL; lo script Perl disponibile presso http://freenode.net/sasl/ sembra invece non funzionare bene con <tt>XChat</tt>.
+
#* cliccare sul bottone <em>Aggiungi</em> e impostare come server: <br /><code>ajnvpgl6prmkb7yktvue6im5wiedlz2w32uhcwaamdiecdrfpwwgnlqd.onion</code>
 +
# Impostare i parametri di connessione:
 +
#* <em>Connettere solo al server selezionato</em>: SPUNTARE
 +
#* <em>Connettere automaticamente a questa rete</em>: impostare a piacere
 +
#* <em>Scavalcare il server proxy</em>: NON SPUNTARE (in modo da utilizzare il proxy <tt>Tor</tt> locale)
 +
#* <em>Usa SSL per tutti i server di questa rete</em>: SPUNTARE (per impostare la modalit&agrave; <tt>TSL-encrypted</tt>)
 +
#* <em>Accettare certificati SSL non validi</em>: NON SPUNTARE
 +
# Inserire le informazioni utente specifiche per questa connessione <br />(oppure SPUNTARE la casella <em>Usare informazioni utente globali</em> per utilizzare le informazioni utente "globali" eventualmente definite nella finestra <em>Elenco Reti</em>) <br />Attenzione - Il <em>Nome Utente</em> risultante dovr&agrave; essere quello dell'account <tt>NickServ</tt> registrato!
 +
# Inserire i parametri per l'autenticazione:
 +
#* <em>Metodo di accesso</em>: <tt>SASL EXTERNAL (cert)</tt>
 +
#* <em>Password</em>: n/a (campo disabilitato: sar&agrave; usato il certificato associato all'account <tt>NickServ</tt> registrato)
 +
# Impostare il set di caratteri da utilizzare:
 +
#* <em>Set di caratteri</em>: <tt>UTF-8</tt>
 +
# Selezionando la sezione <em>Canali a cui accedere automaticamente</em> &egrave; anche possibile aggiungere un elenco di canali a cui si acceder&agrave; automaticamente una volta effettuato il collegamento.
  
A questo punto, possiamo finalmente configurare <tt>XChat</tt>. A differenza dei casi precedenti, dovendo utilizzare <tt>tor</tt>, in questo caso occorre configurare il client anche per l'utilizzo del proxy server.
 
  
# Dal men&ugrave; <em>Impostazioni -> Preferenze</em> di <tt>XChat</tt>, nella categoria <em>Rete</em> selezionare la sottocategoria <em>Setup Rete</em> per configurarla come segue:
+
La configurazione del nuovo network <tt>FreeNode</tt> comparir&agrave; all'interno del file <code>~/.config/hexchat/servlist.conf</code> e risulter&agrave; essere del tipo:
#*nella sezione <em>Proxy Server</em> impostare:
+
<pre>
#*: -  <em>Hostname</em>: <tt>localhost</tt>
+
    N=FreeNode-Tor
#*: -  <em>Porta</em>: <tt>9050</tt>
+
    I=mynickname
#*: -  <em>Tipo</em>: <tt>Sock5</tt>
+
    i=mynickname_secondary
#*: -  <em>Usa proxy per</em>: <tt>Tutte le connessioni</tt>
+
    U=myusername
# Dal men&ugrave; <em>XChat</em> di <tt>XChat</tt>, aprire la finestra <em>Lista Reti</em> (Ctrl+S)
+
    R=myrealname
# Cliccare sul bottone <em>Aggiungi</em> cos&igrave; da creare una nuova rete (network) a cui attribuire il nome (senza spazi): <tt>FreeNode-TorSASL</tt>
+
    L=10
# Selezionare la rete <tt>FreeNode-TorSASL</tt> appena creata e cliccare sul bottone <em>Modifica</em> per configurarla come segue:
+
    E=UTF-8 (Unicode)
#*nella sezione <em>Server per &hellip;</em> cliccare sul bottone <em>Aggiungi</em> e impostare come server:
+
    F=118
#*:<code>p4fsi4ockecnea7l.onion</code>
+
    D=0
#*nella stessa sezione, impostare:
+
    S=ajnvpgl6prmkb7yktvue6im5wiedlz2w32uhcwaamdiecdrfpwwgnlqd.onion
#*: -  <em>Connetti solo al server selezionato</em>: NON spuntare
+
</pre>
#*nella sezione <em>Tuoi dettagli</em> inserire i valori per: <em>Nick name</em>, <em>Nome Utente</em> e <em> Nome Reale</em> <br />Attenzione - Occorre utilizzare un account <tt>NickServ</tt> di <tt>freenode</tt> registrato e verificato (si veda: http://freenode.net/faq.shtml#userregistration per la relativa procedura di registrazione).
 
#*nella sezione <em>Connessione</em> impostare:
 
#*: - <em>Connetti automaticamente&hellip;</em>: impostare a piacere
 
#*: - <em>Usa un server proxy</em>: SPUNTARE
 
#*: - <em>Usa SSL per tutti i server di questa rete</em>: NON spuntare
 
#*: - <em>Accetta certificati SSL invalidi</em>: NON spuntare
 
#*: - <em>Canale nel quale entrare</em>: <tt>#libreplanet,#lp-it</tt>, <tt>#gnewsense</tt>, &hellip; altri canali a piacere, separati da virgola, senza spazi, &hellip;
 
#*: - <em>Comando dopo connessione</em>: lasciare vuoto
 
#*: - <em>Password del Nickserv</em>: lasciare vuoto
 
#*: - <em>Password del Server</em>: impostare la password dell'account <tt>NickServ</tt> di <tt>freenode</tt> registrato e verificato corrispondente al nickname che si sta usando (vedi sopra)
 
#*: - <em>Imposta carattere</em>: <tt>UTF-8</tt>
 
# Per fare in modo che il framework <tt>SASL</tt> venga utilizzato con il network <tt>FreeNode-TorSASL</tt> digitare, nell'area dei comandi di <tt>XChat</tt>, il comando:
 
#:<code>/SASL -set FreeNode-TorSASL mynickname mypassword</code>
 
#:dove:
 
#:  - <code>FreeNode-TorSASL</code>: è il nome del network per cui si vuole usare <tt>SASL</tt> (Attenzione - Essendo case-sensitive, deve corrispondere *esattamente* al nome assegnato al network per cui si vuole usare <tt>SASL</tt>)
 
#:  - <code>mynickname</code>: è il nickname dell'account <tt>NickServ</tt> di <tt>freenode</tt> registrato e verificato che si sta utilizzando (vedi sopra)
 
#:  - <code>mypassword</code>: è la password dell'account <tt>NickServ</tt> di <tt>freenode</tt> registrato e verificato che si sta utilizzando (vedi sopra)
 
#: Nota: Per visionare l'help sul comando SASL digitare, nell'area dei comandi di <tt>XChat</tt>: <code>/HELP SASL</code>
 
# Chiudere e riaprire <tt>XChat</tt>
 
  
La configurazione del nuovo network <tt>FreeNode-TorSASL</tt> comparir&agrave; all'interno del file <code>~/.xchat2/servlist_.conf</code> e risulter&agrave; essere del tipo:
+
Ci si pu&ograve; ora connettere via <tt>Tor</tt>+<tt>SASL</tt> alla rete <tt>FreeNode-Tor</tt> appena creata.
<code>
 
        N=FreeNode-TorSASL
 
        I=mynickname
 
        U=mynickname
 
        R=mynickname
 
        P=mypassword
 
        J=#libreplanet,#lp-it,#gnewsense
 
        E=UTF-8 (Unicode)
 
        F=17
 
        D=0
 
        S=p4fsi4ockecnea7l.onion
 
</code>
 
  
L'assiciazione del network <tt>FreeNode-TorSASL</tt> al framework <tt>SASL</tt> (ottenuta con il comando <code>/SASL</code>) comparir&agrave; in un'apposita sezione all'interno del file <code>~/.xchat2/sasl.conf</code> e risulter&agrave; essere del tipo:
+
== Riferimenti ==
<code>
+
<references />
        [FreeNode-TorSASL]
 
        nick = mynickname
 
        password = mypassword
 
        mechanism = PLAIN
 
</code>
 
In questo file, per maggiore sicurezza è *fortemente raccomandato* sostituire la riga:
 
<code>
 
        mechanism = PLAIN
 
</code>
 
con la riga:
 
<code>
 
        mechanism = DH-BLOWFISH
 
</code>
 
  
Ci si pu&ograve; ora connettere via <tt>Tor</tt>+<tt>SASL</tt> alla rete <tt>FreeNode-TorSASL</tt> appena creata.
 
  
In alcune circostanze, probabilmente a causa della latenza della rete <tt>tor</tt>, la connessione potrebbe risultare lenta o difficoltosa.
+
----
 +
''[ Documento a cura di: [[User:Alexus|alexus]] ]''

Latest revision as of 14:47, 27 October 2020

Le informazioni contenute in questa miniguida sono aggiornate al: 27/10/2020.

Il testo di questa pagina è stato modificato l'ultima volta il: 27/10/2020.

Introduzione

Il network freenode ospita numerosi canali IRC (Internet Relay Chat) dedicati al software libero: #gnu, #fsf, #libreplanet e tanti altri.

Gli utenti possono autenticarsi su freenode utilizzando un identificativo (nickname) anonimo oppure utilizzando un account NickServ registrato e verificato.[1]

I client IRC possono collegarsi a freenode utilizzando le comuni modalità:

  • plain–text (in chiaro, sulle porte 6665-6667 e 8000-8002, con o senza un account registrato)[2]
  • TLS–encrypted (canale crittografato, sulle porte 6697, 7000 e 7070, con o senza un account registrato)[3]

Utilizzando un account registrato, è inoltre possibile:

  • autenticarsi su freenode via SASL.[4]
    L'autenticazione SASL consente agli account registrati di autenticarsi ai servizi (NickServ) durante il processo di collegamento, eliminando la necessità di identificarsi successivamente (mediante il comando IRC: /msg NickServ identify <password>)
  • collegarsi a freenode via Tor con autenticazione SASL EXTERNAL via TLS basata su certificato.[5]
    Questa modalità (introdotta nel maggio 2019) si avvale del protocollo Next Gen Onion[6] e assicura un grado di sicurezza e privacy molto maggiore

Di seguito, sono sommariamente illustrate le procedure di configurazione del client IRC HexChat per le diverse modalità di collegamento a freenode.

HexChat è un fork di XChat (da molti anni non più attivamente sviluppato) ed è rilasciato con licenza GPL2.

Prerequisiti

  • Una distribuzione GNU/Linux :-)
  • Il pacchetto HexChat correttamente installato nel sistema (le configurazioni descritte in questa guida sono state testate sulla versione 2.14.2)
    Nota - Nelle distribuzioni che usano pacchetti deb, HexChat si installa con il comando:
    $ sudo apt-get install hexchat
  • Per verificare i certificati del server quando si effettua la connessione con il protocollo TLS, occorre che il sistema disponga di un insieme aggiornato di root CA certificates (in caso contrario, il certificato radice si scarica da LetsEncrypt).
    Nota - Nelle distribuzioni che usano pacchetti deb, dovrebbe essere sufficiente installare il pacchetto denominato ca-certificates o simile.
  • Per utilizzare l'autenticazione via SASL con un account NickServ di freenode registrato e verificato, occorre che nel sistema sia presente il supporto a TLS (installare il pacchetto openssl) e le relative librerie per la crittografia.
    Attenzione - I pacchetti necessari per il supporto a TLS possono differire a seconda del sistema in uso.
  • Per utilizzare la modalità di collegamento a freenode via Tor+SASL, occorre che Tor sia correttamente installato e che il relativo servizio sia in esecuzione.
    Attenzione - È fortemente consigliato installare una versione aggiornata di Tor (si vedano i repository ufficiali del progetto Tor). È richiesto almeno Tor >=0.3.5.
    Nota - Per l'installazione e la configurazione di Tor si veda la relativa guida ufficiale.

HexChat: Collegamento plain–text o TSL-encrypted

  1. Dal menù HexChat di HexChat, aprire la finestra Elenco Reti (Ctrl+S)
    Nota - in questa finestra è possibile inserire le informazioni utente "globali" che potranno eventualmente essere utilizzate per tutte le reti dell'elenco (Soprannome, Seconda scelta, Nome Reale, Nome Utente)
  2. Cliccare sul bottone Aggiungi così da creare una nuova rete (network) attribuendole un idoneo identificativo (p. es. FreeNode)
  3. Selezionare la rete FreeNode appena creata e cliccare sul bottone Modifica…
    • selezionare la scheda Server
    • cliccare sul bottone Aggiungi e impostare come server:[2]
      chat.freenode.net
  4. Impostare i parametri di connessione:
    • Connettere solo al server selezionato: NON SPUNTARE
    • Connettere automaticamente a questa rete: impostare a piacere
    • Scavalcare il server proxy: SPUNTARE
      Nota - A seconda della configurazione di rete locale in uso potrebbe invece essere necessario NON SPUNTARE
    • Usa SSL per tutti i server di questa rete: SPUNTARE
      Nota - In questo modo viene impostata la modalità TSL-encrypted[3] (raccomandata) anziché quella plain–text
    • Accettare certificati SSL non validi: NON SPUNTARE
  5. Inserire le informazioni utente specifiche per questa connessione
    (oppure SPUNTARE la casella Usare informazioni utente globali per utilizzare le informazioni utente "globali" eventualmente definite nella finestra Elenco Reti)
  6. Inserire i parametri per l'autenticazione:
    • — per accedere con un nickname generico (senza un account registrato):
      • Metodo di accesso: Default
      • Password: lasciare vuoto
    • — per accedere con un account NickServ registrato:
      • Metodo di accesso: NickServ (/MSG NickServ + password)
      • Password: impostare con la password corrispondente al Nome Utente dell'account NickServ registrato
    • — per accedere via SASL con un account NickServ registrato[4]:
      • Metodo di accesso: SASL (username + password)
      • Password: impostare la password corrispondente al Nome Utente dell'account NickServ registrato
  7. Impostare il set di caratteri da utilizzare:
      • Set di caratteri: UTF-8
  8. Selezionando la sezione Canali a cui accedere automaticamente è anche possibile aggiungere un elenco di canali a cui si accederà automaticamente una volta effettuato il collegamento.


Una volta chiusa la finestra Elenco Reti, ci si può connettere alla rete FreeNode appena creata.

La configurazione del nuovo network FreeNode comparirà all'interno del file ~/.config/hexchat/servlist.conf e risulterà essere del tipo:

  • modalità TSL-encrypted senza autenticazione (senza un account registrato):
    N=FreeNode
    I=mynickname
    i=mynickname_secondary
    U=myusername
    R=myrealname
    E=UTF-8 (Unicode)
    F=6
    D=0
    S=chat.freenode.net
  • modalità TSL-encrypted con autenticazione NickServ:
    N=FreeNode
    I=mynickname
    i=mynickname_secondary
    U=myusername
    R=myrealname
    P=mypassword
    L=1
    E=UTF-8 (Unicode)
    F=6
    D=0
    S=chat.freenode.net
  • modalità TSL-encrypted con autenticazione SASL:
    N=FreeNode
    I=mynickname
    i=mynickname_secondary
    U=myusername
    R=myrealname
    P=mypassword
    L=6
    E=UTF-8 (Unicode)
    F=71
    D=1
    S=chat.freenode.net

HexChat: Collegamento via Tor+SASL

Il collegamento a freenode via Tor+SASL avviene attraverso un hidden service Tor (che utilizza il recente protocollo Next Gen Onion):
ajnvpgl6prmkb7yktvue6im5wiedlz2w32uhcwaamdiecdrfpwwgnlqd.onion

Per evitare eventuali abusi, il servizio offerto da freenode richiede obbligatoriamente un account NickServ registrato e verificato, che si deve autenticare in modalità SASL EXTERNAL (o ECDSA-NIST256P-CHALLENGE) via TLS–encrypted mediante un apposito certificato associato allo stesso account.[5]

Per poter effettuare il collegamento a freenode via Tor+SASL occorre quindi il soddisfacimento di alcuni ulteriori prerequisiti:

  1. disporre di un account NickServ di freenode registrato e verificato[1]
  2. associare allo stesso account un apposito certificato TLS[7]


Un modo conveniente per predisporre e associare il certificato è costituito dalla procedura descritta di seguito[7]:

  • Creare il certificato e visualizzarne l'impronta, eseguendo da terminale i comandi:
    $ openssl req -x509 -new -newkey rsa:4096 -sha256 -days 1096 -nodes -out freenode.pem -keyout freenode.pem
    $ openssl x509 -in freenode.pem -outform der | sha1sum -b | cut -d' ' -f1
Attenzione - Il certificato ha validit&a per circa 3 anni. Dovrà quindi essere rigenerato alla scadenza.
  • Rendere disponibile il certificato a HexChat, eseguendo da terminale i comandi:
    $ mkdir ~/.config/hexchat/certs/
    $ mv freenode.pem ~/.config/hexchat/certs/freenode.pem
  • Accedere a freenode utilizzando la modalità TSL-encrypted descritta sopra
  • Associare il certificato all'account registrato eseguendo il comando IRC:
    /msg NickServ CERT ADD <fingerprint>
dove occorre sostituire a <fingerprint> l'impronta del certificato come prima visualizzata.


Ovviamente, occorre anche configurare opportunamente HexChat (si noti che, in questo caso, si deve configurare il client per l'utilizzo del proxy Tor locale):

  1. Dal menù HexChat di HexChat, aprire la finestra Elenco Reti (Ctrl+S)
    Nota -; in questa finestra è possibile inserire le informazioni utente "globali" che potranno eventualmente essere utilizzate per tutte le reti dell'elenco (Soprannome, Seconda scelta, Nome Reale, Nome Utente)
  2. Cliccare sul bottone Aggiungi così da creare una nuova rete (network) attribuendole un idoneo identificativo (p. es. FreeNode-Tor)
  3. Selezionare la rete FreeNode-Tor appena creata, cliccare sul bottone Modifica…
    • selezionare la scheda Server
    • cliccare sul bottone Aggiungi e impostare come server:
      ajnvpgl6prmkb7yktvue6im5wiedlz2w32uhcwaamdiecdrfpwwgnlqd.onion
  4. Impostare i parametri di connessione:
    • Connettere solo al server selezionato: SPUNTARE
    • Connettere automaticamente a questa rete: impostare a piacere
    • Scavalcare il server proxy: NON SPUNTARE (in modo da utilizzare il proxy Tor locale)
    • Usa SSL per tutti i server di questa rete: SPUNTARE (per impostare la modalità TSL-encrypted)
    • Accettare certificati SSL non validi: NON SPUNTARE
  5. Inserire le informazioni utente specifiche per questa connessione
    (oppure SPUNTARE la casella Usare informazioni utente globali per utilizzare le informazioni utente "globali" eventualmente definite nella finestra Elenco Reti)
    Attenzione - Il Nome Utente risultante dovrà essere quello dell'account NickServ registrato!
  6. Inserire i parametri per l'autenticazione:
    • Metodo di accesso: SASL EXTERNAL (cert)
    • Password: n/a (campo disabilitato: sarà usato il certificato associato all'account NickServ registrato)
  7. Impostare il set di caratteri da utilizzare:
    • Set di caratteri: UTF-8
  8. Selezionando la sezione Canali a cui accedere automaticamente è anche possibile aggiungere un elenco di canali a cui si accederà automaticamente una volta effettuato il collegamento.


La configurazione del nuovo network FreeNode comparirà all'interno del file ~/.config/hexchat/servlist.conf e risulterà essere del tipo:

    N=FreeNode-Tor
    I=mynickname
    i=mynickname_secondary
    U=myusername
    R=myrealname
    L=10
    E=UTF-8 (Unicode)
    F=118
    D=0
    S=ajnvpgl6prmkb7yktvue6im5wiedlz2w32uhcwaamdiecdrfpwwgnlqd.onion

Ci si può ora connettere via Tor+SASL alla rete FreeNode-Tor appena creata.

Riferimenti



[ Documento a cura di: alexus ]