Idi na sadržaj
cutty.dev
All posts

Sigurnost poveznica s lozinkom — što se događa kada kliknete

Možete dodati lozinku svom kratkom linku. Pokazujemo što se događa „ispod haube” — bez ulaska u žargon — i zašto je to uopće vrijedno.

Polovina vodiča o poveznicama s lozinkom počinje rečenicom da je to "dodatna razina sigurnosti". I tu sve prestaje. Po mom mišljenju, to je upravo najmanje važna stvar koju se može reći o tome.

Jer "sloj sigurnosti" ništa ne objašnjava. Ne govori vam što se događa s tom lozinkom, tko je vidi, niti kada ona uopće ima smisla. A to su jedina pitanja koja vrijedi sebi postaviti prije nego što kliknete "Dodaj lozinku".

Dakle, redom.

Lozinka na poveznici nije isto što i lokot na brami

Ljudi zamišljaju da lozinka neprobojno zatvara poveznicu. Nije tako. Sigurnost poveznica s lozinkom djeluje više kao ulaznica za koncert: tko ima ulaznicu, taj ulazi. Tko je nekome preda, taj će također nekoga pustiti unutra.

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

Tri situacije u kojima je doista koristan:

Cjenik za premium klijente ili dokument u beta verziji, prije nego što izađe u svijet. Bez lozinke, ovakva poveznica će prije ili kasnije završiti na Googleu ili prijeći iz ruke u ruku.

Sadržaj s datumom valjanosti. Ponuda samo za petak. Materijal s konferencije isključivo za sudionike. Lozinka stvara kontrolirani ulaz putem poveznice — znaš da ju je netko dobio od tebe, a ne da ju je slučajno pronašao.

Druga stvar koju objavljuješ potpuno javno, ali želiš držati prst na pulsu. Link može kružiti. Bez lozinke nitko ionako neće ući.

A sada i ovo, što ovaj vodič nije smio izostaviti

Unosite lozinku u obrazac. U istom trenutku ona nestaje. Doslovno. To što ste postavili "tajne123", prestaje postojati u čitljivom obliku prije nego što stignete pustiti tipku.

Što ostaje u bazi? Ne lozinka. Otisak prsta nakon nje. Stručno: hash. Niz znakova koji odgovara tvojoj lozinki samo ako netko upiše točno isto što i ti. Sam po sebi ne otkriva ništa.

Reći ću izravno, jer je to važno: ja, kao voditelj servisa, nemam načina pročitati tvoju lozinku. Ne zato što sam pristojan. Već zato što fizički nema čega pročitati. Da se netko upao u bazu, odnio bi hrpu tih otisaka i to je to.

Algoritam koji ovo računa je namjerno spor. Znam da "spor" zvuči kao žalba, ali to je prednost. Cilj je da netko tko je ukrao bazu mora potrošiti apsurdno puno vremena na pogađanje jedne lozinke. Riječ je o godinama, a ne sekundama.

Klik s druge strane

Netko dobije tvoju poveznicu i klikne. Umjesto da odmah dođe do cilja, vidi zaslon: "ova je poveznica zaštićena lozinkom", polje za unos, gumb.

Unosi. Poslužitelj uspoređuje ono što je unesenom s pohranjenim otiskom. Odgovara li? Dobiva sesijski token važeći dob. Sljedećih 24 sata vraća se na poveznicu bez unosa bilo čega. Ne mora pamtiti, ne mora se mučiti.

Ne slaže se? Pogreška. Pet pogrešaka s iste IP adrese i pristup se blokira na pet minuta. Bot koji pokušava udaračima lozinki redom, odbija se od zida.

Čega ovdje jednostavno nema

Ne spremamo lozinke u čistom tekstu. Nigdje. Čak ni u logovima kojima pregledavam prilikom traženja pogrešaka.

Ne šaljemo lozinke putem e-pošte. To znači da ako netko zaboravi lozinku, ja mu je neću poslati jer je ne znam. Moraš je sam poslati, istim kanalom kao i prethodno.

I ne prenosimo lozinke van. Nikakva analitika, nikakav marketing, nikakav AB ne dira te podatke. (To je zapravo pravilo koje vrijedi u cijelom cutty.dev, ne samo ovdje.)

Dvije navike koje čine razliku

Prvi: ne izmišljaj lozinku iz glave. Naziv tvrtke plus godina osnivanja je poklon za svakoga tko te poznaje. Generator u pregledniku izbacit će nešto bolje u sekundi.

Drugi, važniji: ne šalji lozinku istim kanalom kao i poveznicu. Je li poveznica otišla e-mailom? Lozinku pošalji SMS-om. Ili obrnuto. Smisao je takav da preuzimanje jedne sandučića nikome ne daje kompletan set.

Sitnica o kojoj malo tko zna: možete napraviti nekoliko poveznica koje vode na istu adresu, ali s različitim lozinkama. Dajete pristup petim osobama, svakoj zasebnu poveznicu. Treba se jedna oprostiti? Blokirate njezinu poveznicu, ostali to čak ni neće primijetiti.

Lozinku možete promijeniti bez stvaranja novog linka. Panel, "Ediraj", nova lozinka. Napomena: sve aktivne 24-satne sesije prestaju odmah. Svatko mora ponovno upisati lozinku.

Granica, o której warto wiedzieć zawczasu

Vratimo se na kartu za koncert. Lozinka štiti od tražilice i od slučajnog gosta. Ne štiti od nekoga tko lozinku zna i odluči se podijeliti je sa svijetom.

Ako tvoj scenarij zvuči "ovo treba vidjeti točno ta jedna osoba i nitko drugi", onda lozinka nije dovoljna. Ovdje ti trebaju računi, prijava, autorizacija. Druga liga, druga vrsta problema.

Ali ruku gore, koliko često stvarno imaš takav scenarij? U mom iskustvu rijetko. U zdecydirano većini slučajeva radi se o običnom "ne želim da ovdje upadne netko s ulice". I za to je ta izjava sasvim dovoljna.

Ako želiš vidjeti kako to izgleda iznutra — prilikom stvaranja poveznice proširi "Napredne opcije" i označi "Dodaj lozinku". Ostatak se događa sam od sebe.