()

Ostatnio zacząłem opisywać różne aspekty uwierzytelniania. Dowiedziałeś się o tematach takich jak SSO, Access token itp. Dziś mam zamiar pociągnąć ten temat, a zacznę od serwisów uwierzytelniania. Coś więcej o Uwierzytelnianiu.

Wstęp

Dziś porozmawiamy o usługach uwierzytelniających o serwerach typu Radius i jak one działają. Poruszę temat różnych protokołów uwierzytelniania. Mam nadzieje ze uda ci się je od razu zapamiętać jak nie przeczytaj kilka razy. Na koniec zajmiemy się 802.1X i jakie są fazy pokoleji jego komunikacji. Poruszę również temat biometrii i dowiesz się, dlaczego nie uznaje jej za dobre rozwiązanie.

Usługi Uwierzytelniające

Wyróżniamy:

  • Identification: To proces, w którym prezentujemy wobec systemu informacje potwierdzające naszą tożsamość. Zazwyczaj serwis prosi użytkownika o jego nazwę, ale mógłby również prosić na przykład o kartę dostępu, by włożyć do czytnika i tym podobne.
  • Authentication: Serwis uwierzytelniający jest zaś odpowiedzialny za potwierdzenie ważności danych przedstawionych przez użytkownika. Zazwyczaj zawiera bazę danych z kryteriami do potwierdzenia. Na przykład gdy logujesz się swoim loginem i hasłem do jakiegoś serwisu, te dane muszą zostać skorelowane z danymi zapisanymi w bazie tego serwisu.
  • Authorization: Po potwierdzeniu danych zostaje nadany dostęp do sieci. Serwis autoryzacyjny może mieć inne kryteria, które musisz spełnić, zanim nada ci taki dostęp.
  • Accounting: W czwartym kroku ten serwis obsługuje logowanie aktywności, by na przykład naliczyć różnym działom rachunek za różne usługi.

Serwery Uwierzytelniające

Nie wiem, czy wiedziałeś, że tak to wygląda – zanim się zalogujesz, jest parę tych etapów 🙂 Ważne jest też, byś wiedział, że Authentication, Authorization, Accounting jest skracane do AAA. Przez wiele lat pojawiło sie wiele serwisów AAA, poniżej postaram Ci się przybliżyć parę z nich począwszy od Radiusa. Są one scentralizowanym systemem uwierzytelniania oferującym AAA dla różnych środowisk takich, jak wireless czy VPN.

Czym jest Radius ?

Radius – inaczej Remote Authentication Dial-UP User Service. Jak widzisz, samo rozwinięcie skrótu jest męczące. Sam nie wiem, dlaczego, ale ten skrót mi się bardzo podoba :). Wciąż się zastanawiam, dlaczego, hehe:) Radius był i w sumie gdzieniegdzie do tej pory jest bardzo popularny. Jak sama nazwa Dial-in wskazuje, jest to leciwy koleżka, bo powstał w roku 1991.

Komputer klient, by uzyskać dostęp do sieci, musi się „wdzwonić” do serwera RAS lub podłączyć się do serwera VPN poprzez internet. I RAS albo VPN jest uznawany tutaj jako klient Radiusa, ponieważ on dopiero wysyła prośbę o uwierzytelnienie do serwera Radiusa, który działa sobie gdzie w tle. Radius korzysta z UDP na portach 1812 i 1813.

Czym jest Diameter ?

Powstał, by zastąpić Radiusa. Jest to bezpieczniejszy protokół, który korzysta z TCP zamiast z UDP. Rozwinął go również poprzez dodanie nowych komend i atrybutów, jak i EAP.

Czym są Tacacs and xtacacs ?

Czyli Terminal Access Controller Access Control System. Używany jest do komunikacji ze zdalnym serwerem uwierzytelniania, stosowany w sieciach Unix, działa na portach 49 dla TCP oraz UDP. Po paru latach firma CISCO pozazdrościła i stworzyła swój własny serwer uwierzytelniania na podstawie Tacacs nazwali go xtacacs, czyli Extended Tacacs. I obsługuje on urządzenia Cisco.

