Na Styku SieciNa Styku Sieci
Aa
  • Start
  • Routing & Switching
  • Wireless
  • Certyfikacja
  • Wokół sieci
Czytasz: AAA, RADIUS i TACACS+ – podstawy
Udostępnij
Na Styku SieciNa Styku Sieci
Aa
Szukaj
  • Start
  • Kategorie
    • Routing & Switching
    • Wireless
    • Certyfikacja
    • Wokół sieci
  • Linki
    • Tagi
    • Kontakt
Routing & Switching

AAA, RADIUS i TACACS+ – podstawy

Damian Michalak
Damian Michalak 17 października 2018 Komentarze: 12

Bezpieczeństwo w sieciach komputerowych ma wiele obliczy. Jednym z podstawowych wyzwań jakie przed nami stoją jest stworzenie sieci, w której mamy kontrolę nad tym kto do niej uzyskuje dostęp. Potrzeba tego typu nadzoru rośnie wraz z rozmiarem organizacji, w której przyszło nam pracować. Z pomocą przychodzi nam framework AAA oraz dwa protokoły w naturalny sposób z nim powiązane – RADIUS oraz TACACS+. Przyjrzyjmy im się bliżej.

W artykule:
Czym jest AAA?Podstawy działania RADIUSPodstawy działania TACACS+

Czym jest AAA?

Zacznijmy od zdefiniowania czym jest AAA na przykładzie małej firmy, w której chcemy mieć nadzór nad dostępem do przestrzeni biurowej. Rozłóżmy skrót „AAA” na czynniki pierwsze:

Authentication

Autentykacja słu… wróć! Po polsku mówimy uwierzytelnianie! Mój wykładowca od Technologii Sieciowych był bardzo skuteczny w wybijaniu nam z głów angielskich słówek i zastępowaniu ich polskimi. W tym miejscu chciałbym gorąco pozdrowić doktora Bilskiego z Politechniki Poznańskiej 🙂 To tyle tytułem dygresji. Wróćmy do tematu…

Uwierzytelnianie służy nam do określania czy dana osoba jest faktycznie osobą za jaką się podaje. Jest to więc operacja weryfikowania tożsamości. W naszym przykładzie pan Jan Kowalski chce otworzyć drzwi do biura. Jak jednak sprawdzić, że faktycznie mamy do czynienia z Janem Kowalskim?

Sposobów jest wiele. W tej sytuacji moglibyśmy się posłużyć odciskiem palca w celu weryfikacji tożsamości, ponieważ odcisk każdego z nas jest unikalny. Poza odciskiem możemy wykorzystać inne metody biometryczne, takie jak skanowanie siatkówki oka, rozpoznawanie twarzy czy też głosu. Wymienione sposoby uwierzytelniania klasyfikujemy jako metody oparte o coś czym jesteś (something you are).

Do uwierzytelniania można również używać coś co wiesz (something you know) – czyli np. hasło lub PIN. Ostatnią kategorią jest coś co masz (something you have) – przykładowo identyfikator, fizyczny klucz do zamka czy też token. Wykorzystanie do uwierzytelniania więcej niż jednej metody nazywamy uwierzytelnianiem wieloskładnikowym (MFA – Multi Factor Authentication). W scenariuszu z drzwiami byłoby to np. „odbicie się” identyfikatorem na czytniku przy drzwiach i wpisanie PINu na pin-padzie.

Authorization

Gdy wiemy już z kim mamy do czynienia to możemy wykorzystać tę informację do stwierdzenia czy dany delikwent ma prawo dostępu do danego zasobu. Przykładowo pan Jan Kowalski może mieć prawo otwierania tylko niektórych drzwi w firmie – może wejść do kantyny ale nie może do serwerowni. Proces sprawdzania uprawnień do dostępu nazywamy autoryzacją. W świecie sieci komputerowych autoryzujemy komendy wydawane na urządzeniach sieciowych. Przykładowo pracownik NOC-a może mieć uprawnienia do wydawania jedynie komend show, podczas gdy druga linia wsparcia może wchodzić również w tryb konfiguracji urządzenia.

Powiązane publikacje

Czym jest APIPA?
Jak działa komunikacja DNS?
Ataki i ochrona w warstwie drugiej – ARP
DHCP dla IPv4 – czym jest i jak działa?
Czym jest domena rozgłoszeniowa i kolizyjna?

Accounting

Ostatnią składową framework’u AAA jest accounting. W tym przypadku nigdy nie słyszałem żeby dr Bilski nazwał to księgowaniem, ani jakimkolwiek innym polskim słowem. Jeśli masz pomysł na polski odpowiednik słowa accounting to daj znać w komentarzu.

Accounting jest procesem zbierania informacji i logów dotyczących poprzednich dwóch etapów – czyli kto uzyskał dostęp, do czego i kiedy. Dane te są zbierane przede wszystkim w celu przeprowadzania audytów bezpieczeństwa.

Podstawy działania RADIUS

