Coraz częściej dyskutuje się na temat bezpieczeństwa i prywatności w sieci. Jedną z pierwszych rzeczy, jaka przychodzi na myśl to zwiększenie zabezpieczeń na poziomie logowania. W tym wpisie opiszę, co to jest 2FA, jak je włączyć i jak z niego korzystać w sposób bezpieczny, a jednocześnie nie utrudnić sobie codziennego korzystania z internetu. Od dziś podnosimy nasze bezpieczeństwo o 1 level.

2FA - uwierzytelnianie dwuskładnikowe - Jak łatwo zwiększyć bezpieczeństwo logowania w wielu serwisach internetowych.

Standardowe logowanie – co z nim nie tak?

Na wstępie trzeba wspomnieć, że żadna metoda logowania nie jest idealna. Każdą z nich można złamać. W całym procesie bierze udział człowiek, który czasem udostępni swój telefon, zaloguje się na publicznym komputerze lub skorzysta z niezaszyfrowanego połączenia. Są tysiące czynników, które mogą spowodować wykradnięcie naszych danych lub podszycie się pod nas. Czasem wystarczy tylko jeden z nich, aby to się udało. Warto jednak udoskonalać sposoby autoryzacji użytkownika, aby utrudnić włamanie się na nasze konto. Tu trzeba postawić sprawę jasno – standardowe logowanie poprzez użycie loginu i hasła jest bardzo słabą metodą weryfikacji użytkownika. Login często jest publiczny, a hasło nadal u wielu osób jest identyczne na wielu stronach lub łatwe do odgadnięcia o czym już pisałem w jednym ze swoich poprzednich wpisów.

Jak zwiększyć bezpieczeństwo logowania?

W celu poprawy obecnego stanu i zmniejszenia prawdopodobieństwa ataku na nasze konto, wymyślono uwierzytelnianie dwuskładnikowe. Jest to drugi składnik (hasło jest pierwszym składnikiem), niezbędny do zalogowania na koncie. Zabezpiecza nas, gdyż po prawidłowym wprowadzeniu loginu i hasła, musimy wykonać dodatkową autoryzację potwierdzającą, że to faktycznie my próbujemy się zalogować, a nie ktoś, kto wszedł w posiadanie hasła właściciela. To rozwiązanie stało się niezwykle popularne i jest dostępne w zdecydowanej większości znanych nam portali interentowych m.in.: facebook, google, gmail, wordpress, dropbox, Twitter, Evernote, instytucje bankowe i wielu wielu innych.

Metody dodatkowego uwierzytelniania

Firmy różnie nazywają swoje rozwiązania. Mamy m.in.: logowanie dwupoziomowe, logowanie dwuskładnikowe, weryfikację dwuetapową, 2FA i nie zawsze polegają na tym samym. Na szczęście powoli udaje się wypracować wspólne rozwiązanie. Ostatecznie chodzi o to, aby zwiększyć bezpieczeństwo autoryzacji poprzez uruchomienie drugiej weryfikacji użytownika, oprócz samego loginu i hasła. Najpopularniejsze metody dodatkowej autoryzacji to:

  • SMS – wiadomość SMS z kodem, który należy przepisać w odpowiednie miejsce.
  • Aplikacja z powiadomieniem PUSH – jeśli mamy zainstalowaną aplikację (np. bankową, facebooka czy google) to po wpisaniu loginu i hasła na komputerze jako drugi element na nasz telefon przychodzi powiadomienie z prośbą o akceptację logowania.
  • Kod QR – kod, który należy zeskanować w odpowiedniej aplikacji, aby uzyskać autoryzację.
  • Kody weryfikacyjne – przy zakładaniu konta otrzymujemy zestaw np. 10 kodów, które należy wydrukować i przy logowaniu będziemy proszeniu o wpisaniu jednego z nich.
  • 2FA – Po wpisaniu loginu i hasła do strony, należy w odpowiedniej aplikacji wygenerować specjalny token i przepisać go do logowanego urządzenia.
  • Biometria – przy bardziej zaawansowanych technologiach może być wymagana autoryzacja poprzez odcisk palca, skan siatkówki oka albo całej twarzy. Ze względu na wymagania techniczne jest to bardzo rzadko używana technologia. Służy raczej do zabezpieczania urządzeń i pomieszczeń, a nie stron internetowych.
  • Klucz sprzętowy – najczęściej występuje jako pendrive, który przy logowaniu należy wpiąć do logowanego urządzenia. Jest na nim odpowiednia aplikacja lub pliki które umożliwią logowanie.
  • oraz wiele innych…

