Aller au contenu
Dialova

Documentation IRC · Intermédiaire

SASL sur IRC : authentifier un compte

SASL authentifie un compte auprès du service IRC, souvent avant la fin de la connexion. Il ne chiffre pas à lui seul le transport et ne se confond ni avec le pseudo demandé ni avec la vérification du certificat du serveur.

Équipe Dialova · Vérifié le

TLS, SASL et NickServ : trois rôles #

MécanismeRôle
TLSProtéger la liaison et vérifier l’identité du serveur grâce au certificat.
SASLAuthentifier un compte par un mécanisme convenu.
NickServService de gestion des comptes/pseudos dont les commandes dépendent du réseau.

SASL est utile pour entrer dans un salon qui exige un compte identifié dès l’arrivée. Le nom de compte peut être différent du pseudo. Un serveur peut aussi avoir une authentification de connexion PASS : ne confondez pas ces champs.

Choisir un mécanisme annoncé #

Le serveur peut annoncer sasl=PLAIN,EXTERNAL dans CAP LS 302. PLAIN utilise un secret de compte dans un échange encodé en Base64 ; ce n’est pas du chiffrement. EXTERNAL s’appuie sur une identité extérieure acceptée, par exemple un certificat client associé au compte. Ni mécanisme ni certificat client ne doivent être supposés disponibles sur tous les réseaux.

  • Utiliser TLS et vérifier le nom et la chaîne du certificat serveur.
  • Activer sasl avec CAP REQ, puis attendre ACK.
  • Choisir un mécanisme compris et proposé par le serveur.
  • Traiter succès, échec et abandon avant de finaliser l’inscription.

Exemple PLAIN avec identifiants fictifs #

Après CAP ACK sasl, sur une liaison TLS : exemple fictif
C: AUTHENTICATE PLAIN
S: AUTHENTICATE +
C: AUTHENTICATE AGFsaWNlAG1vdC1kZS1wYXNzZS1leGVtcGxl
S: :irc.example 903 Alice :SASL authentication successful

Ce Base64 représente une identité d’autorisation vide, le compte alice et le texte mot-de-passe-exemple, séparés par NUL. Il sert à expliquer le format, pas à fournir un secret à copier. La fiche AUTHENTICATE précise les morceaux de 400 octets et le marqueur +.

Ne pas masquer un échec d’identité #

Un 904 indique un échec ; un timeout ou la disparition de sasl ne valent pas authentification réussie. Si le réseau exige SASL, arrêtez la tentative et affichez une cause exploitable sans journaliser le secret. La réauthentification après inscription décrite par SASL 3.2 dépend du serveur.

Pour Dialova, créez une clé IRC dédiée dans les paramètres du compte. Cette clé sert au logiciel IRC ; n’utilisez pas votre mot de passe Web dans un exemple de script ou un fichier publié.

Sources et vérification

Les exemples utilisent des pseudos et domaines fictifs, sauf les points de connexion explicitement documentés. Les extensions et réglages propres à un réseau sont signalés dans le texte.