spis treści
zamknij
BHPEX Logo

Blog bezpieczeństwa w pracy

Windows Server 2019 – Serwer RADIUS

01 października 2019 2

Windows Server 2019 Radius + CISCO

W wielu środowiskach sieciowych wykorzystywany jest system Windows Server. System ten może pełnić wiele ról i funkcji a jedną z nich jest serwer RADIUS. Tak więc rodzi się pytanie – czym właściwie jest RADIUS i jakie ma do spełnienia zadanie?

Remote Authentication Dial-In User Server (RADIUS) jest mechanizmem pracującym w architekturze klient/serwer a jego głównym zadaniem jest umożliwienie przeprowadzenie operacji uwierzytelnienia, autoryzacji a także rejestracji dostępu do zasobów tzw. AAAAuthencication, Authorization, Accounting.

Główną zaletą stosowania serwera RADIUS jest przechowywanie przez niego bazy danych użytkowników, którzy mają prawo do korzystania z udostępnionych zasobów sieciowych. Centralna baza pozwala na wykonanie procesu logowania na każdym z klientów. Klientem może być router, AP czy host. Zarządzanie procesem AAA jest łatwiejsze gdyż nie musimy tworzyć kont na każdym z urządzeń osobno, dodatkowo w przypadku skorzystania z Windows Server mamy możliwość wykorzystania usługi Active Directory.

Komunikaty RADIUS są przesyłane z wykorzystaniem protokołu UDP (ang. User Datagram Protocol) poprzez porty:

  • 1812 – przesyłanie wiadomości uwierzytelniających,
  • 1813 – przesyłanie wiadomości zliczających ruch.

W tym wpisie skoncentrujemy się na wykorzystaniu serwera RADIUS do autoryzacji routerów i przełączników firmy CISCO lecz z powodzeniem można go wykorzystać do uwierzytelniania użytkowników sieci przewodowych i bezprzewodowych.

Profesjonalne usługi informatyczne dla firm. W swojej ofercie posiadamy Outsourcing IT, certyfikaty SSL, szkolenia informatyczne oraz audyty bezpieczeństwa.

Zadzwoń i dowiedz się więcej, tel. 68 411 40 00.

Topologia naszej ćwiczebnej sieci nie jest skomplikowana i przedstawia się następująco. Naszym celem będzie skonfigurowanie serwera RADIUS, który będzie pracował pod kontrolą systemu Windows Server 2019, a także podłączeniu do niego routera R1 tak by możliwa była autoryzacja użytkownika z jego wykorzystaniem.

RADIUS

Rozpoczniemy od instalacji i konfiguracji odpowiedniej roli na serwerze.

By móc rozpocząć konfigurację serwera RADIUS należy mieć zainstalowaną usługę Active Directory. Za pośrednictwem AD będzie można założyć konta użytkownikom a następnie przypisać ich do danej grupy. Użytkownicy tej grupy będą mieli prawo zalogowania się do urządzeń sieciowych.

Jak widać poniżej nasz serwer spełnia powyższe wymagania – rola Active Directory na serwerze jest zainstalowana.

RADIUS

Aby rozszerzyć funkcjonalność naszego serwera o funkcję serwera RADIUS wybieramy opcję Zarządzaj (ang. Manage) a następnie Dodaj role i funkcje (ang. Add role and features).

serwer RADIUS - zarządzaj

Po wybraniu Dodaj role i funkcje działanie rozpocznie Kreator dodawania ról i funkcji (ang. Add Role and Features Wizard). Pierwszy ekran pełni rolę informacyjną tak więc klikamy Dalej.

RADIUS

Pierwszą decyzję jaką musimy dokonać jest wybranie Typu instalacji wybieramy opcję Instalacja oparta na rolach lub oparta na funkcjach (ang. Role-based and feature-based instalation).

RADIUS

Kolejny krok to określenie serwera na którym instalacja będzie przeprowadzana. Po zaznaczeniu opcji Wybierz serwer z puli serwerów (ang. Select a server from the server pool) w oknie Pula serwerów (ang. Server Pool) wybieramy interesujący nas serwer.

RADIUS

W następnym oknie kreatora z dostępnych Ról serwera (ang. Server Role) zaznaczamy rolę Usługi zasad sieciowych i dostępu sieciowego (ang. Network Policy and Access Services).