Z czego korzystać i dlaczego 2FA?

Dwuskładnikowe uwierzytelnianie 2FA

Nie chcę nikomu narzucać konkretnego rozwiązania. Ważne jest, abyśmy zwiększyli nasze bezpieczeństwo poprzez którąś z metod, zamiast standardowego logowania. Testowałem różne opcje i chcę doradzić taką, która moim zdaniem jest połączeniem zwiększonego bezpieczeństwa i nie jest problematyczna w codziennym użytkowaniu.

2FA to system weryfikacji dwuskładnikowej, polegający na zainstalowaniu specjalnej aplikacji (może być na komputerze czy telefonie), prostej konfiguracji, a następnie logowaniu się na wybraną stronę korzystając z wygenerowanego klucza przez aplikację.

Dlaczego konkretnie 2FA, a nie inne rozwiązanie?

  1. 2FA jest rozwiązaniem open source, to umożliwia integrację z wieloma stronami. Za pomocą jednego systemu (jednej aplikacji) możemy odblokowywać dostęp do wielu usług, działa on we wszystkich popularnych serwisach społecznościowych i email. Nawet jeśli google sugeruje swój system powiadomień PUSH to i tak łatwo daje możliwość wybrania 2FA, dzięki czemu to rozwiązanie staje się bardzo uniwersalne.
  2. Możemy korzystać z kilku urządzeń autoryzacyjnych. Powiadomienia PUSH przychodzą na jeden konkretny telefon, jeśli nie mamy go przy sobie, nie zalogujemy się. W przypadku 2FA możemy mieć aplikację na swoim komputerze, więc jeśli logujemy się w domu, nie musimy szukać telefonu, wystarczy włączyć appkę na komputerze i skopiować (nie przepisując) klucz w odpowiednie miejsce. Ma to swój drugi bardzo ważny plus. Nawet jeśli zgubimy telefon lub zostanie on nam skradziony nadal mamy dostęp do naszych wszystkich serwisów internetowych.
  3. Różne aplikacje autoryzacyjne – przedstawię konkretną aplikację, której używam.  2FA doczekało się wielu generatorów kodów zgodnych z tą technologią, więc możesz korzystać zarówno z aplikacji Google Authenticator , Authy, LastPass lub jeszcze innych. Wszystkie podobnie generują klucze autoryzacyjne. Nie jesteśmy zmuszani do konkretnego rozwiązania.
  4. Multiplatformowość – aplikacje do 2FA znajdziemy na każdej platformie. Niezależnie czy ktoś korzysta z iOS, Android, Windows, Mac OS X, Linux, czy jeszcze innych platform, zawsze znajdzie odpowiedni generator kodów.
  5. Działa offline – aby wygenerować nowy kod nie musimy mieć połączenia z interenetem ani zasięgu GSM. 2FA co 30 sekund generuje nowy unikatowy kod, ale nie jest on generowany w sieci. W skrócie algorytm generatora 2FA tworzy klucz na podstawie aktualnego czasu. Dlatego z technicznego punktu widzenia jedyne, co musimy mieć prawidłowo ustawione w naszym urządzeniu to aktualną datę i godzinę. Jeśli ta będzie błędna, to generator wygeneruje inny kod niż ten wygenerowany przez stronę www (wynika z różnic czasowych). A to uniemożliwi logowanie.  

