Saltar al contenido
Dialova

Documentación IRC · Intermedio

SASL en IRC: autenticar una cuenta

SASL autentica una cuenta ante el servicio IRC, a menudo antes de terminar la conexión. Por sí solo no cifra el transporte y no equivale al apodo solicitado ni a la verificación del certificado del servidor.

El equipo de Dialova · Verificado el

TLS, SASL y NickServ: tres funciones #

MecanismoFunción
TLSProteger la conexión y verificar la identidad del servidor mediante el certificado.
SASLAutenticar una cuenta mediante un mecanismo acordado.
NickServServicio de gestión de cuentas y apodos cuyos comandos dependen de la red.

SASL sirve para entrar en canales que exigen una cuenta identificada desde la llegada. El nombre de cuenta puede diferir del apodo. Un servidor también puede tener autenticación de conexión mediante PASS: no confundas esos campos.

Elegir un mecanismo anunciado #

El servidor puede anunciar sasl=PLAIN,EXTERNAL en CAP LS 302. PLAIN usa un secreto de cuenta en un intercambio codificado en Base64; eso no es cifrado. EXTERNAL se apoya en una identidad externa aceptada, como un certificado de cliente asociado a la cuenta. No presupongas que todos los mecanismos o los certificados de cliente están disponibles en cualquier red.

  • Usar TLS y verificar el nombre y la cadena del certificado del servidor.
  • Activar sasl con CAP REQ y esperar ACK.
  • Elegir un mecanismo que el cliente entienda y el servidor ofrezca.
  • Gestionar el éxito, el error y la cancelación antes de finalizar el registro.

Ejemplo PLAIN con credenciales ficticias #

Tras CAP ACK sasl, en una conexión TLS: ejemplo ficticio
C: AUTHENTICATE PLAIN
S: AUTHENTICATE +
C: AUTHENTICATE AGFsaWNlAG1vdC1kZS1wYXNzZS1leGVtcGxl
S: :irc.example 903 Alice :SASL authentication successful

Este Base64 representa una identidad de autorización vacía, la cuenta alice y el texto mot-de-passe-exemple, separados por NUL. Explica el formato; no proporciona un secreto para copiar. La ficha AUTHENTICATE detalla los bloques de 400 bytes y el marcador +.

No ocultar un error de autenticación #

Un 904 indica un error; un tiempo de espera agotado o la desaparición de sasl no significan que la autenticación haya tenido éxito. Si la red exige SASL, detén el intento y muestra una causa útil sin registrar el secreto. La reautenticación tras el registro descrita por SASL 3.2 depende del servidor.

Para Dialova, crea una clave IRC específica en los ajustes de la cuenta. Esa clave es para el cliente IRC; no uses tu contraseña web en un ejemplo de script ni en un archivo publicado.

Fuentes y verificación

Los ejemplos usan apodos y dominios ficticios, salvo los puntos de conexión expresamente documentados. Las extensiones y los ajustes específicos de una red se indican en el texto.