Vai al contenuto
Dialova

Documentazione IRC · Intermedio

SASL su IRC: autenticare un account

SASL autentica un account presso il servizio IRC, spesso prima di completare la connessione. Da solo non cifra il trasporto e non va confuso con il nickname richiesto o con la verifica del certificato del server.

Il team di Dialova · Verificato il

TLS, SASL e NickServ: tre ruoli #

MeccanismoRuolo
TLSProteggere il collegamento e verificare l’identità del server tramite il certificato.
SASLAutenticare un account con un meccanismo concordato.
NickServServizio di gestione di account e nickname i cui comandi dipendono dalla rete.

SASL è utile per entrare in un canale che richiede un account identificato fin dall’ingresso. Il nome dell’account può essere diverso dal nickname. Un server può anche prevedere un’autenticazione di connessione tramite PASS: non confondere questi campi.

Scegliere un meccanismo annunciato #

Il server può annunciare sasl=PLAIN,EXTERNAL in CAP LS 302. PLAIN usa un segreto dell’account in uno scambio codificato in Base64; non si tratta di crittografia. EXTERNAL si basa su un’identità esterna accettata, per esempio un certificato client associato all’account. Non dare per scontata la disponibilità di ogni meccanismo o dei certificati client su tutte le reti.

  • Usare TLS e verificare il nome e la catena del certificato del server.
  • Attivare sasl con CAP REQ e attendere ACK.
  • Scegliere un meccanismo compreso dal client e offerto dal server.
  • Gestire successo, errore e interruzione prima di completare la registrazione.

Esempio PLAIN con credenziali fittizie #

Dopo CAP ACK sasl, su un collegamento TLS: esempio fittizio
C: AUTHENTICATE PLAIN
S: AUTHENTICATE +
C: AUTHENTICATE AGFsaWNlAG1vdC1kZS1wYXNzZS1leGVtcGxl
S: :irc.example 903 Alice :SASL authentication successful

Questo Base64 rappresenta un’identità di autorizzazione vuota, l’account alice e il testo mot-de-passe-exemple, separati da NUL. Serve a spiegare il formato, non a fornire un segreto da copiare. La scheda AUTHENTICATE descrive i blocchi da 400 byte e il marcatore +.

Non nascondere un errore di autenticazione #

Un 904 indica un errore; un timeout o la scomparsa di sasl non equivalgono a un’autenticazione riuscita. Se la rete richiede SASL, interrompi il tentativo e mostra una causa utile senza registrare il segreto nei log. La riautenticazione dopo la registrazione descritta da SASL 3.2 dipende dal server.

Per Dialova, crea una chiave IRC dedicata nelle impostazioni dell’account. La chiave serve al software IRC; non usare la password web in un esempio di script o in un file pubblicato.

Fonti e verifica

Gli esempi usano nickname e domini fittizi, tranne gli endpoint esplicitamente documentati. Le estensioni e le impostazioni specifiche di una rete sono indicate nel testo.