Hoppa till innehållet
Dialova

IRC-dokumentation · Medelnivå

SASL på IRC: autentisera ett konto

SASL autentiserar kontot hos IRC-tjänsten, ofta innan anslutningen är klar. Det krypterar inte transporten i sig och är skilt från valt smeknamn och servercertifikatkontroll.

Dialovas team · Kontrollerat den

TLS, SASL och NickServ: tre roller #

MekanismRoll
TLSSkydda länken och verifiera serveridentiteten med certifikatet.
SASLAutentisera konto med överenskommen mekanism.
NickServKonto- och namntjänst med nätverksspecifika kommandon.

SASL hjälper att gå med i kanaler som kräver identifierat konto direkt. Kontonamn kan skilja sig från smeknamn. Servern kan också använda PASS för anslutningsautentisering. Blanda inte ihop fälten.

Välj annonserad mekanism #

Servern kan ange sasl=PLAIN,EXTERNAL i CAP LS 302. PLAIN använder en Base64-kodad kontohemlighet, vilket inte är kryptering. EXTERNAL använder accepterad yttre identitet, till exempel klientcertifikat kopplat till kontot. Förutsätt inte att mekanismer eller klientcertifikat finns på alla nätverk.

  • Använd TLS och kontrollera servercertifikatets namn och kedja.
  • Aktivera sasl med CAP REQ och vänta på ACK.
  • Välj en mekanism som klienten förstår och servern erbjuder.
  • Hantera framgång, fel och avbrott innan registreringen slutförs.

PLAIN-exempel med påhittade uppgifter #

Efter CAP ACK sasl över TLS: påhittat exempel
C: AUTHENTICATE PLAIN
S: AUTHENTICATE +
C: AUTHENTICATE AGFsaWNlAG1vdC1kZS1wYXNzZS1leGVtcGxl
S: :irc.example 903 Alice :SASL authentication successful

Base64-värdet representerar tom auktorisationsidentitet, kontot alice och texten mot-de-passe-exemple åtskilda av NUL. Det förklarar formatet och är ingen hemlighet att kopiera. AUTHENTICATE-guiden beskriver 400-bytebitar och + som slutmarkör.

Dölj inte misslyckad identifiering #

904 betyder fel. Timeout eller borttagen sasl betyder inte lyckad autentisering. Om SASL krävs ska försöket avbrytas och felet visas utan att hemligheten loggas. Återautentisering efter registrering enligt SASL 3.2 beror på servern.

Skapa en separat IRC-nyckel i Dialovas kontoinställningar. Den används i IRC-programmet. Publicera inte webblösenordet i skriptexempel eller filer.

Källor och kontroll

Exemplen använder påhittade smeknamn och domäner, utom uttryckligen dokumenterade anslutningspunkter. Nätverksspecifika tillägg och inställningar anges i texten.