RADIUS

Po wybraniu nowej roli kreator automatycznie doda role i funkcje powiązane z instalowaną rolą. Wybieramy Dodaj funkcje (ang. Add Features).

RADIUS - kreator dodawania ról i funkcji

Po zdefiniowaniu roli kolejne okno kreatora odpowiada za dodanie funkcji. Funkcje zostały automatycznie dodane w poprzednim kroku a więc wybieramy Dalej.

RADIUS - wybieranie funkcji

Po zdefiniowaniu ról i funkcji następny ekran kreatora jest ekranem informacyjnym, opisującym dodawane funkcjonalności.

RADIUS - usługi zasad sieciowych

Okno Potwierdzenie opcji instalacji (ang. Confirm installation selections) jest podsumowaniem przeprowadzonej konfiguracji. Wybieramy Zainstaluj.

RADIUS - potwierdzenie instalacji

W wcześniejszych wersjach systemu Windows Server pomiędzy oboma ekranami, jest wyświetlany jeszcze jeden – Usługi ról. Pozostawiamy domyślnie zdefiniowaną rolę Serwer zasad sieciowych (ang. Network Policy Server). Wybieramy Dalej.

RADIUS - usługi ról

Po zatwierdzeniu wszystkich opcji następuje instalacja nowych ról, a także funkcji.
RADIUS - wyniki instalacji

Po poprawnej instalacji w oknie Menedżera serwera powinna pojawić się nowa zakładka Usługi zasad sieciowych i dostępu sieciowego (w wcześniejszych wersjach Ochrona dostępu do sieci ang. NAP). Wybieramy zakładkę i po wyborze serwera co do, którego będzie przeprowadzana konfiguracja, z rozwijanego menu klikamy na opcję Serwer zasad sieciowych (ang. Network Policy Server).

RADIUS - serwer zasad sieciowych

Pierwszą czynność jaką musimy wykonać to zarejestrowanie serwera w usłudze Active Directory, rejestrację dokonujemy po kliknięciu PPM na węzeł reprezentujący nasz serwer i wybraniu z menu kontekstowego opcji Zarejestruj serwer w usłudze Active Directory (ang. Register the server in Active Directory). Rejestracja serwera zapewni nam współpracę z AD.

RADIUS - zarejestruj serwer w usłudze Active Directory

W nowo otwartym oknie Serwer zasad sieciowych potwierdzamy autoryzację serwera NAP w usłudze AD.

RADIUS - serwer zasad sieciowych

Kolejny komunikat również potwierdzamy klikając na OK.

RADIUS - serwer zasad sieciowych akceptacja

Serwer zasad sieciowych od tej pory będzie współpracował z usługą AD.

Przechodzimy do kolejnego etapu a mianowicie do konfiguracji serwera RADIUS.

Pierwszym krokiem jest zdefiniowanie klienta usługi RADIUS. Klientem będzie router. W tym celu po zaznaczeniu gałęzi Klienci usługi RADIUS (ang. RADIUS Clients) klikamy PPM i z menu wybieramy opcję Nowy.

RADIUS - klienci usługi

W oknie Nowy klient usługi RADIUS (ang. New RADIUS Client) uzupełniamy pola:

1 – Przyjazna nazwa (ang. Friendly name) – jest to nazwa urządzenia np. R1, R2 – w scenariuszu nazwa została określona na CISCO. Dobrą zasadą jest aby nazwa ta była tożsama z nazwą urządzenia (w przypadku wielu klientów ułatwia identyfikację).

2 – Adres (IP lub DNS) – adres sieciowy urządzenia,

3 – Wspólny klucz tajny (ang. Shared secret) – klucz za pomocą, którego zabezpieczymy komunikację pomiędzy urządzeniem a serwerem RADIUS. Rozróżniana jest wielkość liter. W ćwiczeniu wartość klucza została ustalona na: cisco123

Nowy klient usługi RADIUS

Na karcie Zaawansowane z rozwijanej listy Nazwa dostawcy wybieramy Cisco.

Nazwa dostawcy wybieramy Cisco.

Nowy klient został dodany.

Po zdefiniowaniu klienta kolejną czynnością jaką należy wykonać jest utworzenie nowej Zasady żądań połączeń. Zasada ta będzie zezwalać klientowi na łączność z serwerem RADIUS.

