Pređi na sadržaj
cutty.dev
All posts

Bezbednost linkova sa lozinkom — šta se dešava kada kliknete

Možeš dodati lozinku svom kratkom linku. Pokazujemo šta se dešava „ispod haube“ — bez ulaska u žargon — i zašto je to uopšte vredno truda.

Polovina tutorijala o linkovima sa lozinkom počinje rečenicom da je to "dodatni sloj bezbednosti". I tu se završava. Po mom mišljenju, to je upravo najmanje važna stvar koju se može reći o tome.

Jer "sloj bezbednosti" ništa ne objašnjava. Ne govori vam šta se dešava sa tom lozinkom, ko je vidi, niti kada ona uopšte ima smisla. A to su jedina pitanja koja vredi sebi postaviti pre nego što kliknete na "Dodaj lozinku".

Dakle, redom.

Lozinka na linku nije isto što i katanc na kapiji

Ljudi zamišljaju da lozinka čvrsto zaključava link. Nije tako. Bezbednost linkova sa lozinkom funkcioniše više kao karta za koncert: ko ima kartu, taj ulazi. Ko je nekome preda, taj će takođe nekoga pustiti unutra.

To zvuči kao mana. Nije. Jednostavno treba znati čemu taj mehanizam služi.

Tri situacije u kojima je zaista korisno:

Cenovnik za premium klijente ili dokument u beta verziji, pre nego što izađe u svet. Bez lozinke, ovakav link će pre ili kasnije završiti na Google-u ili pasti iz ruke u ruku.

Sadržaj sa datumom isteka. Ponuda samo za petak. Materijal sa konferencije isključivo za učesnike. Lozinka pravi kontrolisani ulaz putem linka — znaš da je neko dobio od tebe, a ne da je našao slučajno.

I stvar koju objavljuješ potpuno javno, ali želiš da držiš situaciju pod kontrolom. Link može kružiti. Bez lozinke niko ionako neće moći da uđe.

A sada i ono što ovaj vodič nije smeo da izostavi

Unosite lozinku u formularu. U istom trenutku ona nestaje. Doslovno. To što ste postavili "tajne123", prestaje da postoji u čitljivom obliku pre nego što stignete da pustite dugme.

Šta ostaje u bazi? Ne lozinka. Otisak prsta nakon nje. Stručno: hash. Niz karaktera koji odgovara vašoj lozinki samo kada neko unese potpuno isto što i vi. Sam po sebi ne otkriva ništa.

Reći ću vam direktno, jer je to važno: ja, kao administrator servisa, nemam način da pročitam vašu lozinku. Ne zato što sam ljubazan. Već zato što fizički nema šta da se pročita. Da je neko upao u bazu, izneo bi gomilu tih otisaka i to je sve.

Algoritam koji ovo računa je namerno spor. Znam da "spor" zvuči kao žalba, ali to je prednost. Cilj je da neko ko je ukrao bazu mora da potroši apsurdno mnogo vremena na pogađanje jedne lozinke. Reč je o godinama, ne o sekundama.

Klik sa druge strane

Neko dobije tvoj link i klikne. Umesto da odmah stigne do cilja, vidi ekran: "ovaj link je zaštićen lozinkom", polje za unos, dugme.

Unosi. Server upoređuje ono što je uneo sa sačuvanim otiskom. Da li se poklapa? Dobija sesijski token važeći 24 sata. Tokom naredna 24 sata vraća se na link bez unosa bilo čega. Ne mora da pamti, ne mora da se muči.

Ne slaže se? Greška. Pet pogrešaka sa iste IP adrese i pristup se blokira na pet minuta. Bot koji pokušava da udara lozinkama jednu po jednu, odbija se od zida.

Čega ovde jednostavno nema

Ne čuvamo lozinke u čistom tekstu. Nigde. Čak ni u logovima koje pregledam prilikom traženja grešaka.

Ne šaljemo lozinke putem mejla. To znači da ako neko zaboravi lozinku, ja mu je neću poslati, jer je ne znam. Moraš je poslati sam/a, istim kanalom kao i prethodno.

I ne prenosimo lozinke van. Nikakva analitika, nikakav marketing, nijedan AB ne dira ove podatke. (To je zapravo pravilo koje važi u celom cutty.dev, ne samo ovde.)

Dve navike koje prave razliku

Prvi: ne izmišljaj lozinku iz glave. Naziv firme plus godina osnivanja je poklon za svakoga ko te poznaje. Generator u pretraživaču će izbaciti nešto bolje u sekundi.

Drugi, važniji: ne šalji lozinku istim kanalom kao i link. Link je poslat mejlom? Lozinku pošalji SMS-om. Ili obrnuto. Smisao je u tome da preuzimanje jedne sandučića nikome ne daje kompletan set.

Sitnica o kojoj malo ko zna: možete napraviti nekoliko linkova koji vode na istu adresu, ali sa različitim lozinkama. Dajete pristup petim osobama, svakoj poseban link. Jedna treba da se oprosti? Blokirate njen link, ostali to čak ni neće primetiti.

Lozinku možete promeniti bez kreiranja novog linka. Panel, "Izmeni", nova lozinka. Napomena: sve aktivne sesije od 24 sata prestaju odmah. Svako mora ponovo da unese lozinku.

Granica, o której warto wiedzieć zawczasu

--- Granica, koju vredi znati na vreme

Vratimo se na kartu za koncert. Lozinka štiti od pretraživača i od slučajnog gosta. Ne štiti od nekoga ko lozinku zna i odluči da je podeli sa svetom.

Ako tvoj scenario zvuči kao „ovo treba da vidi tačno ta jedna osoba i niko više“, samo lozinka nije dovoljna. Ovde su ti potrebni nalozi, prijavljivanje, autorizacija. Druga liga, drugi problem.

Ali ruka uvis, koliko često zaista imaš takav scenario? U mom iskustvu, retko. U zdecydirano većini slučajeva radi se o običnom "ne želim da ovde upadne neko sa ulice". I za to je ta fraza sasvim dovoljna.

Ako želiš da vidiš kako to izgleda iznutra — prilikom kreiranja linka proširi "Napredne opcije" i označi "Dodaj lozinku". Ostatak se dešava sam od sebe.