Bezpieczne i łatwe logowanie. Część 1

Udostępnij post

W dobie powszechności pracy zdalnej, z szerokim wykorzystaniem dostępu przez Internet niezmiernej wagi nabiera zapewnienie bezpieczeństwa. Zapewnienie bezpieczeństwa to złożone zagadnienie dotyczące wielu obszarów aktywności – ochrona przesyłania danych, zapewnienie ciągłości działania, zapewnienie poufności przetwarzanych danych, itp. W niniejszym zajmiemy się tylko małym, lecz jakże ważnym wycinkiem bezpieczeństwa.

Według różnych badań od 70 % do 80% włamań do systemów informatycznych było związanych z ujawnieniem haseł bądź z ich niską złożonością.

Korzystanie z haseł przenosi ze sobą wiele problemów.

  1. Hasła powinny być unikalne, trudne do odgadnięcia. Tak, trudne do odgadnięcia oznacza, że łatwe do zapomnienia. Zatem hasła tak popularne jak „12345”, „querty”, czy imię mojego psa nie powinny być stosowane, gdyż zbyt łatwo je odgadnąć czy po prostu użyć z odpowiedniego słownika haseł.
  2. Hasła powinny być trudne do odtworzenia. Nie jest trudno znaleźć programy tworzące hasła w oparciu o podstawowe obiekty takie jak imię, nazwa naszego ulubionego sprzętu, czy zawołanie naszego kota. Odpowiednio przetworzone i wzbogacone o różne elementy takie jak @, $, !, itp.
  3. Hasła powinny być o odpowiedniej sile. To znaczy powinny mieć odpowiednią liczbę znaków i być odpowiednio skomplikowane. Dlaczego – aby utrudnić szybkie sprawdzenie potencjalnych kombinacji.
  4. Te same hasła nie powinny być wykorzystywane jednocześnie w wielu miejscach. Odpowiednio długie, odpowiednio złożone, jednakże wykorzystywane w wielu miejscach (do konta na Facebook’u, do sklepu internetowego oraz do konta firmowego) jest także słabym hasłem. Nawet renomowanym dostawcom usług zdarzają się wycieki danych i nasze hasło może zostać wykorzystane do włamania się na nasze inne konta.

Zatem w jaki sposób zabezpieczyć konta w naszej Jirze?

Zwykle zalecamy stosowanie szeregu technik, które pozwalają na obniżenie ryzyka związanego z nieuprawnionym przechwyceniem i wykorzystaniem naszego hasła.

Zalecamy:

  1. Stosowanie odpowiednio długich (minimum 8 znaków, aczkolwiek przy dzisiejszych mocach obliczeniowych przestaje to być wystarczające) i złożonych (duże i małe litery, cyfry, znaki specjalne) haseł.
  2. Tworzenie haseł nie odnoszących się do imion osób bliskich, dat powiązanych z nami, itp.
  3. Tworzenie unikalnych haseł dla każdego konta.
  4. Odpowiednio częstą zmianę haseł (co miesiąc, co 3 miesiące, itp.).
  5. Niezapisywanie zdefiniowanych haseł na kartkach. Jedyny bezpieczny sposób to programy menedżerów haseł.
  6. Zapewnienie, że hasła mają skończony czas aktywności.

Niestety, reguły te są bardzo trudne do realizacji. Dobre, złożone hasło trudno zapamiętać, zwłaszcza gdy musimy je zmieniać odpowiednio często. Chcąc poradzić sobie z tym wyzwaniem część osób korzysta z menedżerów haseł, aplikacji umożliwiających bezpieczne przechowywanie wielu haseł. To dobre rozwiązanie, jednakże może się okazać zbyt skomplikowane dla wielu osób.

Zatem co robić?

