Nie ma możliwości odzyskania tożsamości
Zacznij tutaj, ponieważ to zmienia cel reszty tego artykułu. Nigdy nie pytaliśmy, kim jesteś. Nie ma żadnego dokumentu, numeru telefonu ani adresu rozliczeniowego w aktach, więc nie istnieje żadna procedura, dzięki której mógłbyś udowodnić, że konto jest twoje po utracie do niego dostępu. To jest kompromis wynikający z polityki no-KYC, i nie ugina się w żadną stronę.
Kody odzyskiwania są procedurą odzyskiwania. Traktuj je tak, jakby były kontem, bo operacyjnie nimi są.
Włączanie
Dwa mechanizmy, które można używać razem:
- TOTP: znane sześć cyfr w trzydziestosekundowym kroku. Działa każdy uwierzytelniacz.
- WebAuthn: sprzętowy klucz bezpieczeństwa lub platformowy uwierzytelniacz. Zarejestruj dwa.
Po włączeniu drugi czynnik jest wymagany przy logowaniu, przed sesją konsoli poza pasmem oraz przed zmianą adresu e-mail konta. Nie jest wymagany w przypadku tokenów API, które są osobnym poświadczeniem z własnymi zakresami.
Samodzielne weryfikowanie sekretu TOTP
apt install -y oathtool
oathtool --totp -b JBSWY3DPEHPK3PXPWydrukowany kod powinien odpowiadać temu na telefonie w tej samej sekundzie. Gdy nie odpowiada, przyczyną jest prawie zawsze zegar, a nie sekret.
Dryf zegara
TOTP jest funkcją czasu. Akceptujemy jeden krok w każdą stronę, czyli trzydzieści sekund tolerancji: wystarczająco dla telefonu, ale nie dla serwera, który działa rok bez działającego klienta czasu.
timedatectl status
systemctl status systemd-timesyncd # Debian
chronyc tracking # AlmaLinuxSystem clock synchronized: yes to linia, która ma znaczenie. Napraw zegar, zanim wyciągniesz wniosek, że coś innego jest zepsute.
Kody odzyskiwania
Dziesięć kodów, jednorazowych, generowanych po włączeniu drugiego czynnika. Każdy z nich podpisuje cię raz i potem jest martwy.
- Wydrukuj je. Papier nie ma baterii, aktualizacji oprogramowania ani ekranu blokady.
- Przechowuj kopię w innym budynku niż maszyna, z której się logujesz.
- Nie przechowuj ich w menedżerze haseł, który zawiera hasło konta. To z dwóch czynników robi jeden.
- Zregeneruj zestaw po użyciu jednego kodu lub gdy nie masz pewności, że kopia jest nadal prywatna. Regeneracja unieważnia wszystkie kody ze starego zestawu.
Jeśli stracisz czynnik, ale nadal masz kody
Zaloguj się kodem, usuń stary czynnik, zarejestruj nowy, zregeneruj zestaw. Cztery minuty, bez zgłoszenia, bez czekania na kogokolwiek.
Jeśli stracisz oba
Konto jest utracone. Nie zablokowane w oczekiwaniu na formularz, nie zawieszone na czas przeglądu — utracone, wraz ze wszystkim, co na nim działa. Wolelibyśmy napisać to wprost, niż sugerować lukę ratunkową, która nie istnieje, a wsparcie nie może jej stworzyć; po naszej stronie nie ma nic, z czym moglibyśmy cię porównać.
Środek zaradczy jest nudny i działa. Dwa klucze sprzętowe albo jeden klucz i wydrukowany zestaw kodów w szufladzie gdzie indziej. Oraz kopia wszystkiego, co naprawdę niezastąpione, przechowywana gdzieś poza nami, co jest dobrą praktyką niezależnie od tego, kto jest twoim hostem.