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 IRCHexChat 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.
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 NickServdifreenode 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–textoTSL-encrypted
Dal menù HexChatdiHexChat, 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)
Cliccare sul bottone Aggiungi così da creare una nuova rete (network) attribuendole un idoneo identificativo (p. es. FreeNode)
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
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
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)
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
Impostare il set di caratteri da utilizzare:
Set di caratteri: UTF-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):
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 (oECDSA-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:
disporre di un account NickServdifreenode registrato e verificato[1]
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:
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):
Dal menù HexChatdiHexChat, 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)
Cliccare sul bottone Aggiungi così da creare una nuova rete (network) attribuendole un idoneo identificativo (p. es. FreeNode-Tor)
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
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
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!
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)
Impostare il set di caratteri da utilizzare:
Set di caratteri: UTF-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: