Protokół TACACS (ang. Terminal Access Controller Access-Control System) został opracowany w 1980 roku przez firmę BBN. Firma ta została przejęta przez organizację Verizion by w następstwie stać się własnością firmy CISCO.
Pierwotnie protokół TACACS zakładał obsługę podstawowych operacji związanych z przekazywaniem informacji uwierzytelniających oraz definiował sposób ich weryfikacji. W roku 1990 firma Cisco rozbudowała protokół TACACS o nowe możliwości i nadała mu nazwę XTACACS (ang. Extended TACACS). Kolejne usprawnienia protokołu i dodanie do nich nowych funkcji przeobraziło protokół to formy w jakiej znamy go dziś. Nowa implementacja protokołu przyjęła nazwę TACACS+. Wszystkie trzy wymienione wersje protokołu nie są kompatybilne ze sobą lecz ich obsługa i wsparcie jest uwzględnione w systemach lOS.
TACACS jest rozwiązaniem konkurencyjnym do już omawianego protokołu RADIUS więc myślę, że czas na małe porównanie. Porównanie obu rozwiązań zostało zawarte w tabeli poniżej.
RADIUS | TACACS+ |
RADIUS działa na protokole UDP | TACACS+ działa na protokole TCP |
RADIUS używa portu 1645 lub 1812 do uwierzytelniania i portu 1646 lub 1813 do rozliczania |
TACACS+ używa portu 49 |
Protokół RADIUS ukrywa hasła podczas transmisji, ale reszta pakietu jest wysyłana w postaci zwykłego tekstu. |
TACACS+ szyfruje całą komunikację |
RADIUS łączy uwierzytelnianie i autoryzacja | TACACS+ oddzielnie traktuje uwierzytelnianie, autoryzacje i rozliczanie |
RADIUS jest otwartym protokołem obsługiwanym przez wielu dostawców. RADIUS jest zdefiniowany w RFC 2865, 2866, 2867, and 2868. |
TACACS+ jest własnością CISCO. |
RADIUS wprowadza mniejszy narzut podczas działania | TACACS+ zużywa więcej zasobów |
RADIUS jest ograniczony do trybu uprawnień privilege mode | TACACS+ wspiera 15 privilege levels |
Odpowiadający głównie za dostęp do sieci | Wykorzystywany do Device Administration |
Sposób komunikacji pomiędzy klientem, routerem a serwerem w obu przypadkach przebiega odmiennie więc na dwóch poniższych schematach zaprezentowano wymianę danych jak zachodzi podczas próby wykonania logowania.
Wymiana danych z wykorzystaniem serwera TACACS.
Wymiana danych z wykorzystaniem serwera RADIUS.
Jak można zaobserwować proces uwierzytelnienia wykorzystujący TACACS przebiega etapami. Pierwszym etapem jest nawiązanie przez klienta połączenia z routerem, następnie urządzenie te w kierunku serwera wysyła zapytanie wskazujące na podanie nazwy użytkownika. Jeśli serwer TACACS takie żądanie zaakceptuje w drugim kroku następuje podanie przez klienta nazwy użytkownika, która to z kolei zostaje przez router przesłana do serwera. Proces ten powtarza się również w przypadku hasła. Jeśli podane przez klienta dane są prawidłowe, serwer przyznaje dostęp.
W rozwiązaniu opartym o serwer RADIUS urządzeniem odpytującym jest również router. W tym rozwiązaniu router pyta klienta o login i hasło i jeśli te dane uzyska przesyła je w kierunku serwera RADIUS. Serwer po analizie otrzymanych danych udziela bądź odmawia dostępu.
Topologia naszej ćwiczebnej sieci tak samo jak w przypadku serwera RADIUS nie jest skomplikowana i została przedstawiona na rysunku poniżej.
Jako serwer TACACS posłuży nam oprogramowanie ACS czyli Cisco Secure. Rozwiązanie te dostarczane jest jako osobny system operacyjny oparty o Linux bądź dedykowane urządzenie. Wcześniejsze wersje ACS działały również w oparciu o system Windows jako osobna aplikacja lecz te rozwiązanie nie jest już ani wspierane ani rozwijane.
Niestety ACS nie jest oprogramowaniem darmowym by z niego korzystać należy je zakupić. Na nasze szczęście CISCO umożliwia uzyskanie licencji próbnej, której czas został ograniczony do 90 dni. Licencja ta w zupełności nam wystarczy do nauki wystarczy.
Aby uzyskać licencję należy przejść do strony: https://tools.cisco.com/SWIFT/LicensingUI/Quickstart By móc uzyskać licencję w pierwszej kolejności należy założyć konto.
Po uzyskaniu dostępu wybieramy Get Other Licenses a następnie z rozwijanego menu klikamy Demo and Evaluation.
W nowo otwartym oknie w sekcji Product Family wybieramy Network Mgmt Products a następnie Cisco Secure Access Control System Evaluation. Klikamy Next
Po uzyskaniu licencji na podany podczas rejestracji adres email zostanie wysłany stosowny plik (plik z rozszerzeniem *.lic), plik licencji możemy również pobrać bezpośrednio ze strony.
Posiadamy licencję a więc czas by uzyskać obraz systemu. Tu już niestety tak łatwo nie jest, gdyż bezpośrednio ze strony CISCO obrazu w formie pliku ISO nie pobierzemy. Trzeba poszukać i pobrać odpowiedni plik z innego źródła, tu już odsyłam do wyszukiwarki.
Przechodzimy do instalacji oprogramowania, instalacja zostanie przeprowadzona z wykorzystaniem maszyny wirtualnej.
Rozpoczynamy od pobrania i od zainstalowania oprogramowania VMware Player. Dlaczego VMware a nie VirtualBox? Anoż dlatego, że pomimo podjętych prób (kilka przerobionych tutoriali) nie udało mi się zainstalować serwera ACS z wykorzystaniem VirtualBox. Program instalacyjny odpalał się prawidłowo lecz po chwili uzyskiwałem komunikat o niezgodności sprzętowej i niemożności kontynuowania instalacji. Jeśli Czytelniku znasz rozwiązanie tego problemu to Ja go chętnie poznam. W przypadku wspomnianego VMware instalacja przebiegła bez żadnych zakłóceń.
Po zainstalowaniu oprogramowania przechodzimy do konfiguracji nowej maszyny wirtualnej, parametry maszyny zostały ustalone tak jak na poniższych screenach. Na początek pamięć RAM - ustawienie 2GB.
Kolejną czynnością było ustalenie parametrów dysku twardego. Dysk został zdefiniowany jako SCSI z domyślną wartością LSI Logic a jego rozmiar to 70 GB (ACS wymaga co najmniej 60GB miejsca).
Aby serwer był dostępny z poziomu sieci LAN, karta sieciowa została ustawiona do pracy w trybie Bridged: Connected directly to the physical network
Typ wirtualnej maszyny został ustalony na obsługę systemu Red Hat Enterprise Linux 6.
Opcje związane z obsługą USB oraz dźwięku zostały usunięte.
Maszyna wirtualna została skonfigurowana, przechodzimy do instalacji serwera ACS. Po uruchomieniu wirtualnego hosta i wskazaniu pliku obrazu systemu (plik ISO) powinien pojawić się nam ekran na którym możemy zdecydować o typie przeprowadzanej instalacji (obraz umożliwia również wykonanie operacji resetowania zapomnianego hasła). Z menu wybieramy: Cisco Secure ACS 5.4 Instalation (Keyboard/Monitor) - opcja 1.
Po wybraniu typu instalacji następuje proces formatowania dysku.
Po wykonaniu formatowania rozpoczyna się proces kopiowania plików systemu ACS.
Po zakończonym kopiowaniu powinien nastąpić restart maszyny po którym powinien ukazać się nam ekran jak na zrzucie poniżej. Przechodzimy do konfiguracji podstawowych parametrów serwera ACS. Aby rozpocząć konfigurację po ciągu localhost login: wpisujemy setup i zatwierdzamy klawiszem Enter.
Przechodzimy do konfiguracji podstawowych parametrów:
1 - adres IP serwera,
2 - maska sieci,
3 - adres IP bramy,
4 - nazwa domeny,
5 - adres IP serwera DNS,
6 - adres serwera czasu NTP,
7 - strefa czasowa,
8 - dane uwierzytelniające tj. login oraz hasło.
Jeśli któryś danych nie znasz to pozostaw puste miejsce i zatwierdź klawiszem Enter.
Po określeniu wszystkich parametrów nastąpi proces konfiguracji serwera ACS. Efektem końcowym procesu powinien być ekran logowania. Aby się zalogować wykorzystaj dane podane w poprzednim kroku.
Serwer ACS powinien się uruchomić. Jest to dobry moment aby wykonać kilka testów sprawdzających poprawność działania serwera. Rozpoczynamy od sprawdzenia dostępności serwera ACS. Zostaje wykonana próba sprawdzenia osiągalności serwera z poziomu sieci LAN. Jak można zauważyć poniżej test ping kończy się sukcesem. Możliwa jest komunikacja z serwerem ACS.
Kolejne testy wykonamy w linii CLI serwera ACS. Pierwszym testem jest sprawdzenie wersji serwera. Wersję systemu poznamy po wydaniu polecenia: show version
Drugi test to sprawdzenie poprawności uruchomionych procesów. Sprawdzenia dokonamy za pomocą polecenia: show application status acs Lista uruchomionych procesów została przedstawiona poniżej.
Ostatni test dotyczy sprawdzenia poprawności konfiguracji serwera. Konfigurację serwera poznamy po wydaniu komendy: show running-config
Serwer ACS działa tak więc przechodzimy do jego konfiguracji. Konfiguracja odbywa się za pomocą przeglądarki internetowej (w ten sam sposób w jaki konfigurujemy np. router). Otwieramy przeglądarkę i w polu adresu wpisujemy: https://<adres_IP_serwera> (ważne jest byś dodał https samo wpisanie adresu IP nie wystarczy).
Po wysłaniu żądania otwarcia strony zostaniemy poinformowaniu o problemie z certyfikatem strony - nie martw się jest to jak najbardziej pożądany komunikat. Aby móc przejść dalej zaznaczamy Kontynuuj przeglądanie tej witryny sieci Web (to w przypadku Internet Explorera) natomiast jeśli korzystamy np. z Firefoxa wybieramy Zaawansowane a następnie Dodaj wyjątek.
W nowo otwartym oknie Dodanie wyjątku bezpieczeństwa zaznaczamy opcję Zachowaj wyjątek na stałe (przy ponownym połączeniu problem z certyfikatem już nie wystąpi) a następnie Potwierdź wyjątek bezpieczeństwa.
Po zatwierdzeniu ukarze się nam okno logowania serwera ACS. Ponieważ jest to nasze pierwsze logowanie w polu Username wpisujemy acsadmin zaś hasłem jest słowo default.
Po wpisaniu danych uwierzytelniających zostaniemy poinformowani o potrzebie zmiany hasła. Hasło ustalamy sami. Po ustaleniu wartości hasła klikamy Zaloguj się.
Następny krok to wczytanie licencji. Po wyborze przycisku Przeglądaj wskazujemy na plik licencji otrzymany od CISCO.
Wybieramy Install.
Po wykonaniu wszystkich opisanych czynności uzyskamy dostęp do panelu konfiguracyjnego serwera ACS. W lewym górnym rogu ukazana jest informacja o liczbie pozostałych dni po upływie których musimy odnowić licencję.
Konfigurację serwera rozpoczniemy od utworzenia nowej grupy urządzeń. Ponieważ w naszym scenariuszu konfigurowanym urządzeniem jest router tak więc tworzoną grupę nazwiemy Routery.
Aby skonfigurować nową grupę urządzeń przechodzimy do gałęzi: Network Resources/Network Device Group/Device Type Po przejściu do gałęzi klikamy Create.
Aby utworzyć nową grupę wypełniamy pola obowiązkowe, które są oznaczone pomarańczową gwiazdką. Nazwa grupy została zdefiniowana jako Routery zaś pole Parent pozostawiamy bez zmian. Opcjonalnie możemy wprowadzić opis tworzonej grupy (pole Description) Po zdefiniowaniu wszystkich danych klikamy Submit.
Grupa Routery została utworzona. Aby edytować informacje o grupie bądź sprawdzić fakt jej utworzenia w gałęzi Network Resources/Network Device Group/Device Type klikamy na strzałkę przy nazwie rodzica (w naszym przypadku All Device Types).
Po utworzeniu grupy musimy zdefiniować konto urządzenia. Aby utworzyć konto przechodzimy do gałęzi Network Resources/Network Devices and AAA Clients. Po otwarciu okna podobnie jak w przypadku tworzenia grupy w pierwszej kolejności klikamy na przycisk Create.
Po otwarciu nowego okna definiujemy:
1 - nazwę urządzenia oraz jego opis,
2 - adres IP urządzenia,
3 - sposób uwierzytelnienia, odhaczamy opcję TACACS+ oraz definiujemy hasło klucza (hasło będzie potrzebne przy konfiguracji routera).
Ostatnim krokiem jest dodanie konta tworzonego urządzenia do wcześniej utworzonej grupy. Aby przypisać urządzenia R1 do grupy Routery wybieramy przycisk Select (w obrębie opcji Device Type) a następnie po otwarciu nowego okna przeglądarki zaznaczamy grupę.
Po wybraniu kolejno OK oraz Submit konto urządzenia R1 zostaje przypisane do grupy Routery.
Po utworzeniu konta urządzenia kolejnym krokiem jest zdefiniowanie konta użytkownika, który do urządzenia będzie miał przyznane prawo logowania. Tak jak poprzednio rozpoczynamy od utworzenia grupy użytkowników.
Aby utworzyć grupę użytkowników przechodzimy do gałęzi Users and Identity Stores/Identity Groups a następnie wybieramy Create.
Uzupełniamy pola: nazwa tworzonej grupy, opis grupy (opcjonalnie), pole Parent pozostawiamy bez zmian.
Jak widać na zrzucie poniżej nazwa grupy została zdefiniowana jako Konfiguracja zaś opis grupy to pełny dostęp. Po definicji wszystkich wymaganych opcji klikamy Submit.
Poprawność utworzenia grupy (bądź modyfikację opcji) możemy dokonać po wybraniu strzałki obok nazwy rodzica (All Groups).
Grupa Konfiguracja została utworzona. Czas by przypisać do grupy użytkowników. Konto użytkownika utworzymy po wybraniu gałęzi Users and Identity Stores/Internal Identity Stores/Users wybieramy Create.
Na kolejnym ekranie:
1 - ustalamy nazwę użytkownika,
2 - pole opis,
3 - za pomocą przycisku Select przypisujemy użytkownika do wcześniej utworzonej grupy Konfiguracja,
4 - ustalamy hasło.
Konto użytkownika jankow zostało utworzone i przypisane do grupy Konfiguracja.
Zanim przejdziemy do kolejnego etapu czyli do konfiguracji routera jeszcze jedna mała uwaga. Gdybyśmy chcieli utworzyć więcej grup użytkowników i każdej z grup przypisać różne uprawnienia należy stworzyć odpowiednie polisy. W naszym scenariuszu możemy ten krok pominąć gdyż domyślna polisa (a raczej brak zdefiniowania innych) powoduje uzyskanie pełnego dostępu.
Aby przypisać dane uprawnienia grupie i utworzyć nową polisę należy przejść do gałęzi Access Policies/Access Services/Default Device Admin/Authorization (utworzymy regułę dla grupy użytkowników Konfiguracja oraz grupy urządzeń Routery). W nowo otwartym oknie w polu Name wpisujemy nazwę reguły. Po zaznaczeniu opcji Identity Group i kliknięciu na Select wybieramy grupę Konfiguracja. Następnie zaznaczamy opcję NDG:Device Type i tak jak poprzednio po kliknięciu na Select wybieramy grupę Routery.
Adresaci reguły zostali ustaleni przechodzimy do określenia uprawnień. Aby określić uprawnienia wybieramy przycisk Select przy opcji Shell Profile. Domyślne utworzone są dwa profile - profil zezwalający na dostęp czyli PermitAccess oraz profil zabraniający dostępu - jak łatwo się domyślić - DenyAccess. My na tym etapie skorzystamy z własnego. Aby utworzyć nowy profil wybieramy Create.
Otworzy się kolejne okno. W zakładce General określamy nazwę tworzonego profilu. Zakładka Common Tasks odpowiedzialna jest za ustalenie uprawnień. Aby zdefiniowanym grupom przypisać maksymalne uprawnienia opcje Devault Privilege oraz Maximum Privilege zmieniamy na Static i przypisujemy opcji Value wartość 15. Zakładka ta pozwala na zdefiniowanie jeszcze kilku innych parametrów.
Po wprowadzeniu wszystkich danych wybieramy Submit.
Gdybyś czytelniku z jakiś powodów popełnił błędy podczas konfiguracji serwera ACS zawsze za pomocą polecenia: acs reset-config przywrócisz jego ustawienia początkowe (fabryczne).
Konfiguracja serwera ACS dobiegła końca czas by przetestować wprowadzone ustawienia, przechodzimy do konfiguracji routera.
Na samym wstępie wykonujemy konfigurację interfejsu routera - przypisujemy adres IP, maskę oraz włączamy interfejs.
Po konfiguracji interfejsu przeprowadzamy test łączności z serwerem ACS. Jak widać poniżej komunikacja obu urządzeń jest możliwa.
Kolejnym krokiem jest konfiguracja opcji związanych z serwerem TACACS. Konfiguracja ta jest bardzo podobna do tej opisanej w poprzednim wpisie dotyczącym konfiguracji serwera RADIUS.
1 - tworzymy konto użytkownika admin - konto jest zakładane lokalnie - na wypadek błędnie przeprowadzonej konfiguracji lub niedostępności serwera TACACS tak byśmy nie stracili możliwości zalogowania się,
2 - hasło do trybu uprzywilejowanego,
3 - włączenie modelu AAA,
4 - określenie adresu IP serwera TACACS,
5 - określenie wartości klucza,
6 - określenie domyślnej metody uwierzytelnienia, dodanie parametru: local-case powoduje rozróżnienie wielkości liter,
7 - określenie metody autoryzacji - pierwszeństwo ma serwer TACACS zaś w drugiej kolejności jest wykorzystywana baza lokalna.
Router został skonfigurowany. Czas by przeprowadzoną konfigurację przetestować - wykonujemy próbę logowania. Jak widać poniżej próba logowania użytkownika jankow przebiegła prawidłowo. Użytkownik jankow uzyskał dostęp do routera.
Dużą zaletą serwera ACS jest mnogość opcji monitoringu. Kontrolę poprawności logowania użytkownika jankow możemy również sprawdzić od strony serwera. Informacje stanu logów możesz przeglądać po wybraniu gałęzi Monitoring and Reports.
W przypadku konfiguracji serwera TACACS tak zresztą jak i RADIUS możliwe jest przypisanie kilku serwerów realizujących proces uwierzytelnienia.
Podczas definicji serwerów ważna jest kolejność ich wprowadzania, gdyż będzie to odzwierciedlać stan nawiązywanych połączeń. Jeśli pierwszy serwer o adresie IP 192.168.1.20 będzie niedostępny nastąpi próba komunikacji z serwerem o adresie IP 192.168.1.21 Tak więc kolejność definicji dostępnych serwerów możemy wykorzystać do kształtowania ruchu sieciowego tak by jeden z nich nie był nadmiernie obciążony.
CISCO przewidziało jeszcze jedną metodę definicji serwerów TACACS a mianowicie serwery te możemy łączyć w grupy. Poniżej przykład utworzenia takiej grupy serwerów.
Definicję grupy serwerów rozpoczynamy od utworzenia samej grupy. Grupę utworzymy za pomocą polecenia: aaa group server tacacs+ <nazwa_grupy> Kolejnym krokiem jest podanie adresów IP serwerów. Adresy definiujemy za pomocą komendy: server <adres_IP> W naszym przykładzie do grupy o nazwie GRUPA1 zostały dodane adresy trzech IP serwerów przy czym dodanie serwera o adresie 192.168.1.22 wygenerowało błąd. Stało się tak, gdyż adres IP tego serwera wcześniej nie został zdefiniowany za pomocą polecenia: tacacs-server host <adres_IP> key <hasło_klucza> Ostatnim krokiem jest zdefiniowanie metody uwierzytelnienia, która będzie odnosić się do utworzonej grupy - polecenie: aaa authentication login default group <nazwa_grupy>
Jeśli chcemy aby poszczególni użytkownicy mieli dostęp tylko do określonych komend należy skonfigurować autoryzacje poleceń. Autoryzację taką włączymy za pomocą komendy: aaa authorization commands 15 default group tacacs+ (cyfra 15 oznacza możliwość przeprowadzenia autoryzacji poleceń poziomu 15). Po wydaniu komendy każdorazowe wprowadzenie polecenia spowoduje przesłanie do serwera TACACS żądania, którego celem jest sprawdzenie czy dany użytkownik daną komendę może wykonać.
Poniżej przykład w którym użytkownikowi tadnow zostało odmówione wykonanie polecenia: configure terminal
Jeśli chcemy określić interfejs, który może komunikować się z serwerem TACACS należy użyć polecenia: ip tacacs source-inteface <nazwa interfejsu> Poniżej przykład w którym interfejs f0/0 routera R1 został wyznaczony jako ten, przez który będą wysyłane pakiety w kierunku serwera TACACS.
Domyślne ustawienia serwera pozwala na wykonanie 3 prób logowania aby zmienić wartość liczby prób logowania należy użyć polecenia: tacacs-server attempts <liczba_prób> Polecenie wydajemy w trybie konfiguracji globalnej.
Serwer TACACS umożliwia nam gromadzenie informacji o wprowadzanych komendach i poleceniach, które następnie są zapisywane w logach serwera. Możliwość ta jest bardzo przydatna gdyż pozwala nam na monitorowanie pracy osób odpowiedzialnych za konfigurację urządzeń sieciowych. Analiza logów da nam wiedzę kto i o jakiej porze wprowadził zmiany w konfiguracji urządzenia.
Aby uruchomić przechwytywanie wprowadzonych przez użytkownika poleceń należy wydać komendę: aaa accounting commands <poziom_poleceń> default stop-only group tacacs+ Poniżej na zrzucie zaprezentowano włączenie przechwytywania poleceń poziomu pierwszego i piętnastego.
Po wydaniu komend wszystkie polecenia wprowadzane przez użytkownika znajdą swoje odzwierciedlenie w dzienniku pracy serwera TACACS. Poniżej przedstawiono zrzut z dziennika serwera na którym widać iż użytkownik tadnow dokonał konfiguracji interfejsu f1/0 routera (zostały zapisane polecenia poziomu 15).
Ponieważ również skonfigurowaliśmy rejestrowanie wydania komend poziomu pierwszego to w logach pracy serwera te polecenia również odnajdziemy. Poniżej kolejny zrzut na którym widać iż użytkownik tadnow sprawdzał konfigurację interfejsów routera (polecenie: show ip interface brief).
Oprócz zapisu poleceń w dzienniku pracy serwera możemy gromadzić informacj o występujących zdarzeniach systemowych. Na rysunku poniżej została pokazana konfiguracja tej funkcji.
Rejestrację zdarzeń systemowych określamy za pomocą słów kluczowych: exec, connection oraz system.
exec - zapis informacji o zainicjowaniu i zakończeniu sesji,
connection - zapis informacji dotyczących wykonanych połączeń z urządzeniem z wykorzystaniem taklich protokołów jak Telnet czy SSH,
system - zapis informacji odnoszących się do zdarzeń związanych z pracą urządzenia np. restart.
Poniżej na zrzucie przykład rejestracji zdarzeń wskazujący na uzyskanie połączenia z urządzeniem.
Korzystanie z dedykowanych rozwiązań CISCO jest bardzo wygodne lecz niestety wiąże się to z dodatkowymi kosztami - A co zrobić w przypadku w którym nas na to np. nie stać a chcemy by w naszej sieci działał serwer TACACS? W takim przypadku musimy sięgnąć do oprogramowania firm trzecich a i najlepiej by oprogramowanie te było darmowe. Warunki te spełnia serwer TACACS.net TACACS+ Server. Narzędzie te dostępne jest pod adresem: http://tacacs.net/download.asp Tak naprawdę oprogramowanie te występuje w dwóch wersjach Basic oraz Advanced. Pierwszą z nich można pobrać po wypełnieniu formularza, druga zaś dostępna jest za opłatą.
Po pobraniu instalatora rozpoczynamy instalację serwera. Oprogramowanie działa pod kontrolą systemu Windows i wspierane są wersje od Windows XP do Windows 8 wraz z wersjami serwerowymi od Windows 2000 Workstation do Windows Server 2012.
Podczas instalacji przy wyborze komponentów zaznaczamy obie dostępne opcje: TACTTest test tool (narzędzia testujące działanie serwera) oraz TACACS+ Server (przeznaczenie tego komponentu chyba nie należy tłumaczyć).
Kolejną ważną decyzję jaką musimy podjąć to ustalenie hasła klucza, klucz oczywiście należy zapamiętać gdyż będzie potrzebny na dalszym etapie konfiguracji. Wartość klucza: tajnehaslo
Po zdefiniowaniu klucza następuje instalacja serwera TACACS.
Oprogramowanie zostało zainstalowane. Serwer po instalacji powinien oczekiwać na połączenia od klientów na porcie TCP 49. Aby sprawdzić stan usług sieciowych wykorzystamy wbudowane narzędzie netstat. Otwarte porty wraz z stanem i numerem PID usługi poznamy po wydaniu polecenia: netstat -afo | find "49" (wyniki polecenia netstat zostają przekazane do polecenia find celem wyświetlenia tylko tych usług w który występuje wartość 49).
Po wyświetleniu wyników wydanego polecenia odszukujemy w trybie NASŁUCHIWANIE usługę działającą na porcie TCP 49. PID odnalezionej usługi wynosi 2248. Aby poznać nazwę usługi należy wydać polecenie: tasklist /fi "pid eq 2248" Jak można się przekonać poniżej program działający na porcie TCP 49 to tacplus.exe Serwer TACACS działa i czeka na nawiązanie połączenia z klientem.
Po analizie danych otrzymanych w poprzednim kroku widać, że adres IP serwera został ustalony na 127.0.0.1 (localhost). Docelowy adres IP serwera TACACS powinien wynosić 192.168.1.20. Aby zmienić ten stan rzeczy musimy dokonać konfiguracji ustawień serwera. Ustawienie serwera zmieniamy poprzez edycję plików XML zawartych w folderze config dostępnych w lokalizacji %ALLUSERSPROFILE%\TACACS.net Aby zmienić adres IP serwera edytujemy plik tacplus.xml (edycja dostępna po odznaczeniu atrybutu tylko do odczytu).
Po otwarciu pliku odszukujemy zmienną LocalIP i domyślny adres IP 127.0.0.1 zamieniamy na 192.168.1.20
Aby serwer mógł zacząć pracować z nowymi ustawieniami należy go zatrzymać i ponownie uruchomić. Ponowny rozruch serwera TACACS dokonamy po wydaniu poleceń: net stop TACACS.net oraz net start TACACS.net
Rozruch serwera możemy również dokonać z poziomu okna Usługi.
Weryfikację zmiany ustawień serwera sprawdzimy za pomocą znanych już nam poleceń netstat oraz tasklist. Nastąpiła zmiana adresu IP z 127.0.0.1 na 192.168.1.20
Kolejnym krokiem jest utworzenie kont użytkowników mających prawo wykonie operacji logowania. Konfigurację kont przeprowadzamy poprzez edycję pliku authentication.xml Ustalenie danych uwierzytelniających dokonujemy za pomocą zmiennych Name oraz LoginPassword Na zrzucie poniżej zostały ustalone dwa konta użytkowników:
1 - użytkownik: tadnow hasło: Qwerty1!
2 - użytkownik: beatry hasło: P@ssw0rd
Jeżeli chcemy określić docelową grupę urządzeń, która ma prawo zestawiania połączeń z serwerem TACACS należy odpowiednie ustawienia określić w pliku clients.xml W pliku tym również możemy zmienić ustalone na etapie instalacji serwera hasło klucza.
Wprowadzanie zmian niesie ze sobą możliwość popełnienia pomyłki dlatego warto po dokonanych modyfikacjach dokonać testu składni edytowanych plików. Wraz z serwerem dostarczane jest narzędzie tacverify, które pozwoli nam na sprawdzenie składni plików. Sprawdzenie sprowadza się do wydania polecenia tacverify. Jak widać poniżej wszystko jest w porządku.
Kolejnym z narzędzi testujących jest tactest, program umożliwia nam przeprowadzenie próby połączenia. Po utworzeniu konta warto sprawdzić czy za pomocą skonfigurowanych poświadczeń uda się nam zestawić poprawne połączenie. Próba zakończona sukcesem oznacza, że serwer TACACS został poprawnie skonfigurowany i co najważniejsze, że działa. Testu połączenia dokonujemy za pomocą polecenia: tactest -s <sdres_IP_serwera> -u <nazwa_użytkownika> -k <hasło_klucza> -p <hasło_użytkownika> Poniżej wydanie polecenia: tactest -s 192.168.1.20 -u tadnow -k tajnehaslo -p Qwerty1! kończy się pełnym sukcesem. Przechodzimy do próby przeprowadzenia logowania na routerze.
Konfiguracja routera sprowadza się do wydania tych samych poleceń co w przypadku serwera ACS. Router został skonfigurowany spróbujmy zalogować się z poświadczeniami użytkownika tadnow. Jak można zaobserwować poniżej próba ta przebiegła poprawnie.
W przypadku wystąpienia problemów w katalogu Logs zapisane są logi serwera, ich analiza pozwoli na odpowiedzenie na pytanie - Co nie działa?
I to by było na tyle tematu konfiguracji uwierzytelnienia z wykorzystaniem serwera TACACS.
BIBLIOGRAFIA:
Komentarze
Czy można prosić o dokładniejsze opisanie TACACS.net np. przykłady z autoryzacją i różnymi poziomami uprawnień użytkowników / grup. Autentykacją poprzez AD ?
pzdr