Aby utworzyć zasadę z lewej strony odszukujemy gałąź Zasady żądań połączeń (ang. Connection Request Policies) i z menu kontekstowego wybieramy Nowy.

RADIUS - zasady połączeń

W nowo otwartym oknie określamy nazwę tworzonej zasady (ang. Policy Name) – w naszym scenariuszu nazwa została określona jako: Cisco-uzytkownicy Wybieramy Dalej.

RADIUS - określenie nazwy i typu zasady połączeń

Kolejny krok to określenie warunków tworzonej zasady, aby dodać warunek wybieramy Dodaj.

RADIUS - warunki zasady połączeń

W oknie Wybieranie warunku (ang. Select condition) należy zdecydować do jakiego obiektu tworzona zasada będzie miała zastosowanie. Przy definicji klienta serwera RADIUS posłużyliśmy się tzw. Przyjazną nazwą klienta (ang. Client Friendly Name) dlatego też nasz warunek zbudujemy w oparciu o tę nazwę. Nasz warunek również moglibyśmy określić z użyciem Adresu IPv4 klienta.

RADIUS - przyjazna nazwa klienta

Po wyborze opcji Przyjazna nazwa klienta i kliknięciu na Dodaj definiujemy nazwę. Ponieważ wcześniej zdefiniowaliśmy nazwę jako Cisco, tak więc w polu również wpisujemy Cisco.

RADIUS - przyjazna nazwa klienta

Warunek został dodany wybieramy Dalej.

RADIUS - warunki przyjaznej nazwy klienta

Na kolejnej karcie pozostawiamy wszystkie domyślne opcje i klikamy Dalej.

RADIUS - uwierzytelnianie

Na ,,Określenie metod uwierzytelnienia” również nie wprowadzamy żadnych zmian i wybieramy Dalej.

RADIUS - określ metody uwierzytelniania

Na karcie Konfigurowanie ustawień określamy atrybuty wobec, których będzie stosowana reguła. Tu po rozwinięciu pola Atrybut (ang. Attribute) z rozwijanego menu wybieramy Nazwa użytkownika (ang. User-Name).

RADIUS konfigurowanie ustawień

Ostatni ekran jest ekranem podsumowującym przeprowadzaną konfigurację. Wybieramy Zakończ. Zasada została utworzona.

RADIUS kończenie pracy kreatora zasady żądań połączeń

Po skonstruowaniu Zasady żądań sieciowych należy zdefiniować Zasadę sieciową (ang. Network Policies), której najważniejszym elementem jest określenie grupy użytkowników mających prawo zalogowania się do urządzenia.

Rozpoczynamy od zaznaczenia gałęzi Zasady sieciowe na którą klikamy PPM i z menu wybieramy Nowy.

RADIUS - zasady sieciowe

Nazwę zasady określono tak samo jak w przypadku Zasady żądań połączeń czyli Cisco-uzytkownicy. Klikamy Dalej.

RADIUS - określanie nazwy zasady sieciowej i typu połączenia

Do utworzonej zasady przypisujemy warunki. Warunek definiujemy po wybraniu przycisku Dodaj.

RADIUS - określanie warunków zasady sieciowej

Z listy warunków wybieramy opcję Grupy użytkowników (ang. Users Groups) a następnie klikamy Dodaj.

RADIUS - grupy użytkowników

W nowo otwartym oknie Grupy użytkowników poprzez wybranie Dodaj do grupy (ang. Add Groups) definiujemy grupę, której członkowie będą mogli przeprowadzić proces autoryzacji. W scenariuszu tym grupa upoważniona do logowania została określona jako: Network Admins (grupę możemy zdefiniować dowolnie ważne by później do grupy dodać konta użytkowników).

RADIUS - okreslanie warunków grupy użytkowników

Zmiany zatwierdzamy przyciskiem OK.

RADIUS - zatwierdanie warunków frupy użytkowników

Po określeniu nazwy grupy przechodzimy dalej.

Kolejną decyzję jaką musimy podjąć to definicja uprawnień dostępu. Z dostępnych opcji wybieramy oczywiście Udzielenie dostępu (ang. Access Granted). Klikamy Dalej.

RADIUS - określanie uprawnień dostępu