RADIUS jako protokół jest prawie moim rówieśnikiem – powstał w roku 1991. O ile ja się nie czuję staro, to w świecie technologii jest to mnóstwo czasu. Pomimo to RADIUS nadal dobrze się trzyma i jest powszechnie używany. Skrót RADIUS rozwijamy na Remote Access Dial-In User Service i dobrze to określa pierwotne zastosowanie tego protokołu – oryginalnie powstał on po to aby zapewniać funkcje AAA dla użytkowników wdzwaniających się do sieci za pomocą modemów. Protokół ten realizuje wszystkie trzy komponenty framework’u AAA, przy czym uwierzytelnianie i autoryzacja są ze sobą bardzo ściśle powiązane – do tego stopnia, że te funkcje są realizowane za pomocą tych samych pakietów. Accounting jest natomiast wydzielony jako osobny proces.

Starsze implementacje RADIUS-a używają portów UDP 1645 (uwierzytelnianie) oraz UDP 1646 (accounting), podczas gdy nowe wdrożenia bazują już na portach UDP 1812 (uwierzytelnianie) oraz UDP 1813 (accounting).

RADIUS jest protokołem działającym w modelu klient – serwer. W znacznej części przypadków to urządzenie końcowe (np. laptop) pełni funkcję klienta. RADIUS jako protokół transportuje zatem pakiety związane z uwierzytelnianiem, autoryzacją i accountingiem między klientem a serwerem AAA. Przykładowa wymiana pakietów może wyglądać następująco:

Komunikacja klient-serwer za pomocą RADIUS, źródło: cisco.com

W kwestii zastosowań z pewnością zetkniesz się z RADIUS-em podczas połączeń w sieciach bezprzewodowych, gdzie protokół ten jest powszechnie wykorzystywany do transportowania m.in. znacznie bardziej zaawansowanego protokołu uwierzytelniania – EAP (Extensible Authentication Protocol). EAP jest między innymi odpowiedzialny za DOT1X – ale to już osobna historia.

Istotne z punktu widzenia bezpieczeństwa jest to, że RADIUS szyfruje jedynie informacje dotyczące uwierzytelniania (hasła), podczas gdy pozostała część wymiany pakietowej przesyłana jest clear-text’em.

Największą zaletą RADIUS-a jest fakt, że jest to otwarty standard, powszechnie wspierany przez prawie wszystkich producentów sprzętu sieciowego.

Podstawy działania TACACS+

TACACS+ jest protokołem stworzonym przez Cisco w 1996 roku. Skrót ten rozwijamy na Terminal Access Controller Access-Control System. Była to swego rodzaju odpowiedź na coraz to bardziej powszechny w użyciu RADIUS i w pewnym sensie okazała się ona celna. TACACS+ jako protokół oferuje wiele funkcji, których brakuje w RADIUS-ie.

Przede wszystkim TACACS+ operuje na porcie TCP 49, co powoduje, że cała komunikacja jest o wiele pewniejsza (co wynika bezpośrednio z charakterystyki TCP vs UDP). Ponadto, cała zawartość pakietów TACACS+ jest szyfrowana, co przekłada się na o wiele wyższy poziom bezpieczeństwa tego protokołu (w RADIUS możemy np podejrzeć komendy, które podlegały autoryzacji!).

Kolejną różnicą jest fakt, że TACACS+ oddziela funkcje uwierzytelniania i autoryzacji – są one realizowane osobnymi pakietami. Wynika to z zastosowania tego protokołu. RADIUS został zaprojektowany z myślą o całym framework’u AAA i jest wykorzystywany przede wszystkim do uwierzytelniania i autoryzacji dostępu do sieci. Cisco natomiast stworzyło TACACS+ głównie z myślą o zapewnieniu AAA podczas zarządzania urządzeniami sieciowymi i to właśnie w takich przypadkach jest powszechnie używany. Powoduje to, że zazwyczaj mamy do czynienia z pojedynczą wymianą pakietów uwierzytelniających, a następnie z wieloma autoryzacjami poszczególnych komend wydawanych na urządzeniu. Przykładowa wymiana pakietów TACACS+ wygląda następująco:

Komunikacja klient-serwer za pomocą TACACS+, źródło: cisco.com

Sam proces autoryzacji może zachodzić na podstawie privilege level przypisanemu użytkownikowi, bądź bardziej granularnie na zasadzie weryfikacji każdej wydawanej komendy. W pierwszym przypadku określamy na przykład, że dany administrator ma uprawnienia do wydawania poleceń do privilege level = 5. Dalszą autoryzację komend wydawanych w takiej sytuacji przeprowadza już urządzenie sieciowe. Natomiast w drugim przypadku każda wydawana komenda jest wysyłana do serwera AAA, który określa czy użytkownik jest autoryzowany do jej wydania. Druga metoda jest bardziej granularna, ale z oczywistych względów mniej skalowalna i trudniejsza w zarządzaniu.

Oddzielenie funkcji uwierzytelniania i autoryzacji w TACACS+ jest dużą zaletą, ponieważ umożliwia nam używanie różnych protokołów w ramach framework’u AAA. Możemy przykładowo używać protokołu Kerberos do uwierzytelniania, a autoryzację i accounting realizować za pomocą TACACS+.