Na początek powinniśmy uświadomić sobie, że niewątpliwie najpoważniejsze konsekwencje może mieć kompromitacja konta administracyjnego naszego serwera Jira. Nawet najlepsze „utwardzenie” naszego serwera nie pomoże, jeżeli z dowolnych powodów hasło administratora zostanie ujawnione. Na początek zajmijmy się zatem ochroną konta administratora. Pomogą nam w tym rozwiązania MFA.

Dwa hasła w jednym

Wychodząc naprzeciw opisanym powyżej potrzebom rozwijana jest od pewnego czasu technologia MFA (MultiFactor Authentication) – uwierzytelnienie wieloczynnikowe. Mówimy, że dobre uwierzytelnienie winno uwzględniać jak najwięcej z podanych poniżej czynników:

  1. Coś co wiesz – unikalne hasło, które tylko ty znasz.
  2. Coś co masz – jakieś unikalne urządzenie, które posiadasz.
  3. Coś czym jesteś – komponent biologiczny, np. tęczówka oka lub odciska palca.

Najlepsze hasło to takie, które łączy wszystkie ww. komponenty. Im więcej wymienionych powyżej komponentów wykorzystamy w budowie hasła tym jest ono silniejsze.

Popatrzmy zatem jak możemy podnieść bezpieczeństwo dostępu do aplikacji Jira lub Confluence. Przedstawimy rozwiązania dedykowane dla środowiska Atlassian.

W celu skorzystania z dwuczynnikowego uwierzytelnienia proponujemy skorzystać z propozycji firmy Alpha Serve oferującej dodatek 2FA for Jira:U2F&TOTP. Ten dodatek jest przeznaczony do implementacji dwu-czynnikowego uwierzytelnienia w aplikacji Jira. Użytkownik może skorzystać w dwóch typów mechanizmów uwierzytelnienia – algorytmu opartego o czas AUTH-TOTP.

Dodatek firmy Alpha Serve jest dostępny także w następujących wersjach:

  • 2FA for Confluence
  • 2FA for Crowd
  • 2FA for Github
  • 2FA for Bamboo

zatem możemy zabezpieczyć wszystkie aplikacje z rodziny Atlassian.

Dodatek zapewnia m.in. następujące funkcjonalności umożliwiające zarządzanie:

  • Indywidualne włączanie dwuczynnikowego uwierzytelnienia dla indywidualnych użytkowników, dla grup użytkowników, dla wszystkich użytkowników.
  • Tworzenie list adresów IP, z których dopuszczone jest logowanie dwuczynnikowe.
  • Resetowanie haseł dynamicznych.
  • Logowanie zdarzeń uwierzytelnienia.

Do wygenerowania dynamicznego hasła możemy wykorzystać klucz bezpieczeństwa firmy Nitrokey – Nitrokey Pro.

Jest to urządzenie umożliwiające tworzenie haseł w oparciu o algorytmy TOTP (Time-based One-time Password), HOTP (HMAC-based One-time Password algorithm). Dodatkowo urządzenie umożliwia przechowywanie kilkunastu haseł statycznych oraz certyfikatów standardu OpenPGP albo X.509. Jak widać z opisu jest to uniwersalne urządzenie, które umożliwi utworzenie złożonych haseł dostępu do naszej aplikacji, zapewni możliwość podpisania naszej poczty elektronicznej oraz przechowa bezpiecznie hasła dostępowe dla wielu innych naszych aplikacji.

Po zainstalowaniu dodatku dla każdego z użytkowników należy skonfigurować jego unikalne urządzenie i powiązać z dodatkiem. Konfiguracja w zasadzie ogranicza się do ustawienia unikalnego kodu wygenerowanego w dodatku Jira, oraz odpowiedzi na ten kod przez urządzenie zewnętrzne. Do utworzenia dynamicznego hasła wykorzystywany jest algorytm TOTP.

W efekcie logowanie jest dwuetapowe:

Etap 1 – logowanie z wykorzystaniem hasła statycznego

Etap 2 – logowanie z hasłem wygenerowanym przez klucz Nitrokey PRO