Na karcie Konfigurowanie metod uwierzytelnienia do domyślnie już zaznaczonych metod należy dodać opcję Uwierzytelnienie bez szyfrowania (PAP, SPAP) (ang. Unecrypted authentication (PAP, SPAP)).

Radius - konfigurowanie metod uwierzytelniania

Na karcie Konfigurowanie ograniczeń pozostawiamy opcje domyślne.

RADIUS - limit czasu bezczynności

Na karcie Konfigurowanie ustawień usuwamy Framed-Protocol PPP.

RADIUS - Framed-Protocol PPP

Kolejną czynnością jest zmiana wartości opcji Service-Type, z rozwijanej listy (pozycja Inne) wybieramy Login.

RADIUS - login

Po zatwierdzeniu karty jeszcze nie opuszamy i z menu po lewej wybieramy opcję Specyficzny dla dostawcy. Aby określić atrybuty klikamy na przycisk Dodaj. W nowo otwartym oknie z rozwijanej listy Dostawca wybieramy Cisco i całość zatwierdzamy poprzez Dodaj.

RADIUS - dostawca CISCO

W nowo otwartym oknie Informacje o atrybutach ponownie wybieramy przycisk Dodaj. W polu Wartość atrybutu wpisujemy: shell:priv-lvl=15

RADIUS - informacje o atrybutach

Po zatwierdzeniu wszystkich wybieramy Dalej.

RADIUS - hasło CISCO

Dotarliśmy do końca, kolejny ekran jest ekranem podsumowującym wybieramy Zakończ.

RADIUS - kończenie nowej zasady sieciowej

Serwer RADIUS został skonfigurowany.

Przechodzimy do drugiej części „układanki” czyli do routera.

Pierwszą czynnością jest skonfigurowanie interfejsu f0/0 routera. Adres IP interfejsu został ustalony na 192.168.1.60 z maską 255.255.255.0 (punkt 1) – adres ten musi być zgodny z zdefiniowanym wcześniej adresem IP klienta, podanie innego adresu IP spowoduje brak autoryzacji. Po tak przeprowadzonej konfiguracji sprawdźmy za pomocą polecenia ping łączność z serwerem RADIUS. Jak widać poniżej test ping kończy się sukcesem (punkt 2).

RADIUS - sprawdzenie łączności

Po ustaleniu połączenia kolejnym naszym zadaniem jest utworzenie konta użytkownika. Konto to zostaje utworzone lokalnie i jest naszym zabezpieczeniem na wypadek błędnie przeprowadzonej konfiguracji bądź niedostępności serwera RADIUS. Gdy krok ten pominiemy to w razie wystąpienia opisanych problemów stracimy możliwość wykonania logowania.

Za pomocą polecenia: username admin privilege 15 secret 0 cisco zostało utworzone konto użytkownika: admin z hasłem: cisco. Konto posiada najwyższe uprawnienia. Dodatkowo za pomocą komendy: enable secret cisco zostało ustalone hasło do trybu uprzywilejowanego.

RADIUS - enable secret cisco

Przed wydaniem kolejnych komend należy włączyć na routerze korzystanie z modelu AAA – włączenie funkcji realizujemy za pomocą polecenia: aaa new-model. Więcej o prawach użytkownika odnośnie urządzeń CISCO dowiesz się z mojego innego wpisu: Dostęp zdalny oraz prawa użytkownika w routerach CISCO.

Po definicji konta lokalnego za pomocą poleceń: aaa group server radius <nazwa_grupy > oraz server-private <adres_IP_serwera> auth-port 1812 acct-port 1813 key <hasło> konfigurujemy ustawienia serwera RADIUS. Polecenie te można wykorzystać do skonfigurowanie więcej niż jednego serwera RADIUS. W przypadku CISCO warto jest podać numery portów używanych do zestawienia kanału komunikacyjnego, gdyż część urządzeń domyślnie może być skonfigurowana do korzystania z portu 1645 oraz 1646. Błędne skonfigurowanie odpowiednich wartości portów uniemożliwi poprawną komunikację z serwerem.

Czyli w naszym przypadku wydajemy polecenia: aaa group server radius RAD_SERVER oraz server-private 192.168.1.50 auth-port 1812 acct-port 1813 key cisco123

aaa group server radius RAD_SERVER

