Group: LibrePlanet Italia/miniguida-freenode

From LibrePlanet
Jump to: navigation, search
(updated some content and urls)
m (lot of typos)
 
(6 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
{{Languages|master page=miniguida-freenode|language=it}}
 
{{Languages|master page=miniguida-freenode|language=it}}
  
''Le informazioni contenute in questa miniguida sono aggiornate al: 05/08/2012.''
+
''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}}.''
 
''Il testo di questa pagina è stato modificato l'ultima volta il: {{REVISIONDAY}}/{{REVISIONMONTH}}/{{REVISIONYEAR}}.''
Line 7: Line 7:
 
== 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>#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.
  
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&agrave; di collegamento "in chiaro".
+
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>
  
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&agrave; possibili (in chiaro, via <tt>SSL</tt> e via <tt>Tor</tt>+<tt>SASL</tt>).
+
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
 +
 
 +
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>.
 +
 
 +
<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>Trisquel</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 ==
 
  
# Dal men&ugrave; <em>XChat</em> di <tt>XChat</tt>, aprire la finestra <em>Lista Reti</em> (Ctrl+S)
+
Una volta chiusa la finestra <em>Elenco Reti</em>, ci si pu&ograve; connettere alla rete <tt>FreeNode</tt> appena creata.
# 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</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:
+
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:
<code>
 
        N=FreeNode
 
        I=mynickname
 
        U=mynickname
 
        R=mynickname
 
        P=mypassword
 
        J=#libreplanet,#gnewsense
 
        E=UTF-8 (Unicode)
 
        F=1
 
        D=0
 
        S=irc.freenode.net/8001
 
</code>
 
  
Chiusa la finestra, ci si pu&ograve; connettere in chiaro alla rete <tt>FreeNode</tt> appena creata.
+
* modalit&agrave; <tt>TSL-encrypted</tt> senza autenticazione (senza un account registrato):
 +
<pre>
 +
    N=FreeNode
 +
    I=mynickname
 +
    i=mynickname_secondary
 +
    U=myusername
 +
    R=myrealname
 +
    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>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>
  
# Dal men&ugrave; <em>XChat</em> di <tt>XChat</tt>, aprire la finestra <em>Lista Reti</em> (Ctrl+S)
+
* modalit&agrave; <tt>TSL-encrypted</tt> con autenticazione <tt>SASL</tt>:<br />
# 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>
+
<pre>
# Selezionare la rete <tt>FreeNode-SSL</tt> appena creata e cliccare sul bottone <em>Modifica</em> per configurarla come segue:  
+
    N=FreeNode
#*nella sezione <em>Server per &hellip;</em> cliccare sul bottone <em>Aggiungi</em> e impostare come server:
+
    I=mynickname
#*:<code>irc.freenode.net/7070</code>
+
    i=mynickname_secondary
#*nella stessa sezione, impostare:
+
    U=myusername
#*: -  <em>Connetti solo al server selezionato</em>: NON spuntare
+
    R=myrealname
#*nella sezione <em>Tuoi dettagli</em> inserire i valori per: <em>Nick name</em>, <em>Nome Utente</em> e <em> Nome Reale</em>
+
    P=mypassword
#*nella sezione <em>Connessione</em> impostare:
+
    L=6
#*: - <em>Connetti automaticamente &hellip;</em>: impostare a piacere
+
    E=UTF-8 (Unicode)
#*: - <em>Usa un server proxy</em>: NON spuntare
+
    F=71
#*: - <em>Usa SSL per tutti i server di questa rete</em>: SPUNTARE
+
    D=1
#*: - <em>Accetta certificati SSL invalidi</em>: SPUNTARE
+
    S=chat.freenode.net
#*: - <em>Canale nel quale entrare</em>: <tt>#libreplanet</tt>, <tt>#gnewsense</tt>, &hellip; altri canali a piacere, separati da virgola, senza spazi&hellip;
+
</pre>
#*: - <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:
+
== HexChat: Collegamento via <em><tt>Tor+SASL</tt></em> ==
<code>
 
        N=FreeNode-SSL
 
        I=mynickname
 
        U=mynickname
 
        R=mynickname
 
        P=mypassword
 
        J=#libreplanet,#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.