Które rozwiązanie do 2FA wybrać?

Tak jak wspomniałem, na rynku jest wiele rozwiązań, w większości bezpłatne. Płatne aplikacje mają często dodatkowe usługi poza obsługą 2FA i dlatego rozliczane są w modelu subskrypcyjnym. Na rynku przodują jednak dwie aplikacje.

Google Authenticator

Jest to aplikacja stworzona przez Google. Mała, lekka i prosta w obsłudze. Działa na platformie Android i iOS (iPad, iPhone). Niestety nie znalazłem informacji, aby była dostępna na komputer. Z tego powodu po ok. rocznym użytkowaniu zrezygnowałem z tej aplikacji na rzecz drugiego prezentowanego rozwiązania.

Authy

Również bezpłatna aplikacja ze zdecydowanie przyjemniejszym UX. Ma kilka zalet, które spowodowały, że szczerze mogę ją polecić. Główne zalety Authy:

  • Logowanie – logowanie do aplikacji odbywa się poprzez numer telefonu. Nie zakładamy typowego konta z loginem, hasłem itd. Nie podajemy nigdzie naszych danych osobowych typu imię, nazwisko itp. Daje stosunkowo wysoką anonimowość.
  • Łatwa konfiguracja – jak uruchamiać 2FA jeszcze zaprezentuję, ale faktycznie w aplikacji ogranicza się to do zeskanowania kodu QR z monitora. Konfiguracja ograniczona do całkowitego minimum.
  • Łatwa obsługa – aplikacja nie ma wiele funkcji, wyświetla listę naszych stron, do których generator wyświetla kody i przycisk do ewentualnego skopiowania kodu, jeśli nie chcemy go przepisywać.
  • Bezpieczeństwo – możemy ustanowić kod blokady do włączania aplikacji lub sugerowany sposób – logowanie przez biometrię (np. odcisk palca lub skan twarzy w telefonie).
  • Backup – aplikacja wykonuje kopie zapasowe na wypadek utraty urządzenia.
  • Synchronizacja – dodanie 2FA w jednym urządzeniu spowoduje zsynchronizowanie danych z innymi urządzeniami.

Instrukcja używania 2FA w Authy

Jeśli decydujesz się na używanie Authy do logowania dwuetapowego, poniżej opiszę jak korzystać z tej aplikacji na codzień. Od wstępnej konfiguracji do codziennego logowania.

Rejestracja w Authy – jednorazowa

Tak jak wcześniej pisałem korzystanie z Authy jest maksymalnie uproszczone. Nie przechodzimy typowej rejestracji. Należy zainstalować aplikację, podać numer telefonu i wpisać przysłany kod SMS. To wszystko!

Jeśli mamy kilka minut warto w samej aplikacji zajrzeć do ustawień. Możemy tam nadać kod bezpieczeństwa do logowania, włączyć automatyczny backup czy synchronizację urządzeń. Jeśli któreś z naszych urządzeń zostało skradzione, zgubiliśmy lub je sprzedajemy, to w ustawieniach możemy zdalnie je dezaktywować.

Jak włączyć integrację 2FA w serwisie internetowym i dodać go do Authy?

Mamy już zainstalowane Authy, możemy dodawać różne serwisy internetowe do naszej aplikacji. W pierwszej kolejności należy zalogować się w wybranym portalu i w ustawieniach znaleźć opcję dodania logowania dwuskładnikowego (2FA). Wyświetli się kod QR, który musimy zeskanować w Authy. Jak to zrobić?

  1. Włączamy aplikacje Authy
  2. Na dole aplikacji klikamy „Add Account”
  3. Wybieramy „Scan QR Code”. Jeśli nie mamy skanera, możemy też użyć „Enter key manual” wtedy przepisujemy ręcznie klucz bez skanowania.
  4. Skanujemy kod i gotowe. Serwis jest dodany do logowania 2FA.

