Anar al contingut
cutty.dev
All posts

Seguretat dels enllaços amb contrasenya — què passa quan fas clic

Pots afegir una contrasenya al teu enllaç curt. Et mostrem què passa sota la superfície — sense entrar en tecnicismes — i per què realment val la pena.

La meitat dels tutorials sobre enllaços amb contrasenya comencen amb la frase que es tracta d'una "capa addicional de seguretat". I aquí s'acaba. En la meva opinió, això és precisament la cosa menys important que es pot dir al respecte.

Però una "capa de seguretat" no explica res. No et diu què passa amb aquesta contrasenya, qui la veu, ni quan té sentit en absolut. I aquestes són les úniques preguntes que val la pena fer-se abans de fer clic a "Afegeix contrasenya".

Així que, un per un.

La contrasenya d'un enllaç no és el mateix que el pany d'una porta

La gent s'imagina que la contrasenya tanca l'enllaç de manera definitiva. No és així. La seguretat dels enllaços amb contrasenya funciona més avui dia com una entrada per a un concert: qui té l'entrada, entra. Qui la regali a algú, també deixarà entrar algú.

Sembla un defecte. No ho és. Simplement cal saber per a què serveix aquest mecanisme.

Tres situacions en les quals realment és útil:

Llista de preus per a clients premium o document en versió beta, abans que surti al món. Sense contrasenya, un enllaç així acabarà tard o d'hora a Google o passarà de mà en mà.

Contingut amb data de caducitat. Oferta només per al divendres. Material de la conferència exclusivament per als participants. La contrasenya crea un accés controlat mitjançant l'enllaç — saps que algú la va rebre de tu, no que la va trobar per casualitat.

I cosa que publiques de manera totalment pública, però vols mantenir el control. L'enllaç pot circular. Sense contrasenya, ningú podrà entrar de totes endings.

I ara això, que aquesta guia no hauria d'omèss**

Escripts la contrasenya al formulari. En aquest mateix moment desapareix. Literalment. El fet que hagis configurat "tajne123", deixa d'existir de forma llegible abans que puguis soltar el botó.

Què queda a la base de dades? La contrasenya no. Una empremta digital després d'aquesta. Professionalment: hash. Una cadena de caràcters que coincideix amb la teva contrasenya només quan algú escriu exactament el mateix que tu. Per si mateixa no revela res.

Ho diré directament, perquè és important: jo, l'administrador del servei, no tinc com llegir la teva contrasenya. No perquè sigui educat. Sinó perquè físicament no hi ha res que llegir. Si algú s'hagués infiltrat a la base de dades, s'hauria emportat un munticle d'aquestes empremtes i punt.

L'algorisme que calcula això és deliberadament lent. Sé que "lent" sona com una queixa, però és un avantatge. L'objectiu és que algú que hagi robat la base de dades hagi de dedicar una quantitat absurdament gran de temps a cada possible contrasenya. Parlem d'anys, no de segons.

Clic de l'altre costat

Algú rep el teu enllaç i clica. En lloc d'arribar directament a la destinació, veu una pantalla: "aquest enllaç està protegit amb contrasenya", un camp per escriure i un botó.

Escriu. El servidor compara el que s'ha escrit amb l'empremta guardada. Coincideix? Rebre un token de sessió vàlid durant un dia. Durant les següents 24 hores, torna a l'enllaç sense haver d'escriure res. No cal que ho recordi, no cal que es cansi.

No estàs d'acord? Error. Cinc errors des de la mateixa adreça IP i l'accés es bloqueja durant cinc minuts. El bot que intenta provar contrasenyes una rerellera una altra vegada, xoca contra un mur.

Què simplement no hi ha

No guardem contrasenyes en text clar. En cap lloc. Ni tan sols als logs, que reviso quan busco errors.

No enviem contrasenyes per correu electrònic. Això significa que si algú oblida la contrasenya, jo no se la podré enviar, perquè no la conec. Has de enviar-la tu mateix, pel mateix canal que l'anterior.

I no transferim contrasenyes cap a l'exterior. Cap analítica, cap màrqueting, cap AB toca aquests dades. (Això és precisament una regla que s'aplica a tot cutty.dev, no només aquí.)

Dos hàbits que marquen la diferència

Primer: no inventis una contrasenya de capçalera. El nom de l'empresa més l'any de fundació és un regal per a qualsevol que et conegui. Un generador al navegador escamparà alguna cosa millor en un segon.

El segon, més important: no enviïs la contrasenya pel mateix canal que l'enllaç. L'enllaç s'ha enviat per correu electrònic? Envia la contrasenya per SMS. O al revés. El sentit és que l'interceptació d'una sola caixa no li dona a ningú el conjunt complet.

Un detall que poca gent coneix: pots crear diversos enllaços que portin a la mateixa adreça, però amb paraules diferents. Dones accés a cinc persones, un enllaç separat per a cada una. En algú s'ha de marxar? Bloquejes el seu enllaç i la resta ni tan sols ho notarà.

Podràs canviar la contrasenya sense crear un nou enllaç. Panel, "Edita", nova contrasenya. Nota: totes les sessions actives de 24 hores s'aturen immediatament. Tothom haurà de tornar a introduir la contrasenya.

Frontera, que és important saber amb antelació

Tornelem a l'entrada del concert. La contrasenya protegeix contra el motor de cerca i contra un convidat accidental. No protegeix contra algú que coneix la contrasenya i decideix compartir-la amb el món.

Si el teu escenari sona a "aquesta persona exacta ha de veure això i ningú més", la contrasenya no serà suficient. Aquí necessites comptes, inici de sessió, autorització. Una altra lliga, un altre problema.

Però aixecant la mà, amb què freqüència tens realment un escenari així? En la meva experiència, rarament. En la gran majoria dels casos, es tracta d'un simple "no vull que arribi algú del carrer". I per a això, aquesta frase és més que suficient.

Si vols veure com és per dins — en crear l'enllaç desplega "Opcions avançades" i marca "Afegeix contrasenya". La resta es fa sola.