„Włączyliśmy dwuskładnikowe uwierzytelnianie” brzmi jak zamknięty temat. Problem w tym, że pod tym jednym zdaniem kryją się metody różniące się skutecznością o kilka rzędów wielkości - od takich, które zatrzymają zdeterminowanego atakującego, po takie, które da się obejść w kwadrans przez rozmowę z konsultantem operatora.
Ten artykuł to ranking. Od najsłabszego do najmocniejszego, z konkretnym wyjaśnieniem, na czym każda metoda pęka i którą wybrać do których kont.
Trzy składniki, o które w ogóle chodzi
Uwierzytelnianie wieloskładnikowe opiera się na łączeniu różnych kategorii dowodów tożsamości:
- Coś, co wiesz - hasło, PIN.
- Coś, co masz - telefon, klucz sprzętowy, karta.
- Coś, czym jesteś - odcisk palca, twarz.
Istotne jest słowo „różnych”. Hasło plus pytanie o nazwisko panieńskie matki to nie jest MFA - to dwa razy „coś, co wiesz”, i oba da się wyłudzić tym samym telefonem.
Ranking: od najsłabszego do najmocniejszego
5. SMS / połączenie głosowe slabe podatne na SIM swap i phishing
4. Push bez potwierdzenia srednie podatne na MFA fatigue
3. TOTP (aplikacja) dobre podatne na phishing przez proxy
2. Push z number matching dobre odporne na MFA fatigue
1. WebAuthn / klucz / passkey mocne odporne na phishing z zasady
5. SMS - lepszy niż nic, gorszy niż wszystko inne
Kod z SMS-a jest najpopularniejszy, bo nie wymaga niczego poza telefonem. I ma trzy niezależne słabe punkty.
SIM swap - atakujący podszywa się pod Ciebie u operatora i przenosi numer na własną kartę. Od tej chwili Twoje kody przychodzą do niego, a Ty tracisz zasięg i zwykle orientujesz się o kilka godzin za późno. Do tego dochodzą znane od lat słabości protokołu SS7 w sieciach telekomunikacyjnych i banalne przekierowania ustawione na koncie abonenckim.
Kluczowe jest jednak to, że kod z SMS-a - jak każdy kod, który przepisujesz ręcznie - da się wyłudzić. Jeśli wpiszesz go na podrobionej stronie, atakujący przekaże go dalej w czasie rzeczywistym.
Nie wyłączaj SMS-a, jeśli to jedyne, co dany serwis obsługuje - jest wyraźnie lepszy niż samo hasło. Ale nigdy nie zostawiaj go jako metody zapasowej tam, gdzie masz coś mocniejszego: konto jest tak bezpieczne, jak jego najsłabsza dopuszczona metoda logowania.
4. Powiadomienie push bez potwierdzenia kodem
„Czy to Ty próbujesz się zalogować? TAK / NIE”. Wygodne i odporne na SIM swap, ale otwiera drogę do ataku zwanego MFA fatigue albo bombardowaniem powiadomieniami.
Atakujący, który ma już Twoje hasło, wysyła kilkadziesiąt zapytań pod rząd - w nocy, w trakcie zebrania, przy dziecku na ręku. Statystycznie ktoś w końcu kliknie „TAK”, żeby to się skończyło. Tą metodą przejęto konta w firmach, które miały MFA włączone wszędzie i były przekonane, że temat jest zamknięty.
3. TOTP - sześć cyfr z aplikacji
Klasyk: Google Authenticator, Aegis, Ente Auth, menedżer haseł z wbudowanym generatorem. Działa według standardu RFC 6238 - serwis i aplikacja dzielą wspólny sekret (ten kod QR przy konfiguracji), a kod powstaje z tego sekretu i bieżącego czasu, zwykle w oknie 30 sekund.
kod = HMAC(wspólny_sekret, aktualny_czas / 30s) -> 6 cyfr
Zalety są realne: działa offline, nie zależy od operatora, jest darmowy i wspierany niemal wszędzie. To rozsądne minimum dla większości kont.
Ma jednak dwa ograniczenia. Po pierwsze, sekret jest współdzielony - jeśli wycieknie baza serwisu razem z sekretami, atakujący może generować Twoje kody. Po drugie i ważniejsze: TOTP jest podatny na phishing. Kod nie wie, na jakiej stronie go wpisujesz. Gotowe narzędzia typu odwrotne proxy przechwytują hasło i kod, przekazują je natychmiast do prawdziwego serwisu i kradną gotową sesję.
2. Push z dopasowaniem numeru
Wersja poprawiona: przy logowaniu na ekranie pojawia się dwucyfrowa liczba, którą musisz przepisać w aplikacji na telefonie. To jedna drobna zmiana, która usuwa cały problem MFA fatigue - przypadkowe kliknięcie „TAK” przestaje wystarczać, bo atakujący nie zna liczby wyświetlonej na Twoim ekranie.
Jeśli Twój dostawca tożsamości oferuje number matching, włącz je natychmiast. To najtańsze dostępne ulepszenie bezpieczeństwa.
1. Klucz sprzętowy i passkey - jedyna metoda odporna na phishing
Na szczycie stoją metody oparte na WebAuthn/FIDO2: klucze sprzętowe i passkeys. Różnica nie jest ilościowa, tylko jakościowa.
Klucz jest kryptograficznie przypisany do domeny, dla której powstał. Na podrobionej stronie przeglądarka po prostu nie znajdzie pasującego klucza - nie ma czego wpisać, nie ma czego przekazać dalej. Nie polegasz już na tym, że użytkownik zauważy podmienioną literę w adresie, bo weryfikację robi za niego przeglądarka.
To jedyna metoda z tej listy, której nie da się wyłudzić rozmową ani podrobioną stroną. Cena: trzeba mieć fizyczny klucz przy sobie i koniecznie zarejestrować drugi jako zapasowy.
Kody zapasowe - element, który wszyscy psują
Prawie każdy serwis daje przy konfiguracji listę jednorazowych kodów awaryjnych. To jest pełnoprawny dostęp do konta z pominięciem drugiego składnika, a mimo to lądują w plikach „kody.txt” na pulpicie albo w mailu do samego siebie.
Traktuj je jak klucze do sejfu: wydrukuj i schowaj fizycznie albo trzymaj w menedżerze haseł, ale nigdy w tej samej skrzynce pocztowej, którą mają chronić. I odhaczaj zużyte.
Gdzie MFA nie zadziała
Warto znać dziury, bo w firmie to właśnie one bywają wykorzystywane:
- Hasła aplikacji - stary klient poczty czy skaner sieciowy nie obsługuje MFA, więc dostaje osobne hasło całkowicie je omijające. Ewidencjonuj takie hasła i kasuj nieużywane.
- Protokoły starszego typu - IMAP czy SMTP potrafią wpuścić na samo hasło, jeśli nikt nie wyłączył starego uwierzytelniania.
- Kradzież sesji - MFA chroni moment logowania. Skradziony ciasteczkiem token sesji omija je całkowicie, bo Ty już się zalogowałeś.
- Konto odzyskiwania - jeśli reset hasła leci na skrzynkę bez MFA, cała konstrukcja opiera się na tej skrzynce.
Od czego zacząć w małej firmie
Nie da się wdrożyć wszystkiego naraz i nie ma takiej potrzeby. Kolejność wynika z tego, ile kosztuje utrata danego konta:
- Poczta administratora i właściciela - z niej resetuje się wszystko inne. Klucz sprzętowy, nie SMS.
- Panel rejestratora domen i DNS - przejęcie domeny to przejęcie poczty i strony jednocześnie. Konto, o którym najczęściej się zapomina.
- Bankowość i systemy finansowe.
- Dostęp zdalny - VPN i wszystko, co wystawione na świat.
- Panele administracyjne - firewall, przełączniki, kontroler sieci, NAS, hosting.
- Reszta kont pracowniczych - tu TOTP w zupełności wystarczy.
I rzecz, o której łatwo zapomnieć w euforii wdrożenia: MFA nie zwalnia z porządnych haseł. Drugi składnik jest drugą linią obrony, nie pierwszą - jeśli hasło jest słabe albo powtórzone, sam dokładasz atakującemu połowę roboty. Hasła generuj losowo w generatorze, sprawdzaj w sprawdzarce wycieków, a jeśli chcesz zrozumieć, skąd bierze się ich siła - zajrzyj do wpisu o entropii.