Szczegółowa instrukcja, jak skonfigurować najpopularniejsze serwisy internetowe

Niektóre serwisy internetowe mają masę innych funkcji i możliwości konfiguracyjnych, dlatego poniżej udostępniam linki do instrukcji, jak skonfigurować najpopularniejsze aplikacje.

Lista popularnych serwisów obsługiwanych przez 2FA Authy.
authy.com

Gdzie jeszcze mogę użyć 2FA?

Gdy chcemy korzystać z logowania dwuskładnikowego na innych portalach społecznościowych, warto zajrzeć na stronę TwoFactorAuth.org. Udostępniona jest tam lista znanych stron internetowych, które obsługują funkcje dodatkowego uwierzytelniania. Po wybraniu interesującej nas strony, możemy zajrzeć na czytelną tabelkę pokazującą, jakie formy logowania są dostępne (kod sms, 2FA, push, itp).

Tabela na stronie twofactorauth.org pokazująca popularne serwisy internetowe i ich obsługę logowania dwuskładnikowego.
twofactorauth.org

Jak używać Authy podczas logowania?

Czyli to co będziemy robili podczas logowania na stronę internetową z aktywowaną funkcją 2FA. Standardowo w wybranym serwisie wprowadzamy login i hasło, a następnie zostaniemy poproszeni o wpisanie kodu wygenerowanego przez aplikację Authy. Kod możemy przepisać lub skopiować. Nie musimy się martwić, że kod jest ważny 30 sekund, ponieważ jeśli zaczniemy go przepisywać to nawet, gdy minie kilka sekund to nadal będzie ważny.

Bonus – 2FA w WordPress

Ponieważ jest to blog głównie poświęcony tworzeniu stron internetowych w systemie CMS WordPress dodatkowo polecę rozwiązanie 2FA dla twórców stron internetowych opartych na WordPressie. Do aktywowania 2FA wystarczy prosta wtyczka: 2 Factor Authentication. Szybka instrukcja konfiguracji:

Potrzebny czas: 2 minuty

Szybka instrukcja konfiguracji 2FA w WordPress:

  1. Instalacja wtyczki

    Zainstaluj i włącz aplikację 2 Factor Authentication. Instalacja wtyczki WordPress 2FA

  2. Włącz weryfikację dwuskładnikową

    Wejdź w zakładkę „Two Factor Auth”, a następnie wybierz pierwszą funkcję aktywującą 2FA przyciskiem „Enable”.
    Aktywowanie 2FA w WordPress

  3. Dodaj swoją stronę do Authy

    Włącz aplikację Authy i zeskanuj kod QR wygenerowany przez stronę.

  4. Koniec

    Gotowe. Od teraz podczas logowania do panelu administracyjnego WordPressa, po prawidłowej autoryzacji pojawi się nowe okno do wpisania kodu 2FA.
    Logowanie dwuetapowe 2FA w WordPress

Podsumowanie

Mam nadzieję, że przekonałem Cię do zwiększenia swojego bezpieczeństwa poprzez użycie dodatkowego uwierzytelnienia. Jest to bardzo łatwe w obsłudze, a w bardzo dużym stopniu zwiększa bezpieczeństwo logowania. Nie jest to rozwiązanie idealne, nadal warto dbać o bezpieczeństwo przechowywanych haseł, logować się do zweryfikowanych i szyfrowanych stron. 2FA daje duży wzrost bezpieczeństwa bardzo niskim kosztem poświęcając zaledwie kilka minut – nie więcej niż tyle, ile czasu zajęło czytanie tego artykułu.

Na koniec informuję, że ten wpis w żaden sposób nie jest sponsorowany. Sugeruję tu konkretne aplikacje i rozwiązania, które zostały przeze mnie przetestowane i uważam za warte polecenia.

Źródła/Linki