Dodatkowo aby włączyć proces logowania z wykorzystaniem serwera RADIUS należy wydać komendy (w trybie konfiguracji globalnej):

aaa authentication login default group RAD_SERVER local

aaa authorization exec default group RAD_SERVER local if-authenticated

aaa authorization console

aaa authorization console

Polecenia spowodują włączenie procesu autoryzacji z wykorzystaniem serwera RADIUS a dodatkowo w przypadku niedostępności tegoż serwera druga metoda będzie wykorzystywać lokalną bazę użytkowników.

Router Cisco został skonfigurowany. Przejdźmy z powrotem do serwera i utwórzmy konto użytkownika. Poniżej zostało założone konto użytkownika jankow i konto zostało przypisane do grupy Network Admins (grupa ta jest uprawniona do logowania się na urządzeniach).

RADIUS - konto użytkownika Active Directory

Aby prześledzić całość procesu na routerze dodatkowo wydano polecenia: debug aaa authentication, debug aaa authorization oraz debug radius.

Spróbujmy zatem wykonać logowanie na routerze z wykorzystaniem poświadczeń użytkownika jankow.

Dzięki włączonemu procesowi debugowania, możemy obserwować kolejne etapy ustanawiania połączenia – całość przeprowadzonej konfiguracji zakończyła się sukcesem.

debug radius

Weryfikację całego procesu możemy również przeprowadzić na serwerze, wykorzystując do tego celu logi zdarzeń serwera zasad sieciowych.

RADIUS - zasady sieciowe

A co w sytuacji w której pomimo wykonania wszystkich czynności nie uda nam się zalogować? W takim przypadku możemy wykorzystać konto użytkownika lokalnego, które utworzono właśnie na taką okazję.

Poniżej jeszcze przechwycony ruch sieciowy pomiędzy routerem a serwerem RADIUS. Host 192.168.1.60 (router) w kierunku serwera RADIUS (adres IP 192.168.1.50) wysyła pakiet Access-Request w którym zawarte są wszystkie informacje potrzebne do uwierzytelnienia.

RADIUS - pakiet Access-Request

Po sprawdzeniu otrzymanych danych serwer RADIUS odsyła pakiet Access-Accept (oczywiście jeśli przesłane dane w poprzednim pakiecie są prawidłowe).

RADIUS - Access-Accept

W przypadku błędnie podanych danych uwierzytelniających serwer RADIUS nie odeśle pakietu Access-Accept tylko pakiet typu Access-Reject (pakiet odmawia przeprowadzenie logowania).

RADIUS - Access-Accept

Serwer RADIUS skonfigurowano prawidłowo – można przy jego użyciu przeprowadzić na urządzeniach sieciowych takich jak routery czy przełączniki logowanie.

A co w sytuacji, gdy pomimo przeprowadzenia całości procesu, logowanie jest niemożliwe?

W pierwszej kolejności sprawdź ustawienia zapory sieciowej.

Podpowiedź 2 – sprawdź kolejność stosowania zasad sieciowych.

RADIUS - ustawienia zapory sieciowej

I ostatnia porada – sprawdź logi zdarzeń – ich analiza często pozwoli rozwiązać problem.

Już na sam koniec warto jeszcze nadmienić, że w przypadku urządzeń CISCO, serwer RADIUS nie jest jedynym sposobem na zdalne uwierzytelnianie użytkowników, można użyć mechanizmu TACAS – lecz jest to temat na kolejny wpis.

Nazywam się Rafał Wielgus, jestem informatykiem oraz międzynarodowym audytorem wiodącym ISO 27001. Świadczę kompleksowe usługi z zakresu bezpieczeństwa teleinformatycznego, wdrażam systemy z rodziny „IT security”, skutecznie nadzoruję RODO, prowadzę szkolenia oraz audyty.

Posiadam prawie 20 lat doświadczenia w bezpieczeństwie systemów i sieci komputerowych. Jako jeden z nielicznych w Polsce dysponuję wiedzą praktyczną w zakresie Certified Information Systems Security Professional (CISSP). Szkolony również przez ABW i SKW.

Komentarze (2)

Treść komentarza

Mega fajna i przejrzysta instrukcją… Na jej podstawie wdrażałem u klienta i wszystko działa 😉

Dodaj komentarz