W efekcie wykonania tych dwóch kroków uwierzytelnienie nastąpi za pomocą unikalnego loginu oraz hasła złożonego z dwóch elementów – hasła statycznego znanego (oby) tylko nam oraz jednorazowego hasła dynamicznego (ważne jest tylko przez 30 lub 60 sekund, ustawiany parametr) wygenerowanego automatycznie przez klucz bezpieczeństwa posiadanego tylko przez nas. Nawet skompromitowanie hasła statycznego nie pozwoli potencjalnemu hackerowi na włamanie się!

Tym samym zapewnimy bezpieczeństwo logowania bez konieczności realizacji restrykcyjnych zasad zarządzania hasłami dostępu.

Przedstawione rozwiązanie jest szczególnie zalecane dla administratorów systemów. Bezpieczeństwo kont administracyjnych jest szczególnie ważne dla zapewnienia bezpieczeństwa naszych systemów. Przechwycenie dostępu do konta administracyjnego oznacza daleko idące konsekwencje, zwłaszcza jeżeli jest to system przechowujący wrażliwe dane, np. dane osobowe.

Posiadając już zainstalowany dodatek możemy go wykorzystać dla użytkowników naszego systemu, nie tylko administratorów. Przedstawiony powyżej kluczy sprzętowy kosztuje kilkadziesiąt euro.

Możemy jednak skorzystać z wielu bezpłatnych aplikacji uwierzytelniających pracujących na platformach mobilnych.

Jedną z takich bezpłatnych aplikacji jest Google Authenticator. Możemy także skorzystać z Microsoft Authenticator.

Aplikację Google Authenticator możemy wykorzystać podobnie jak klucz sprzętowy. Konfiguracja przebiega całkiem podobnie. Aplikacja generuje kolejne hasła, które należy wpisać w drugie okno logowania.

Uniwersalne rozwiązanie

Zaproponowany tutaj klucz Nitrokey Pro może być wykorzystany jednocześnie do wielu innych zadań związanych z bezpieczeństwem przydatnych dla administratora:

  • Klucz może przechowywać certyfikat zapewniający bezpieczeństwo logowania po SSH. Zatem zapewniający bezpieczeństwo sesji terminalowych z naszym serwerem Jira.
  • Klucz można wykorzystać do bezpiecznego przechowywania 16 haseł statycznych, co umożliwi przechowywanie haseł np. do baz danych niezbędnych do działania naszej platformy Atlassian.
  • Klucz może służyć do generowania haseł z wykorzystaniem algorytmów TOTP i HOTP, wykorzystywanych przez wiele innych aplikacji.

Zaproponowany przez nas klucz jest wielofunkcjonalny, lecz niestety nie należy do najtańszych. W kolejnym odcinku pokażemy rozwiązanie tańsze, korzystające także z innego dodatku tej samej firmy.

Podsumowanie

Przedstawione tutaj rozwiązanie wykorzystujące dodatek 2FA for Jira:U2F&TOTP (lub inne z tej rodziny odpowiednio do potrzeb) oraz klucz sprzętowy Nitrokey Pro pozwala na skuteczną ochronę konta. Hasło logowania jest dwuskładnikowe – wymaga podania hasła oraz wykorzystania klucza sprzętowego. Zapewniamy bezpieczeństwo logowania dzięki dynamicznie zmieniającemu hasłu, które wykorzystuje dwa czynniki – naszą pamięć i posiadane przez nas narzędzie. Dodatkowo mamy narzędzia wspierające zapewnienie bezpieczeństwa także w innych obszarach.

Przeczytaj drugą część naszego artykułu o bezpiecznym i łatwym logowaniu

Długie i złożone hasła to zmora użytkowników. Przedstawiamy rozwiązanie, które zapewni im odpowiedni komfort!

Zwiększ efektywność swojego działu IT!

Skontaktuj się z nami i dowiedz się jak możesz poprawić efektywność pracy Twojego działu IT.