Charakterystyka działania TACACS+ powoduje, że jest to o wiele bardziej zasobożerny protokół niż RADIUS. Ponadto nie jest on tak powszechny w użyciu jak RADIUS, co wynika bezpośrednio z faktu, że nie jest to otwarty standard. Pomimo to niektórzy producenci sprzętu sieciowego (np. Dell) wspierają go i umożliwiają korzystanie z TACACS+ na ich urządzeniach.

Tak jak wspomniałem w samym tytule artykułu – są to jedynie podstawy AAA, RADIUS-a i TACACS+. Za tymi protokołami kryje się jednak o wiele więcej. Oba protokoły są dziś powszechnie używane, z dużą przewagą RADIUS-a. Warto je znać nie tylko od teoretycznej, ale również od praktycznej strony.

TAGI: AAA, RADIUS, TACACS
Damian Michalak 17 października 2018
Udostępnij ten materiał
Facebook Twitter Whatsapp Whatsapp LinkedIn
Poprzedni artykuł Fundamenty komunikacji bezprzewodowej – część 4 – OFDM
Następny artykuł Co piszczy w ramce Wi-Fi? 4 adresy MAC!
Komentarze: 12
Zaloguj się
guest

guest

12 - Ilość komentarzy
Sortuj wg najlepszych
Sortuj wg najnowszych Sortuj wg najstarszych
Inline Feedbacks
View all comments
RiFF
RiFF
4 lat temu

Tak jak kolega napisał Rozliczanie ew Księgowanie 😉 , z lepszym polskim zamiennikiem się nie spotkałem. Co do TACACS+ to wspiera go też miedzy innymi PALO ALTO , BIG-IP F5 (w sumie większość urządzeń ocierających się o klasę ENT ), no i przez możliwość nadawania privilege oraz wybranych komend w autoryzacji można dedykowanymi kontami serwisowymi zrobić np. backup konfiguracji urządzenia czy odczytywać stan / liczniki interfejsu itp , rzeczy które średnio wyciąga się za pomocą SNMP .

0
0
Odpowiedz
Damian Michalak
Autor
Damian Michalak
3 lat temu
Odpowiedź do  RiFF

Dokładnie, dzięki za dopowiedzenie!

0
0
Odpowiedz
Woodziak
Woodziak
4 lat temu

Proste! Accounting – rozliczanie 🙂

0
0
Odpowiedz
Damian Michalak
Autor
Damian Michalak
4 lat temu
Odpowiedź do  Woodziak

Dobre! Ale nadal mi coś nie leży to słowo na języku… czy w takim razie zamiast \”audytu\” powinniśmy mieć \”dzień rozliczenia\”? 😀

0
0
Odpowiedz
Paweł Drzewiecki
Paweł Drzewiecki
4 lat temu

Serwus,
Jakiś czas miałem zaimplementowany tacacs+, zainstalowany na debianie do autoryzacji na przełacznikach, ale radius wydał mi się ciekawszy bo spiąłem go do pracy z dwoma kontrolerami domeny, w sposób następujący: Primary radius + primary AD, secondary radius + secondary AD. Pomimo braku \”encrypt entire packet\”, radius daje radę 🙂

0
0
Odpowiedz
Damian Michalak
Autor
Damian Michalak
4 lat temu
Odpowiedź do  Paweł Drzewiecki

A pewnie, RADIUS nadal oferuje sporo możliwości i też można się nim nieźle bawić ^^

0
0
Odpowiedz
Bruno
Bruno
3 lat temu

Dobry artykuł!

0
0
Odpowiedz
Damian Michalak
Autor
Damian Michalak
3 lat temu
Odpowiedź do  Bruno

Dzięki Bruno 🙂

0
0
Odpowiedz
Marek
Marek
2 lat temu

Miśki i to mi się podoba 🙂 Super, że opisujecie od podstawowych informacji a nie co jak niektórzy od razu walą szczegółami a potem nic z tego nie wiadomo. Bardzo mi się podoba 🙂

0
0
Odpowiedz
Damian Michalak
Autor
Damian Michalak
1 rok temu
Odpowiedź do  Marek

Fajnie, że się spodobało 🙂 Niektórym to nie przypada do gustu, ale staramy się, żeby artykuły były zrozumiałe dla wszystkich, a nie tylko dla tych bardziej doświadczonych 🙂

1
0
Odpowiedz
Adrian Puk
Adrian Puk
1 rok temu

super poradnik dowiedziałem sie wszystkiego. pozdrawiam z rodzinka.

0
0
Odpowiedz
Damian Michalak
Autor
Damian Michalak
1 rok temu
Odpowiedź do  Adrian Puk

Dziękujemy i również pozdrawiamy 🙂

0
0
Odpowiedz

NA STYKU SIECI

Tworzymy społeczność sieciowców skupioną dookoła rozwiązań oraz certyfikacji firmy Cisco Systems.
Przydatne linki
  • Tagi
Nasze projekty
  • Szkoła Sieci

© Na Styku Sieci 2022 - powered by Alvortech

  • Kontakt
Witaj ponownie!

Zaloguj się na swoje konto

Zapomniałeś/aś hasło?