Czym jest Tacacs+ ?

Jest to kompletnie nowy protokół, który zastąpił powyższe. Również został stworzony przez firmę Cisco. TACACS+ korzysta z TCP. I korzysta z tej samej topologi co Radius, to znaczy klient musi uderzyć do klienta TACACS, który to dopiero później uderza do serwera tacacs. TACACS+ stał się lepszy od Radiusa, ponieważ cała komunikacja pomiędzy serwerem a klientem Tacacs jest szyfrowana, a w wypadku Radiusa jest to tylko hasło.

Protokoły uwierzytelniania LDAP/SLDA/SAML/TOTP/HTOP

  • LDAP (Lightweight Directory Access Protocol) Jest to protokół stworzony, by uzyskać dostęp przez TCP na porcie 389 do usługi katalogowej. To pozwala aplikacjom korzystającym z LDAP na dostęp do katalogów i zabieraniu z nich informacji.
  • Secure LDAP korzysta z SSL, by szyfrować komunikację między klientem a systemem LDAP. Działa na porcie 636 TCP, a poza tym wszystko jest takie samo, jak powyżej 😉
  • SAML (Security Assertion Markup Language): Standard XML, który został wymyślony, by pozwolić systemom na wymianę informacji o uwierzytelnianiu i autoryzacji.
  • TOTP (Time Based One time Password): To algorytm służący do wygenerowania jednorazowego hasła, w którym to potwierdzeniem jest data jego stworzenia. Jest używany w wielu systemach two factor authentication. Jest też kamieniem milowym dla OATH. OATH to ogólnobranżowa współpraca w celu opracowania otwartej architektury referencyjnej przy użyciu otwartych standardów. Celem jest tu promowanie przyjęcia silnego uwierzytelniania.
  • HOTP to HMAC OTP Hash-based algorytm służący do generowania haseł. HOTP jest oryginalnym algorytmem hasła jednorazowego i opiera się na dwóch informacjach. Pierwszy to tajny klucz, zwany „ziarnem”, który jest znany tylko tokenowi i serwerowi, który weryfikuje przesłane kody OTP. Drugą informacją jest czynnik ruchomy, który w przypadku OTP opartego na zdarzeniach jest licznikiem. Licznik jest przechowywany w tokenie i na serwerze. Licznik w tokenie zwiększa się po naciśnięciu przycisku na tokenie, podczas gdy licznik na serwerze jest zwiększany tylko po pomyślnym zweryfikowaniu hasła jednorazowego

Protokoły uwierzytelniania NTLM/Oauth/Oauth2/OpenIDConnect

  • NTLM to kryptograficzny protokół sieciowy opracowany przez firmę Microsoft. Występuje w starszych sieciach i nadaje dostęp do nich. Napisałem, że występuje, bo możesz go jeszcze znaleźć w czeluściach internetu, tak jak możesz znaleźć Windows serwer 2003 ;). Podobno da się na nim jeszcze pracować hehe 😉 NTLM został zastąpiony przez Kerberosa.
  • Secure token to karta albo fob, które wykorzystujesz, by uzyskać dostęp i się uwierzytelnić.
  • Oauth to otwarty standard autoryzujący. Pozwala on użytkownikom udostępniać aplikacjom i stronom trzecim informacje przechowywane u innych dostawców usług. Są one przekazywane tak, aby nie udostępnić wrażliwych danych takich, jak hasła.
  • Oauth2 – tu nie będę się zbytnio roztrząsał, ponieważ pięknie jest to opisane w artykule Sekuraka tutaj. Nie chodzi mi w tym blogu o to, byś przymusowo wszystko czytał w ten sposób, jak ja to napiszę – jeśli znajdę coś, co uznam, że jest dobrze napisane i warto, byś przeczytał, to Ci podrzucę. Liczy się dla mnie to, byś z każdym artykułem zdobywał większą wiedzę. I byśmy kiedyś ramię w ramię mogli bronić bezpieczeństwa w sieci.
  • OpenIDConnect jest to protokół uwierzytelniania, który działa z OAUTH. Pozwala on aplikacjom na odzyskanie informacji o autoryzacji sesji.

Biometria wykorzystywana jest przede wszystkim jako sposób kontroli dostępu

Biometria wykorzystywana jest przede wszystkim jako sposób kontroli dostępu do chronionych pomieszczeń lub autoryzacji użytkowników. Często w dzisiejszych czasach spotykamy się z faceID jak w Apple czy z odciskiem palca w laptopach. Czy to skan oka, czy też odcisk palca odblokuje nam telefon.

To wszystko i jeszcze więcej to rozwiązania biometryczne, które mają zapewnić nam niepodważalny dowód, że ja to ja, a nie inna osoba, ale czy na pewno? Zwróć uwagę na filmik na dole (nie oglądaj całości, tylko ostatnie trzy minuty). Koleś zrobił odlew twarzy, pomalował i bum – odblokowane. Teraz wystarczy drukarka 3d i ze zdjęcia zrobi Ci odlew jak się patrzy.

Teraz nie mogę znaleźć, ale widziałem filmik, w którym podrabiają klucze do aut ;). Dodatkowo już poza tym, że znaleziono sposób, jak to obejść, to zastanowiłbym się, czy na pewno chcę, aby mój odcisk palca widniał w bazach marketerów.

Może teraz to nic, ale nie wiadomo, co będzie w przyszłości. Pamiętaj, że takie bazy wyciekają, a odcisku palca czy twarzy nie zmienisz tak łatwo, jak maila czy hasło. Zostawiam Cię z tym i sam się zastanów, czy chcesz korzystać z tego typu „features”. Ja każdego, kogo znam, informuję, by lepiej nie korzystał, jak jeszcze tego nie uruchomił. A jak już to zrobił, to by poprzestał na tym, co jest i nie rozsyłał tego po innych serwisach.

W biometryce mamy dwa typy

  1. Typ pierwszy to tak zwane FRR, czyli false rejection rate, w którym to za błąd uznaje się, gdy nie uda się uwierzytelnić osoby, która powinna mieć dostęp.
  2. Drugim typem błędu jest FAR, czyli false acceptance rate. Jest on przeciwieństwem powyższego, czyli nadaje dostęp nieupoważnionym.

Z obu powyższych liczymy CER, czyli crossover error rate, który to ma ocenić nam wartość danego urządzenia. I tak dla przykładu, mamy FRR na poziomie 6/100. Czyli sześć razy na sto nie udało Ci się dostać do systemu. Do tego mamy FAR 6/100, czyli sześć razy osoba nieupoważniona uzyskała dostęp do urządzenia. Wtedy nasze CER też wynosi 6/100.

Czym jest IEEE 802.1X ?

IEEE 802.1X kontroluje, które urządzenie może dostać się do sieci czy to wi-fi, czy też LAN. Przy LAN-ie można wykorzystać IEEE 802.1X wraz z EAPOL, o którym dowiedziałeś się w poprzednim artykule. Klient, który probuje się połączyć do sieci poprzez IEEE 802.1X, nazywany jest suplikantem. Łączy się on do switcha albo Access pointa.

Który nazywany tu jest authenticator (ach, jak to pięknie brzmi po polsku: uwierzytelniacz). I na końcu tej ścieżki jest serwer Radius, który, jak już wiesz, nadaje dostęp do sieci. Teraz nasz suplikant wysyła ramkę EAPOL do uwierzytelniacza 🙂

W tym momencie tylko ruch EAPOL jest dopuszczony i EAPOL może przenosić do switcha czy Access pointa sam login i hasło lub też certyfikat. Osobiście szedłbym w certyfikat ;). Jak już uwierzytelniacz dostanie informacje uwierzytelniające użytkownika, pakuje je w IP pakiet i dostarcza do serwera uwierzytelniającego Radiusa.

Oj, zdanie wyszło mi pokrętne, ale mam nadzieję, że zrozumiesz a tu po polsku: dostaje info, pakuje i wysyła. No i jeśli teraz Radius odeśle informacje do uwierzytelniacza, że wszystko jest ok, to on nada dostęp suplikantowi, czyli klientowi – najprawdopodobniej Tobie 🙂

Stadia komunikacji w 802.1X

  1. EAPOL Start: komunikacja zaczyna się między suplikantem poprzez wysłanie EAPOL na 2 warstwie OSI.
  2. Identity Request EAPOL: Switch czy Access point odsyłają ramkę EAPOL, by suplikant potwierdził swoja tożsamość.
  3. EAPOL Identity Respond: Suplikant wysyła ramkę EAPOL z załączonymi danymi identyfikacyjnymi.
  4. Credential sent: Switch czy access point wysyła ramkę spakowaną w pakiet do serwera uwierzytelniania.
  5. Radius Access/Reject: Radius daje przyklepkę bądź też nie, zależnie, czy potwierdzi tożsamość. Jeśli potwierdzi, odsyła Accept-Accept, a jeśli nie – odsyła Accept-Reject.
  6. EAPOL Success/Fail: I teraz ostatni już krok – uwierzytelniacz (tak, musiałem;) wysyła do suplikanta, czyli klienta EAPOL, zwrotkę z success albo z fail. No i jeśli jest sukces, to masz dostęp do sieci, a jeśli go nie masz, no to dzwonisz na helpdesk ;). Oni tworzą ticket i przekierowują do sieciowców. A ty czekasz miesiąc na rozwiązanie tematu. Hehe, tak tylko żartuję:)

Podsumowanie

Na dzisiaj to koniec. Mam nadzieję, że napisałem wszystko zrozumiale i dołożyłem cegiełkę wiedzy dla Ciebie. Chciałbym, żebyś jak najwięcej tych cegiełek zebrał ode mnie. Wiem, że cały czas daje Ci teorię i aż Cię korci, by postawić sobie IEEE 802.1X.

Nie bronię Ci, jeśli wiesz już, jak to zrobić. Ale jeśli nie, to ciekaw jestem, czy byłbyś zainteresowany takim kursem, który by od podstaw przygotowywał Cię do roli bezpiecznika w praktyce. Myślę, że byłby on podzielony na różne etapy – od przygotowania sobie środowiska testowego przez przygotowanie polityk do testu DRP, byś mógł w praktyce przejść przez Info Sec.

Bo jeśli zaczynasz w korporacji, to łatwo Ci się odnaleźć, ale jeśli chciałbyś pracować w startupie, to jest ciężej, bo zapewne będziesz – jak ja teraz – one man army. Czyli będziesz musiał ogarniać każdy aspekt, zarówno sprawy techniczne, jak i polityki, jak też tak naprawdę wszystko inne :). Co myślisz o takim pomyśle? Daj znać na priv albo w komentarzu.

Sam nie znam szkolenia, które miałoby np. 100 czy 200 godzin, było dobre na start, podzielone na etapy i kompleksowe. I uderzało w aspekty, które trzeba poruszyć. PS jeśli znasz tego typu kurs, z chęcią się z nim zapoznam. A że to byłby naprawdę wielki projekt, wolę zawczasu wiedzieć, czy są chętni ;).

Pozdrawiam – Pusz ????

Jak przydatny był ten Artykuł

Kliknij gwiazdke by zagłosować

Średni / 5. Liczba głosów

Doceń naszą prace

Przepraszam że ten post nie był dla Ciebie przydatny

Popraw ten post!

Napisz mi co mogę poprawić