Documentação IRC · Intermédio
SASL em IRC: autenticar uma conta
SASL autentica uma conta no serviço IRC, muitas vezes antes de concluir a ligação. Por si só não cifra o transporte e não equivale ao pseudónimo pedido nem à verificação do certificado do servidor.
A equipa do Dialova · Verificado em
TLS, SASL e NickServ: três funções #
| Mecanismo | Função |
|---|---|
| TLS | Proteger a ligação e verificar a identidade do servidor através do certificado. |
| SASL | Autenticar uma conta através de um mecanismo acordado. |
| NickServ | Serviço de gestão de contas e pseudónimos cujos comandos dependem da rede. |
SASL é útil para entrar num canal que exige uma conta identificada logo à chegada. O nome da conta pode ser diferente do pseudónimo. Um servidor também pode ter autenticação de ligação através de PASS: não confundas estes campos.
Escolher um mecanismo anunciado #
O servidor pode anunciar sasl=PLAIN,EXTERNAL em CAP LS 302. PLAIN usa um segredo da conta numa troca codificada em Base64; isso não é cifragem. EXTERNAL baseia-se numa identidade externa aceite, como um certificado de cliente associado à conta. Não assumas que todos os mecanismos ou os certificados de cliente estão disponíveis em qualquer rede.
- Usar TLS e verificar o nome e a cadeia do certificado do servidor.
- Ativar sasl com CAP REQ e esperar ACK.
- Escolher um mecanismo que o cliente compreenda e o servidor ofereça.
- Tratar o sucesso, a falha e o cancelamento antes de concluir o registo.
Exemplo PLAIN com credenciais fictícias #
C: AUTHENTICATE PLAIN
S: AUTHENTICATE +
C: AUTHENTICATE AGFsaWNlAG1vdC1kZS1wYXNzZS1leGVtcGxl
S: :irc.example 903 Alice :SASL authentication successfulEste Base64 representa uma identidade de autorização vazia, a conta alice e o texto mot-de-passe-exemple, separados por NUL. Serve para explicar o formato, não para fornecer um segredo para copiar. A ficha AUTHENTICATE detalha os blocos de 400 bytes e o marcador +.
Não ocultar uma falha de autenticação #
Um 904 indica uma falha; um tempo de espera esgotado ou o desaparecimento de sasl não significam autenticação bem-sucedida. Se a rede exigir SASL, interrompe a tentativa e apresenta uma causa útil sem registar o segredo. A reautenticação após o registo descrita por SASL 3.2 depende do servidor.
Para o Dialova, cria uma chave IRC própria nas definições da conta. Essa chave destina-se ao programa IRC; não uses a palavra-passe web num exemplo de script nem num ficheiro publicado.
Fontes e verificação
Os exemplos usam alcunhas e domínios fictícios, salvo os pontos de ligação expressamente documentados. As extensões e definições específicas de uma rede são assinaladas no texto.
- IRCv3 — SASL Authentication 3.1 ↗Fonte da especificação · consultada em 2026-10-29
- IRCv3 — SASL Authentication 3.2 ↗Fonte da especificação · consultada em 2026-10-29
- RFC 4616 — SASL PLAIN ↗Fonte da especificação · consultada em 2026-10-29
- RFC 4422 — cadre SASL ↗Fonte da especificação · consultada em 2026-10-29
- Dialova — connexion depuis mIRC ↗Fonte Dialova · consultada em 2026-10-29