+
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>
  
== XChat: collegamento a freenode via Tor+SASL ==
+
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" />
  
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>.
+
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>
  
Di conseguenza, questa modalit&agrave; di collegamento risulta pi&ugrave; complessa ed articolata delle precedenti, richiedendo anche il soddisfacimento di alcuni ulteriori prerequisiti:
 
* <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: https://www.torproject.org/download/download-unix.html.en. <br />Attenzione - 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] (si raccomanda anche l'installazione dei pacchetti <tt>vidalia</tt> e <tt>tor-geoipdb</tt>).
 
* 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 per il supporto a <tt>SSL</tt> possono differire a seconda del sistema in uso.
 
* 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).
 
*In  <tt>XChat</tt> si deve disporre di un idoneo framework <tt>SASL</tt> di autenticazione e sicurezza (che si può implementare utilizzando uno specifico script, da posizionare nella directory <code>~/.xchat2</code> in modo da essere caricato ad ogni avvio del client).
 
  
Un modo conveniente per implementare il supporto <tt>SASL</tt> in <tt>XChat</tt> si ottiene con i comandi seguenti, con cui si scarica e installa un apposito script in Perl (rilasciato con licenza GNU GPL) che &egrave; disponibile in una pagina circa il [http://freenode.net/sasl/ collegamento SASL al network freenode]:
+
Un modo conveniente per predisporre e associare il certificato è costituito dalla procedura descritta di seguito<ref name="certfp" />:
<code>
+
* Creare il certificato e visualizzarne l'impronta, eseguendo da terminale i comandi:<br />
        $ cd ~/.xchat2
+
<pre>
        $ wget http://lwsitu.com/xchat/cap_sasl_xchat.pl
+
    $ openssl req -x509 -new -newkey rsa:4096 -sha256 -days 1096 -nodes -out freenode.pem -keyout freenode.pem
</code>
+
    $ openssl x509 -in freenode.pem -outform der | sha1sum -b | cut -d' ' -f1
Attenzione - La versione in Python di questo script NON funziona correttamente su Debian e derivate (si veda: http://freenode.net/sasl/sasl-xchat.shtml).
+
</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.
  
Una volta soddisfatti tutti questi requisiti, possiamo finalmente configurare <tt>XChat</tt>. A differenza dei casi precedenti, dovendo adesso utilizzare <tt>tor</tt> 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:
+
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):
#*nella sezione <em>Proxy Server</em> impostare:
+
# 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>)
#*: -  <em>Hostname</em>: <tt>localhost</tt>
+
# 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>)
#*: -  <em>Porta</em>: <tt>9050</tt>
+
# Selezionare la rete <tt>FreeNode-Tor</tt> appena creata, cliccare sul bottone <em>Modifica&hellip;</em>
#*: - <em>Tipo</em>: <tt>Sock5</tt>
+
#* selezionare la scheda <em>Server</em>
#*: -  <em>Usa proxy per</em>: <tt>Tutte le connessioni</tt>
+
#* cliccare sul bottone <em>Aggiungi</em> e impostare come server: <br /><code>ajnvpgl6prmkb7yktvue6im5wiedlz2w32uhcwaamdiecdrfpwwgnlqd.onion</code>
# Dal men&ugrave; <em>XChat</em> di <tt>XChat</tt>, aprire la finestra <em>Lista Reti</em> (Ctrl+S)
+
# Impostare i parametri di connessione:
# 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>
+
#* <em>Connettere solo al server selezionato</em>: SPUNTARE
# Selezionare la rete <tt>FreeNode-TorSASL</tt> appena creata e cliccare sul bottone <em>Modifica</em> per configurarla come segue:
+
#* <em>Connettere automaticamente a questa rete</em>: impostare a piacere
#*nella sezione <em>Server per &hellip;</em> cliccare sul bottone <em>Aggiungi</em> e impostare come server:
+
#* <em>Scavalcare il server proxy</em>: NON SPUNTARE (in modo da utilizzare il proxy <tt>Tor</tt> locale)
#*:<code>p4fsi4ockecnea7l.onion</code>
+
#* <em>Usa SSL per tutti i server di questa rete</em>: SPUNTARE (per impostare la modalit&agrave; <tt>TSL-encrypted</tt>)
#*nella stessa sezione, impostare:
+
#* <em>Accettare certificati SSL non validi</em>: NON SPUNTARE
#*: -  <em>Connetti solo al server selezionato</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!
#*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).
+
# Inserire i parametri per l'autenticazione:
#*nella sezione <em>Connessione</em> impostare:
+
#* <em>Metodo di accesso</em>: <tt>SASL EXTERNAL (cert)</tt>
#*: - <em>Connetti automaticamente&hellip;</em>: impostare a piacere
+
#* <em>Password</em>: n/a (campo disabilitato: sar&agrave; usato il certificato associato all'account <tt>NickServ</tt> registrato)
#*: - <em>Usa un server proxy</em>: SPUNTARE
+
# Impostare il set di caratteri da utilizzare:
#*: - <em>Usa SSL per tutti i server di questa rete</em>: NON spuntare
+
#* <em>Set di caratteri</em>: <tt>UTF-8</tt>
#*: - <em>Accetta certificati SSL invalidi</em>: NON spuntare
+
# 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.
#*: - <em>Canale nel quale entrare</em>: <tt>#libreplanet</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 mechanism</code>
 
#:dove:
 
#: - <code>FreeNode-TorSASL</code>: &egrave; il nome del network per cui si vuole usare <tt>SASL</tt>
 
#:  - <code>mynickname</code>: &egrave; il nickname dell'account <tt>NickServ</tt> di <tt>freenode</tt> registrato e verificato che si sta utilizzando (vedi sopra)
 
#: - <code>mypassword</code>: &egrave; la password dell'account <tt>NickServ</tt> di <tt>freenode</tt> registrato e verificato che si sta utilizzando (vedi sopra)
 
#:  - <code>mechanism</code>: &egrave; il meccanismo di autenticazione da utilizzare (per ragioni di sicurezza, &egrave; *fortemente raccomandato* impostare questo parametro con: <code>DH-BLOWFISH</code>)
 
# Per non dover digitare il comando precedente a ogni avvio di <tt>XChat</tt>, &egrave; sufficiente memorizzare la configurazione <tt>SASL</tt> digitando, nell'area dei comandi di <tt>XChat</tt>, il comando:
 
#:<code>/SASL save</code>
 
#: Nota: Per visionare l'help sul comando SASL (installato dallo script in Perl) 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:
 
<code>
 
        N=FreeNode-TorSASL
 
        I=mynickname
 
        U=mynickname
 
        R=mynickname
 
        P=mypassword
 
        J=#libreplanet,#gnewsense
 
        E=UTF-8 (Unicode)
 
        F=17
 
        D=0
 
        S=p4fsi4ockecnea7l.onion
 
</code>
 
  
I parametri per l'autenticazione <tt>SASL</tt> risulteranno (se sono stati salvati) all'interno del file <code>~/.xchat2/sasl.auth</code>.
+
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:
 +
<pre>
 +
    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
 +
</pre>
  
Ci si pu&ograve; ora connettere via <tt>Tor</tt>+<tt>SASL</tt> alla rete <tt>FreeNode-TorSASL</tt> appena creata.  
+
Ci si pu&ograve; ora connettere via <tt>Tor</tt>+<tt>SASL</tt> alla rete <tt>FreeNode-Tor</tt> appena creata.  
  
Nota: In alcune circostanze, probabilmente a causa della latenza della rete <tt>tor</tt>, la connessione potrebbe risultare lenta o difficoltosa (in questo caso pu&ograve; essere utile modificare lo script <code>cap_sasl_xchat.pl</code> in modo da aumentare la durata del timeout di autenticazione).
+
== Riferimenti ==
 +
<references />
  
  
 
----
 
----
 
''[ Documento a cura di: [[User:Alexus|alexus]] ]''
 
''[ 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 ]