Przejdź do treści
cutty.dev
Wszystkie posty

Bezpieczeństwo linków z hasłem — co się dzieje gdy klikasz

Możesz dodać hasło do swojego krótkiego linka. Pokazujemy co się dzieje pod spodem — bez wchodzenia w żargon — i czemu w ogóle warto.

Połowa poradników o linkach z hasłem zaczyna od zdania, że to "dodatkowa warstwa bezpieczeństwa". I na tym kończy. Moim zdaniem to akurat najmniej ważna rzecz, jaką można o tym powiedzieć.

Bo "warstwa bezpieczeństwa" niczego nie tłumaczy. Nie mówi ci, co dzieje się z tym hasłem, kto je widzi, ani kiedy ono w ogóle ma sens. A to są jedyne pytania, które warto sobie zadać, zanim klikniesz "Dodaj hasło".

Więc po kolei.

Hasło na linku to nie to samo co kłódka na bramie

Ludzie wyobrażają sobie, że hasło zamyka link na cztery spusty. Tak nie jest. Bezpieczeństwo linków z hasłem działa raczej jak bilet na koncert: kto ma bilet, ten wchodzi. Kto go komuś odda, ten też kogoś wpuści.

To brzmi jak wada. Nie jest. Po prostu trzeba wiedzieć, do czego ten mechanizm służy.

Trzy sytuacje, w których naprawdę się przydaje:

Cennik dla klientów premium albo dokument w wersji beta, zanim pójdzie do świata. Bez hasła taki link prędzej czy później wyląduje w Google albo przejdzie z rąk do rąk.

Treść z datą ważności. Oferta tylko na piątek. Materiał z konferencji wyłącznie dla uczestników. Hasło robi z linka kontrolowane wejście — wiesz, że ktoś dostał je od ciebie, nie znalazł przypadkiem.

I rzecz, którą wrzucasz w pełni publicznie, ale chcesz trzymać rękę na pulsie. Link może krążyć. Bez hasła nikt i tak nie wejdzie.

A teraz to, czego ten poradnik miał nie pominąć

Wpisujesz hasło w formularzu. W tym samym momencie ono znika. Dosłownie. To, że ustawiłeś "tajne123", przestaje istnieć w czytelnej formie, zanim zdążysz puścić przycisk.

Co zostaje w bazie? Nie hasło. Odcisk palca po nim. Fachowo: hash. Ciąg znaków, który pasuje do twojego hasła tylko wtedy, gdy ktoś wpisze dokładnie to samo, co i ty. Sam z siebie nie zdradza niczego.

Powiem to wprost, bo to ważne: ja, prowadzący serwis, nie mam jak odczytać twojego hasła. Nie dlatego, że jestem grzeczny. Dlatego, że fizycznie nie ma czego odczytać. Gdyby ktoś włamał się do bazy, wyniósłby stosik tych odcisków i tyle.

Algorytm, który to liczy, jest celowo powolny. Wiem, że "powolny" brzmi jak skarga, ale to zaleta. Chodzi o to, żeby ktoś, kto ukradł bazę, musiał na zgadnięcie jednego hasła poświęcić absurdalnie dużo czasu. Mowa o latach, nie sekundach.

Klik z drugiej strony

Ktoś dostaje twój link i klika. Zamiast od razu trafić na cel, widzi ekran: "ten link jest chroniony hasłem", pole do wpisania, przycisk.

Wpisuje. Serwer porównuje to, co wpisał, z zapisanym odciskiem. Zgadza się? Dostaje token sesyjny ważny dobę. Przez następne 24 godziny wraca do linka bez wpisywania czegokolwiek. Nie musi pamiętać, nie musi się męczyć.

Nie zgadza się? Błąd. Pięć pomyłek z tego samego adresu IP i wejście blokuje się na pięć minut. Bot, który próbuje łomotać hasłami po kolei, odbija się od ściany.

Czego tu po prostu nie ma

Nie zapisujemy haseł otwartym tekstem. Nigdzie. Nawet w logach, do których zaglądam przy szukaniu błędów.

Nie wysyłamy haseł mailem. Co znaczy, że jeśli ktoś zapomni hasła, ja mu go nie podeślę, bo go nie znam. Musisz wysłać je sam, tym samym kanałem co poprzednio.

I nie przekazujemy haseł na zewnątrz. Żadna analityka, żaden marketing, żadne AB nie dotyka tych danych. (To akurat zasada, która obowiązuje w całym cutty.dev, nie tylko tutaj.)

Dwa nawyki, które robią różnicę

Pierwszy: nie wymyślaj hasła z głowy. Nazwa firmy plus rok założenia to prezent dla każdego, kto cię zna. Generator w przeglądarce wypluje coś lepszego w sekundę.

Drugi, ważniejszy: nie wysyłaj hasła tym samym kanałem co linka. Link poszedł mailem? Hasło wyślij SMS-em. Albo na odwrót. Sens jest taki, że przejęcie jednej skrzynki nie daje nikomu kompletu.

Drobiazg, o którym mało kto wie: możesz zrobić kilka linków prowadzących pod ten sam adres, ale z różnymi hasłami. Dajesz dostęp pięciu osobom, każdej osobny link. Jedna ma się pożegnać? Blokujesz jej link, reszta nawet nie zauważy.

Hasło zmienisz bez tworzenia nowego linka. Panel, "Edytuj", nowe hasło. Uwaga: wszystkie aktywne sesje 24-godzinne padają natychmiast. Każdy musi wpisać hasło od nowa.

Granica, o której warto wiedzieć zawczasu

Wróćmy do biletu na koncert. Hasło chroni przed wyszukiwarką i przed przypadkowym gościem. Nie chroni przed kimś, kto hasło zna i postanowi się nim podzielić ze światem.

Jeśli twój scenariusz brzmi "to ma zobaczyć dokładnie ta jedna osoba i nikt więcej", to hasło nie wystarczy. Tu potrzebujesz kont, logowania, autoryzacji. Inna liga, inny problem.

Ale ręka w górę, jak często naprawdę masz taki scenariusz? W moim doświadczeniu rzadko. W zdecydowanej większości przypadków chodzi o zwykłe "nie chcę, żeby trafił tu ktoś z ulicy". I na to hasło wystarcza z zapasem.

Jak chcesz zobaczyć, jak to wygląda od środka — przy tworzeniu linka rozwiń "Opcje zaawansowane" i zaznacz "Dodaj hasło". Reszta dzieje się sama.