spis treści
zamknij
BHPEX Logo

Blog bezpieczeństwa w pracy

Podstawowa konfiguracja przełącznika CISCO – switch’a warstwy 2 modelu ISO / OSI

07 września 2021 0

Przełączniki czy jak, kto woli switche, to obok routerów urządzenia niezbędne w nowoczesnej sieci. To właśnie one pozwalają na zwiększenie ilości hostów w naszej sieci. Bardzo często określa się przełączniki jako urządzenia warstwy 2 i jest to określenie jak najbardziej trafne gdyż pracują one w warstwie łącza danych.

Zanim przejdziemy do omawiania konfiguracji przełączników CISCO, parę słów wprowadzenia i przypomnienia. Jak zostało napomknięte przełączniki operują w warstwie drugiej, czyli ich zadaniem jest kierowanie ruchem ramek ethernetowych, tak aby trafiły one do docelowego hosta. Cały proces komunikacji opiera się na wykorzystaniu adresów MAC (adres fizyczny). Adres MAC jest dwuczęściową, 48-bitową wartością przedstawianą w formie 12 cyfr szesnastkowych. Format zapisu adresu MAC może być różny, najczęściej spotkasz się z następującymi postaciami tego adresu: C8-60-00-C7-89-EB, C8:60:00:C7:89:EB bądź C860.00C7.89EB (wszystkie formy są poprawne i dozwolone choć podczas procesu konfiguracji przełącznika CISCO obowiązującym formatem jest zapis: C860.00C7.89EB).

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.

Jak wiadomo MAC jest adresem, który jest na trwałe zapisany w pamięci ROM karty sieciowej, choć zdarzają się producenci sprzętu sieciowego, którzy pozwalają na lokalną zmianę tego adresu. Adres MAC jest składową dwóch części – pierwsze 24 bity adresu zostały przeznaczone na tzw. identyfikator OUI (ang. Organizational Unique Identifier), natomiast drugie 24 bity jest identyfikatorem urządzenia. Nadawanie identyfikatora OUI jest regulowane przez organizację IEEE natomiast zagospodarowaniem pozostałej przestrzeni zajmuje się producent urządzenia. Dodatkowo w identyfikatorze OUI zostały zarezerwowane dwa bity:

  • bit transmisji rozgłoszeniowej bądź grupowej – określa do jakiej grupy odbiorców ma dotrzeć ramka – transmisja rozgłoszeniowa bądź grupowa,
  • bit adresu administrowanego lokalnie – bit określa możliwość zmiany lokalnego adresu MAC.

Poniżej na rysunku przedstawiono strukturę adresu MAC na przykładzie karty sieciowej firmy ASUS.

struktura adresu MAC na przykładzie karty sieciowej firmy ASUS

W sieci dostępne są strony, które na podstawie wpisanego adresu MAC zidentyfikują producenta urządzenia.

Na rynku istnieje wiele firm produkujących przełączniki, od bardzo prostych po naprawdę zaawansowane, które pozwolą na ustawienie wielu parametrów pracy urządzenia. Proste przełączniki nie są konfigurowalne a sposób ich działania sprowadza się do przełączania ramek. Przełącznik taki instalujemy w naszej sieci a do jego portów podłączamy hosty, po włączeniu switch rozpoczyna  przekazywanie ramek. Przełączniki tego typu zdadzą egzamin w małej sieci domowej bądź biurowej w przypadku pojawienia się nowych hostów, które muszą zostać zintegrowane z naszą siecią. Przełącznikom, które muszą pracować w dużych sieciach korporacyjnych, uczelnianych czy produkcyjnych są stawiane całkiem inne wymagania a determinują je funkcje i mechanizmy jakie switch musi wspierać. Dzięki obecności interfejsu konfiguracyjnego (przeglądarka, konsola) urządzenia można skonfigurować tak aby mogły pełnić powierzone im funkcje. My zajmiemy się przełącznikami bardziej zaawansowanymi a przy okazji omawiania poszczególnych funkcji i mechanizmów, pośrednio poznamy jak działa sieć.

Konfigurację przełącznika zostanie omówiona z wykorzystaniem topologii przedstawionej na schemacie poniżej.

Konfiguracja przełącznika - topologia

Po uzyskaniu połączenia z konsolą przełącznika możemy przejść do jego konfiguracji. Polecenia muszą zostać wydane w odpowiednim trybie (podobnie jest z routerami) do dyspozycji mamy:

  • Tryb użytkownika ograniczony jest jedynie do przeglądania konfiguracji przełącznika oraz monitorowania jego stanu. Zmiana konfiguracji switcha w tym trybie jest niemożliwa. Tryb ten oznaczony jest znakiem: >.
  • Drugi z dostępnych trybów to tryb uprzywilejowany, tryb ten identyfikowany jest przez znak gotowości #. Umożliwia pełną konfigurację przełącznika a także przegląd wszystkich jego ustawień. Ze względu na możliwość zmiany sposobu działania switcha przejście do tego trybu najczęściej jest zabezpieczone hasłem. Przejście do trybu uprzywilejowanego wykonujemy po wpisaniu komendy: enable Z tego trybu możliwy jest bezpośredni dostęp do trybu konfiguracji przełącznika.
  • Tryb konfiguracji globalnej jest trybem służącym do konfigurowania podstawowych parametrów przełącznika. W trybie tym mamy możliwość zmiany: przypisania adresu IP do urządzenia, zasad dostępu, konfiguracji sieci wirtualnych VLAN oraz wielu innych parametrów pracy. Tryb ten rozpoznajemy po słowie config ujętym w nawiasie.

tryb konfiguracji globalnej

Aby ułatwić sobie wprowadzanie poleceń i mieć możliwość odwołania się do poleceń już wydanych możemy włączyć funkcję historii poleceń. Domyślnie funkcja ta jest włączona a przełącznik w swojej pamięci zapisuje 10 ostatnio wydanych poleceń.

Włączenie bufora historii wykonywanych poleceń odbywa się za pomocą polecenia: terminal history, natomiast by zmienić ilość zapamiętywanych poleceń należy skorzystać z polecenia: terminal history size <wartość> Podana wartość określa ilość zapamiętywanych pozycji.

terminal history - włączenie bufora historii

Pokazanie całego zestawu wydanych poleceń odbywa się za pomocą komendy: show history

show history

Aby całkowicie wyłączyć historię terminalu należy wydać polecenie: terminal no history natomiast by powrócić do domyślnej wartości dziesięciu pamiętanych pozycji użyj komendy: terminal no history size

Podczas wydawania kolejnych poleceń czasem są one przerywane komunikatami pojawiającymi się w linii wiersza a informujących o aktualnie zaistniałych zdarzeniach. Aby uniemożliwić wypisanie komunikatu możesz wydać polecenie: logging synchronous Konfigurację przełącznika prowadzimy poprzez interfejs konsolowy dlatego polecenie to zostało wydane w trybie konfiguracji interfejsu konsolowego.

logging synchronous

Nieraz przy wydawaniu polecenia popełnimy błąd, irytujące bywa czekanie na ponowną możliwość jego wprowadzenia. Jeśli przełącznik nie potrafi odnaleźć polecenia próbuje wprowadzony ciąg wyrazów dopasować do nazwy hosta zdalnego. Dlatego w tym celu wysyłane jest rozgłoszenie mające na celu odnalezienie serwera DNS i podejmowana jest próba rozwiązania nazwy. Proces ten może chwile potrwać a my przez ten czas tracimy możliwość komunikacji z switchem. Aby do takiej sytuacji nie dopuścić i zabronić rozwiązywania nazw za pomocą DNS wydaj polecenie: no ip domain lookup

no ip domain lookup

I na koniec jeszcze jeden bardzo przydatny trik. Bardzo często będziesz prowadził konfigurację różnych parametrów pracy przełącznika i aby sprawdzić ich efekt oraz upewnić się co do poprawności wprowadzonych komend będziesz wykorzystywał różne warianty polecenia: show Aby za każdym razem nie przechodzić do trybu uprzywilejowanego w którym to polecenie jest standardowo dostępne możesz wydać w dowolnym miejscu trybu konfiguracyjnego przełącznika polecenie show lecz musisz je poprzedzić słowem: do Poniżej mały przykład – zostaje wyłączony interfejs f0/1, efekt wydania komendy zostaje sprawdzony za pomocą polecenia: do show ip interface brief Sprawdzenie wykonujemy z trybu konfiguracji interfejsu.

do show ip interface brief - sprawdzenie efektu i poprawności

Jednym z najczęstszych poleceń jakie będziemy wykonywać są polecenia związane z konfiguracją poszczególnych portów przełącznika. Switche tych portów posiadają bardzo wiele a często konfigurację, którą będziemy prowadzić będzie obejmowała szerszą ich grupę. Aby nie wykonywać tych samych operacji konfiguracyjnych na każdym z interfejsów osobno, wprowadzono polecenia, które pozwalają na wybranie kilku portów – wprowadzane komendy będą stosowane do wybranej grupy portów.

Wybranie pojedynczego portu przełącznika realizujemy za pomocą polecenia: interface <nazwa_portu> Poniżej przykład przejścia do trybu konfiguracji interfejsu f0/1

wybranie pojedynczego portu przełącznika

Aby wybrać wiele interfejsów należy skorzystać z polecenia: interface range <nazwa_portu>, <nazwa_portu>, <itd.> Po zdefiniowaniu zakresu wszelkie polecenia będą stosowane do wybranych portów. Nazwy portów oddzielamy przecinkami i spacją. Poniżej przykład wybrania zakresu portów w skład, którego weszły trzy interfejsy: f0/1, f0/6 oraz f0/15.

wybranie zakresu portów

Jeżeli grupa portów będzie zakresem ciągłym możemy skorzystać z polecenia, w którym określamy pierwszy i ostatni interfejs: interface range <nazwa_portu_pierwszego>-<nazwa_portu_ostatniego> Poniżej przykład wybrania portów od f0/4 do f0/12.

interface range

Gdy do jakieś grupy portów odwołujemy się stale możemy zdefiniować makro z przyjazną dla nas nazwą – od tej pory konfiguracja portów będzie przebiegać za pomocą odwołania.

zdefiniowane makro

1 – w pierwszej kolejności za pomocą polecenia: define interface-range <nazwa_makra> <zakres_portów> definiujemy makro. Konfigurowany zakres obejmuje porty od f0/1 do f/06 oraz port f0/12 (pomiędzy zdefiniowanym zakresem ciągłym i pojedynczym portem są znaki: spacja, przecinek, spacja) natomiast nazwa makra to: pietro2.

2 – odwołanie się do zdefiniowanego makra. Po wywołaniu makra konfiguracja będzie prowadzona dla portów przypisanych do makra.

Poniżej przykład, w którym po przejściu do trybu konfiguracji interfejsu z użyciem makra zostaje wydane polecenia wyłączenia interfejsów: shutdown

polecenie wyłączenia interfejsów shutdown

Aby móc łatwo zidentyfikować przeznaczenie portu przełącznika do każdego możemy dodać krótki opis. Definicję komentarzy realizujemy za pomocą komendy: description <opis> Poniżej przedstawiono przykład dodania opisu do interfejsu f0/13

Definicja komentarzy - dodanie opisu do interfejsu

Informację na temat zdefiniowanego makro oraz opisu portu oczywiście znajdziemy po wywołaniu polecenia wyświetlającego konfigurację bieżącą przełącznika: show running-config.

konfiguracja bieżąca przełącznika show running-config

Jednym z najczęściej wydawanych poleceń jest: show interface <nazwa interfejsu>.

show interface

Po wywołaniu komendy zostaną wyświetlone informacje o stanie interfejsu, do najważniejszych należą:

1 – nazwa interfejsu oraz stan interfejsu, interfejs włączony i podłączony,

2 – adres MAC interfejsu,

3 – parametry interfejsu (w kolejności) : MTU, szerokość pasma [kb/s],  opóźnienie [mikrosekunda], niezawodność, obciążenie wysyłanie, obciążenie odbieranie,

4 – enkapsulacja ARPA, pętla zwrotna nie ustawiona,

5 – aktywność sygnalizowana co 10 sekund,

6 – ustawiony Full-duplex, prędkość 100Mb/s, nośnik 10/100BaseTX,

7 – czas przechowywania wpisu ARP 04:00:00.

Aktualną wersję oprogramowania przełącznika oraz informację na temat komponentów sprzętowych poznanym po wydaniu komendy: show version

show version - aktualna wersja

Konfiguracja początkowa przełącznika zostanie wyświetlona po wydaniu polecenia: show startup-config

konfiguracja początkowa przełącznika

Natomiast konfigurację bieżącą poznamy po użyciu komendy: show running-config

konfiguracja bieżąca

Aby wprowadzone ustawienia z konfiguracji bieżącej przenieść do konfiguracji startowej tak aby po restarcie przełącznika nie trzeba było go ponownie konfigurować za pomocą polecenia: copy running-config startup-config

copy running-config startup-config

Aby wyświetlić informację na temat plików zapisanych w pamięci flash należy użyć polecenia: show flash

show flash - informacje o pamięci podręcznej

Konfigurację urządzenia dodatkowo możemy zapisać na pamięci flash. Komenda: copy startup-config flash:backupS1 nakazuje wykonanie kopii konfiguracji startowej i zapisanie jej w pamięci flash w pliku backupS1.

kopia konfiguracji startowej - zapisanie jej w pamięci flash

Aby z wcześniej utworzonego pliku zapasowego konfiguracji przywrócić ustawienia posłuż się poleceniem: copy flash:backupS1 startup-config

przywrócenie ustawień z kopii zapasowej

Aby wykasować z pamięci flash niepotrzebne pliki należy wydać polecenie: delete flash:<nazwa_pliku> Poniżej przykład wykasowania pliku backupS1.

wykasowanie z pamięci flash niepotrzebnych plików

Pliki konfiguracyjne możemy również zapisać na hostach zewnętrznych, na których została uruchomiona usługa serwera TFTP oraz FTP. Aby zapis pliku konfiguracyjnego przełącznika mógł się powieść w pierwszej kolejności do jednego z interfejsów switcha należy przypisać adres IP. Gdy o tym zapomnimy nie będzie możliwości wykonania poniższych czynności. Próba zapisu na serwerze zewnętrznym zakończy się niepowodzeniem. Jak przypisać  adres IP do portu przełącznika? Odpowiedź na to pytanie znajdziesz kilka linijek niżej przy opisie zdalnego dostępu do urządzenia.

Profesjonalne usługi informatyczne dla firm. W swojej ofercie posiadamy zarządzanie serwerami, konfiguracja routerów, hosting www, szkolenia informatyczne oraz audyty bezpieczeństwa.

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

Na komputerze zostaje uruchomiony serwer TFTP, polecenie nakazujące wykonać kopię bieżącej konfiguracji przełącznika wraz z zapisem tych informacji na serwerze przedstawia się następująco: copy system:running-config tftp://<adres_serwera_TFTP> Na rysunku poniżej przykład wykonania tej operacji – zapis pliku konfiguracji bieżącej przełącznika S1 do pliku s1-config na serwerze TFTP o adresie IP 10.0.0.10

zapis pliku konfiguracji bieżącej przełącznika S1

Poniżej efekt wykonanej operacji po stronie serwera TFTP, jak widać proces zapisu konfiguracji urządzenia powiódł się a my możemy przeglądnąć informacje zawarte w pliku ustawień switcha.

proces zapisu konfiguracji urządzenia powiódł się

Aby skorzystać z protokołu FTP wydajemy polecenie: copy system:running-config ftp://<nazwa_użytkownika>:<hasło>@<adres_serwera_FTP> Na listeningu poniżej przykład skopiowania  konfiguracji bieżącej przełącznika S1 i zapis tych ustawień na zewnętrznym serwerze FTP o adresie 10.0.0.10 do pliku backupS1 z wykorzystaniem konta luk o ustawionym haśle cisco.

przykład skopiowania konfiguracji bieżącej przełącznika S1

Jak widać poniżej, po stronie serwera wydanie komendy spowodowało wykonanie kopii ustawień przełącznika i zapis tych ustawień do pliku backupS1.

kopia i zapis ustawień do pliku backupS1

O konieczności stosowania haseł celem zabezpieczenia się przed nieautoryzowanym dostępem do urządzenia chyba nie trzeba przypominać nikomu. W przełącznikach CISCO (zresztą również i w routerach) mamy dostępne kilka poziomów zabezpieczeń. Zacznijmy więc od zabezpieczenia możliwości wykonania połączenia poprzez interfejs konsoli. Aby ustalić hasło, które będzie trzeba podać po nawiązaniu połączenia z przełącznikiem należy przejść za pomocą polecenia: line console 0 do trybu konfiguracji linii konsolowej przełącznika. W tym trybie wydanie polecenia: password <hasło> a następnie login spowoduje włączenie trybu logowania.

zabezpieczenie możliwości wykonania połączenia poprzez interfejs konsoli

Po wykonaniu konfiguracji wykonujemy próbę połączenia z urządzeniem za pomocą portu konsolowego. Jak zostało zilustrowane poniżej dostęp do linii poleceń przełącznika jest możliwy po podaniu hasła.

próba połączenia z urządzeniem za pomocą portu konsolowego

Konfigurację ustawionego hasła możemy sprawdzić w konfiguracji urządzenia.

sprawdzenie konfiguracji

Po nawiązaniu połączenia za pomocą polecenia: exec-timeout <minuty> <sekundy> możemy określić czas automatycznego wylogowania (domyślnie 10 minut). W przypadku prowadzenia konfiguracji przełącznika aby konfiguracja ta nie została przerwana możemy wydać polecenie: exec-timeout 0 0 Wydanie polecenia spowoduje uniemożliwienie zamknięcia sesji poprzez ustawienie czasu na nieskończoność. Aby wrócić do ustawień domyślnych należy wydać polecenie: no exec-timeout

powrót do ustawień domyślnych

Aby podnieść poziom bezpieczeństwa możemy ustawić dodatkowe hasło pozwalające na dostęp do trybu uprzywilejowanego. Hasło ustalamy za pomocą polecenia: enable secret <hasło>

ustawienie dodatkowego hasła - dostęp do trybu uprzywilejowanego

Od teraz za każdym razem gdy wydamy polecenie: enable będziemy musieli podać ustalone w poprzednim kroku hasło.

switch - enable

Zdefiniowane hasła po wyświetleniu konfiguracji przełącznika są zapisane otwartym tekstem, każdy może je bez trudu odczytać. Aby hasło ukryć można wykorzystać parametr: secret – wydając polecenie: enable secret <hasło> spowoduje zaszyfrowanie hasła za pomocą algorytmu MD5. Niestety sposobu tego nie można wykorzystać do ukrycia hasła dostępu do linii poleceń.

zaszyfrowanie hasła za pomocą algorytmu MD5

Aby ukryć hasło dostępu do linii poleceń należy w trybie konfiguracji globalnej użyć polecenia: service password-encryption

service password-encryption

Po wydaniu komendy wszystkie hasła zapisane tekstem jawnym zostaną zastąpione ciągiem znaków, ich generowanie opiera się na algorytmie Vigenere (oznaczenie siódemka – 7 za słowem password). Algorytm ten jest bardzo prosty do złamania ale użycie tej metody ochroni nas przed odczytaniem hasła przez osobę postronną, stojącą za naszymi plecami (zawsze to coś).

algorytm Vigenere

Aby połączyć się z przełącznikiem zdalnie za pomocą protokołu Telnet (co z punktu widzenia security nie jest rozwiązaniem zalecanym) bądź SSH w pierwszej kolejności musimy ustalić adres IP, pod którym switch będzie dostępny w naszej sieci.

Aby zdefiniować adres IP w trybie konfiguracji globalnej wydajemy polecenie: interface vlan 1 Czemu takie polecenie? Wybacz czytelniku ale nie będą w tej chwili rozwijał tematu, gdyż VLAN-y to odręby wątek na następny wpis. Zdradzę tylko tyle, że domyślnie każdy interfejs przełącznika jest przypisany do VLAN-u pierwszego stąd komunikacja może być prowadzona pomiędzy wszystkimi urządzeniami, które do przełącznika podepniemy, lecz wcale tak być nie musi ponieważ poszczególne porty możemy pogrupować w odzielne domeny pomiędzy, którymi komunikacja nie będzie możliwa. Temat ten omówimy w kolejnym wpisie dotyczącym przełączników. Tak więc po przejściu do trybu konfiguracji interfejsu, interfejsowi vlan 1 przypisujemy adres IP. Adres IP ustawiamy za pomocą polecenia: ip address <adres_IP> <maska_sieci>. Po ustaleniu adresu interfejs należy włączyć – polecenie: no shutdown

no shutdown

Poprawność konfiguracji sprawdzimy wydając polecenie: show ip interface brief

show ip interface brief - sprawdzenie poprawności konfiguracji

Aby połączenie mogło dojść do skutku do linii wirtualnych odpowiedzialnych m.in. za komunikację Telnet musimy przypisać hasło. Jak widać poniżej dostęp do wszystkim linii VTY chroni hasło: cisco Hasło zostało ustawione za pomocą polecenia: line vty <linia_pierwsza> <linia_ostatnia> – wybór interfejsów, a następnie za pomocą komendy: password <hasło> ustalamy hasło. Nie zapominamy dodać polecenia: login, które informuje przełącznik, że hasło ma zostać sprawdzone podczas logowania.

przypisanie hasła

Po wykonaniu tych wszystkich poleceń komunikacja z przełącznikiem za pomocą protokołu Telnet będzie możliwa. Poniżej sesja zestawiona z wykorzystaniem komputera HostA.

nawiązanie połączenia zdalnego z przełącznikiem

Udało się nawiązać połączenie zdalne z przełącznikiem. Tę samą czynność powtórzmy lecz tym razem przy użyciu komputera HostB.

Połączenia nie nawiązano

Jak widać próba kończy się niepowodzeniem. Połączenia nie udało się nawiązać gdyż łączący się host pochodzi z innej sieci niż ta, w której znajduje się przełącznik. Aby przełącznik mógł komunikować się z hostami znajdującymi się w sieciach o odrębnej adresacji IP, podobnie jak na zwykłym komputerze do jego konfiguracji sieciowej należy dodać adres bramy domyślnej. Po dodaniu adresu bramy przełącznik będzie mógł prowadzić komunikację z hostami znajdującymi się poza jego własną siecią. Aby skonfigurować bramę należy użyć polecenia: ip default-gateway <adres_bramy>

konfiguracja bramy

Po skonfigurowaniu adresu bramy domyślnej nawiązanie połączenia z switchem powinno się zakończyć sukcesem.

nawiązanie połączenia sukces

Jak widać powyżej tak też się stało. Ponowna próba połączenia się z komputera HostB kończy się sukcesem.

Zamiast korzystać z przestarzałego już protokołu /blog/uslugi/telnet/ (choć prawdę mówiąc wygodnego i nadal będącego w użyciu) do zestawienia połączenia zdalnego z przełącznikiem możemy wykorzystać połączenie zestawione za pomocą bezpiecznego protokołu SSH. Konfigurację połączenia z wykorzystaniem protokołu SSH zaczynamy od ustalenia nazwy przełącznika – polecenie: hostname <nazwa> oraz od konfiguracji nazwy domeny – polecenie: ip domain-name <nazwa_domeny>

Konfiguracja połączenia z wykorzystaniem protokołu SSH

Kolejnym krokiem jest włączenie serwera SSH oraz wygenerowanie kluczy RSA, które będą potrzebne do zabezpieczenia zestawianego połączenia. Klucze generujemy za pomocą komendy: crypto key generate rsa Po wydaniu polecenia zostaniemy poproszeni o określenie rozmiarów generowanych kluczy. Wartość ta jest definiowana z przedziału od 360 do 2048 bitów. Im wyższa wartość klucza tym klucz jest bezpieczniejszy. Zaleca się aby minimalna wartość klucza wynosiła 1024 bitów.generowanie kluczy

Po procesie wygenerowania kluczy za pomocą poleceń: show ip ssh oraz show ssh możemy skontrolować stan serwera. Pierwsze polecenie pozwala na sprawdzenie ustawień serwera, drugie zaś jest wykorzystywane do sprawdzenia aktualnych połączeń, w których jest wykorzystywany protokół SSH.

kontrola stanu serwera

Dodatkowo za pomocą polecenia: ip ssh verion <numer_wersji> możemy wybrać wersję protokołu SSH jaka będzie używana. Zdefiniowanie wartości 1 spowoduje wybranie protokołu SSHv1 natomiast wybranie 2 protokołu SSHv2.

wybór wersji protokołu SSH

Polecenie: ip ssh time-out <wartość> pozwala na zdefiniowanie czasu potrzebnego na ustanowienie połączenia. Wartość ta może być wybrana z przedziału od 0 do 120 sekund, domyślna wartość to 120 sekund. Natomiast komenda: ip ssh authentication-retries pozwala nam na określenie liczby ponownych wydłużeń sesji ponad domyślne ustawione 10 minut. Przedział dozwolonych wartości jest określony od 0 do 5. Domyślna wartość to 3.

zdefiniowanie czasu

Wprowadzone opcje konfiguracyjne możemy zweryfikować za pomocą znanego już nam polecenia: show ip ssh

weryfikacja opcji konfiguracyjnych

Konfiguracja serwera SSH dobiegła końca lecz niestety, jeśli na tym etapie chcielibyśmy zestawić połączenie z przełącznikiem to operacja ta się nie powiedzie. Problemem jest typ użytych zabezpieczeń. Aby połączenie mogło dojść do skutku musimy utworzyć w lokalnej bazie przełącznika konto, za pomocą którego będziemy się logowali, bądź możemy do tego celu użyć modelu AAA. Poniżej przykład skorzystania z lokalnej bazy kont zapisanej w pamięci przełącznika jeżeli będziesz chciał skorzystać z funkcji modelu AAA odsyłam do artykułu: https://www.bhpex.pl/blog/informatyka/dostep-zdalny-oraz-prawa-uzytkownika-w-routerach-cisco/ gdyż w tym wpisie zawarłem informacje opisujące użycie tej metody. Wpis ten odnosi się do routerów, ale z powodzeniem można go zastosować również do konfiguracji przełącznika.

Za pomocą polecenia: username <nazwa_konta> password <hasło> następuje utworzenie konta. Aby logowanie było możliwe dodatkowo w konfiguracji interfejsów wirtualnych linii musimy wydać polecenie: login local, które poinformuje Switch, że do weryfikacji użytkownika ma zostać użyta lokalna baza użytkowników. Zostało utworzone konto: jankow z hasłem: cisco

utworzenie konta i logowanie

Po wydaniu wszystkich przedstawionych powyżej poleceń możemy sprawdzić czy połączenie działa. Po uruchomieniu programu PuTTY i podaniu niezbędnych informacji możemy cieszyć się z nawiązania bezpiecznego połączenia (pierwsza próba wymaga zatwierdzenia wcześniej wygenerowanego klucza).

putty - sprawdzenie połączenia

Po zestawieniu połączenia, nasz przełącznik za pomocą protokołu SSH możemy konfigurować zdalnie.

zdalna konfiguracja

Po wydaniu polecenia: show ssh możemy potwierdzić fakt zdalnego połączenia SSH.

show ssh

Aby na przełączniku wymusić realizację tylko połączeń z wykorzystaniem protokołu SSH w trybie konfiguracji linii vty wydaj polecenie: transport input ssh

transport input ssh

Po wydaniu polecenia wszystkie połączenia zdalne korzystające z innych protokołów niż SSH zostaną zablokowane. Poniżej przykład wykonania połączenia Telnet jak widać próba zestawienia połączenia kończy się niepowodzeniem.

połączenie nie powiodło się

Dostęp do switcha możemy również realizować poprzez interfejs WWW z poziomu przeglądarki internetowej. Aby przeprowadzić taką konfigurację w trybie konfiguracji globalnej należy wydać następujące polecenia: ip http authentication enable oraz ip http server

ip http server

Po wydaniu poleceń konfiguracja przełącznika będzie możliwa z wykorzystaniem protokołu HTTP. Do uwierzytelnienia zostało wykorzystane te samo konto co przy połączeniu SSH.

konfiguracja przełącznika z wykorzystaniem protokołu HTTP

Przełączniki aby mogły sprawnie przekazywać ramki pomiędzy swoimi portami zostały wyposażone w tablicę adresów MAC (w literaturze można również znaleźć określenie: tablica CAM), w której jest przechowywana informacja o powiązaniu adresu MAC z danym portem przełącznika oraz siecią VLAN. Proces uczenia się adresów MAC, które są dostępne pod wskazanym portem następuje podczas przekazywania ruchu sieciowego a mówiąc bardziej dokładnie w procesie analizy źródłowych adresów MAC. W sytuacji, w której przełącznik otrzymuje ramkę z nieznanym docelowym adresem MAC wysyła rozgłoszenie na wszystkich swoich portach prócz portu z którego przyszła ramka celem odnalezienia docelowego adresu. Po odszukaniu adresu MAC jest on dołączany do tablicy adresów.

tablica zarejestrowanych adresów MAC

Aby przejrzeć tablicę zarejestrowanych adresów MAC należy posłużyć się poleceniem: show mac address-table

Adresy znajdujące się w tablicy MAC nie muszą być pozyskiwane tylko w sposób dynamiczny można dany wpis dokonać statycznie (ręcznie). Aby wykonać wpis statyczny, który zostanie zapisany w tablicy adresów MAC należy posłużyć się poleceniem: mac-address-table static <adres_MAC> vlan <identyfikator_sieci_VLAN> interface <port_przełącznika> Adres urządzenia, którego adres MAC ma być umieszczony w tablicy podajemy w potrójnej notacji heksadecymalnej z kropkami.

wpis statyczny

Po ponownym wyświetleniu zawartości tablicy MAC, dokonany wpis zostanie odnotowany (w polu Type powinna znaleźć się informacja STATIC).

ponowne wyświetlenie zawartości tablicy MAC

Polecenie: show mac address-table posiada kilka przełączników za pomocą, których możemy zdefiniować dodatkowe parametry tak aby przefiltrować tablice pod kątem interesujących nas informacji. Użycie przełączników zawęża nam otrzymane wyniki co jest szczególne istotne gdyż tablica adresów MAC może posiadać kilkaset wpisów.

Aby wyświetlić wpisy statyczne użyj polecenia: show mac address-table static natomiast jeśli interesują cię tylko wpisy dokonane dynamicznie: show mac address-table dynamic

wyświetlenie wpisów statycznych i dynamicznych

Aby poznać adresy MAC skojarzone z danym interfejsem posłuż się komendą: show mac address-table interface <port_przełącznika>

adresy MAC skojarzone z danym interfejsem

Aby zaś poznać adresy MAC powiązane z danym VLAN-em wydaj polecenie: show mac address-table vlan <identyfikator_sieci_VLAN>

Można również odszukać (jeśli znamy) konkretny adres MAC: show mac address-table address <adres_MAC>

konkretny adres MAC

Natomiast aby zobaczyć całkowity rozmiar tablicy MAC (wraz z ilością wolnego miejsca) posłuż się poleceniem: show mac address-table count

całkowity rozmiar tablicy MAC

Aby w tablicy adresów MAC panował porządek, nieaktywne adresy MAC urządzeń zostają z niej automatycznie usuwane. Domyślny czas usunięcia nieaktywnego urządzenia wynosi 300 sekund. Ustawienie to można zmienić za pomocą polecenia: mac address-table aging-time <czas_sekundy>

mac address-table aging-time

Czas usunięcia nieaktywnych rekordów tablicy MAC można sprawdzić za pomocą komendy: show mac address-table aging

Gdy zaistnieje taka potrzeba tablicę adresów MAC możemy wyczyścić ręcznie za pomocą polecenia: clear mac address-table dynamic

 

 

Jeśli chcesz usunąć wpisy dotyczące konkretnego adresu MAC użyj przełącznika: address <adres_MAC>, konkretnego interfejsu: interface <port_przełącznika> zaś z określonego VLAN-u: vlan <identyfikator_sieci_VLAN>

Jednym z parametrów pracy przełącznika a raczej jego interfejsów na, który również mamy wpływ jest określenie szybkości działania danego portu przełącznika. Porty FastEthernet mogą pracować  z szybkością 10 bądź 100 Mb/s. Dodatkowa opcja: auto, włącza tryb auto-negocjacji. Opcja auto jest ustawieniem domyślnym. Natomiast porty GigabitEthernet mają możliwość ustawienia szybkości portu na 10, 100 lub 1000 Mb/s Oczywiście opcja auto jest również dostępna.

Poniżej przykład ustawienia interfejsu f0/1 switcha S1 na prędkość 10 Mb/s Zmianę szybkość łącza realizujemy za pomocą polecenia: speed <prędkość> Polecenie oczywiście wydajemy w trybie konfiguracji interfejsu.

Zmiana szybkości łącza

Ustawienie portu możemy sprawdzić poprzez wydanie komendy: show interfaces f0/1

ustawienia interfejsu f01 switcha S1

Opcją, która również pośrednio wpływa na szybkość ustanowionego połączenia pomiędzy przełącznikiem a np. hostem jest opcja trybu łącza. Oznacza to, że port może pracować w trybie pełnego dupleksu bądź pół-dupleksu. Dupleks oznacza, że port może jednocześnie dane odbierać i wysyłać natomiast pół-dupleks ogranicza interfejs do jednej z tych operacji. Oznacza to, że interfejs pracujący w trybie pół-dupleksu albo dane wysyła albo dane odbiera. Tryb ten można porównać do pracy CB-Radia w którym to jednoczesne mówienie i słuchanie jest niemożliwe.

Na zrzucie poniżej przedstawiłem zmianę pracy interfejsu f0/1 przełącznika S1 do trybu pół-dupleksu. Zmianę trybu realizujemy za pomocą poleceń: duplex half (tryb pół-dupleksu) bądź dublex full (tryb pełny dupleks). Polecenie to, również jest wydawane w trybie konfiguracji interfejsu.

duplex half

I tak jak poprzednio efekt wydanego polecenia możemy sprawdzić po wywołaniu ustawień danego interfejsu.

wywołanie ustawień danego interfejsu

Przy konfiguracji trybu interfejsu jest również dostępna opcja: auto która pozwala nam na wybranie trybu automatycznego. Tryb ten jest dostępny jedynie na portach typu FastEthernet bądź GigabitEthernet. Negocjacja rozpoczyna się od próby ustanowienia trybu pełnego dupleksu w przypadku niepowodzenia port jest ustawiany na tryb pół-dupleksu.

Przełączniki CISCO domyślnie są wyposażone w mechanizmy monitorujące stan interfejsu w przypadku wystąpienia błędu, port przechodzi w stan tzw. errdisable i jest blokowany. Jako administratorzy mamy wpływ na określenie sytuacji, w których porty powinny być blokowane. Aby wyświetlić wszystkie możliwe powody blokady portu wykorzystaj polecenie: errdisable detect cause ?

możliwe powody blokady portu

Możliwych błędów, po których port zostanie przełączony w stan errdisable może być wiele, poniżej lista (choć niekompletna, bo wszystko zależy od modelu przełącznika jakim dysponujemy oraz wersji IOS) niektórych z nich:

  • all – każdy rodzaj błędu,
  • arp-inspection – dynamiczne sprawdzanie ARP,
  • bpduguard –  pojawienie się BPDU na porcie skonfigurowanym jako PortFast,
  • dhcp-rate-limitDHCP snooping,
  • dtp-flap – zmiana typu trunkingu,
  • gbic-invalid – problem z modułem GBIC bądź SFP,
  • inline-power – problemy natury elektrycznej najczęściej związane PoE,
  • l2ptguard – tunelowanie z wykorzystaniem L2 protocol tunneling
  • link-flap – „migotanie łącza” interfejs raz jest w stanie up by po chwili przejść do stanu down,
  • loopback – pętla zwrotna,
  • pagp-flap – kłopoty z EtherChannel,
  • security-violation – bezpieczeństwo portu,
  • small-frame – pojawienie się pakietów VLAN-tagged o nieprawidłowej wielkości (67 bajtów bądź mniej).

Aby zablokować wystąpienie błędu należy użyć polecenia: errdisable detect cause <powód_błędu> z przedrostkiem no.

blokada wystąpienia błędu

Domyślne ustawienia przełącznika powodują, że aby port powrócił do normalnego stanu działania trzeba w trybie konfiguracji danego interfejsu wydać komendę wyłączającą dany port – shutdown a następnie komendę włączającą interfejs – no shutdown.

Aby zmusić przełącznik do automatycznego reaktywowania portu możemy skorzystać z polecenia: errdisable recovery cause <powód_błędu>

automatyczne reaktywowanie portu

Domyślnie powrót portu do normalnego działania został ustawiony na 300 sekund. Aby zmienić czas automatycznej reaktywacji interfejsu użyj komendy: errdisable recovery interval <czas_sekundy> Czas powrotu mieści się w przedziale od 30 do 86400 sekund.

Aby zmusić przełącznik do powrotu wszystkich swoich portów do stanu normalnego działania po czasie 30 minut od wykrycia obojętnie jakiego błędu użyj następujących poleceń:

powrót do stanu normalnej pracy interfejsu przełącznika

Powrót do stanu normalnej pracy interfejsu przełącznika konfigurujemy w trybie konfiguracji globalnej oznacza to, że wprowadzone ustawienia dotyczą wszystkich portów switcha a nie tych wybranych.

Aby móc szybko wykryć stan w jakim znajduje się dany port przełącznika użyj polecenia: show interface status

show interface status

Aby znaleźć tylko te porty, których stan został ustawiony na errdisable wpisz: show interface status err-disable

Przełączniki firmy CISCO zostały wyposażone w mechanizm, który pozwala nam na zabezpieczenie portów przełącznika przed nie autoryzowanym ruchem sieciowym. W skrócie chodzi o to, że możemy zdefiniować, które urządzenia mogą prowadzić komunikację z przełącznikiem. Działanie tego mechanizmu opiera się na adresach MAC. Możliwa jest definicja adresów MAC hostów mających prawo komunikacji z przełącznikiem wszystkie inne niezdefiniowane hosty takiego prawa nie będą miały. Mechanizm ten w 100% nie zabezpiecza naszej sieci przeciw intruzom ale na pewno podnosi poprzeczkę wyżej w kwestiach związanych z bezpieczeństwem. Zabezpieczenie te nosi nazwę Port Security.

Aby sprawdzić czy Port Security został włączony i czy jakieś interfejsy przełącznika za pomocą tego mechanizmu są chronione wydaj polecenie: show port-security. Jak widać poniżej, żaden interfejs przełącznika nie jest chroniony.

Zabezpieczenie Port Security

Tak więc spróbujmy zmienić ten stan i zabezpieczyć port interfejsu podłączony do hosta HostA. Funkcję ochrony portu włączamy w konfiguracji konkretnego interfejsu. HostA jest podłączony do interfejsu f0/6 tak więc konfiguracja będzie obejmować ten port. Aby włączyć zabezpieczenie należy wydać polecenie: switchport port-security Po wydaniu polecenia jak można zauważyć na poniższym listingu wydanie komendy kończy się niepowodzeniem: Command rejected: FastEthernet0/6 is a dynamic port.

switchport port-security

Włączenie funkcji Port Security jest niemożliwe ponieważ interfejs przełącznika jest skonfigurowany do automatycznej konfiguracji interfejsu. Stan tego ustawienia określimy po wydaniu polecenia: show interfaces <nazwa_interfejsu> switchport W sekcji Administrative Mode widnieje opis: dynamic auto oznaczający automatyczną konfigurację interfejsu przy użyciu protokołu DTP (ang. Discovery Trunk Protocol). Zadaniem protokołu jest wykrycie jakie urządzenie jest podłączone do portu i na podstawie tych informacji ustawiany jest odpowiedni typ pracy portu. W przypadku podłączenie komputera łącze zostanie ustawione jako access natomiast jeśli zostanie podłączony przełącznik z zestawionym łączem trunk przełącznik zestawi połączenie typu trunk. Łącze trunk jest typem połączenia pomiędzy przełącznikami za pomocą, którego jest przesyłany ruch sieciowy należący do różnych VLAN-ów. Na razie zdradzę tylko tyle, gdyż jak już wcześniej wspomniałem do tematu powrócę przy okazji omawiania konfiguracji sieci VLAN. W naszym przykładzie interfejs pracuje w trybie access (sekcja: Operational Mode)

acces and trunk

Wracając do Port Security, aby więc móc włączyć ten mechanizm musimy interfejs w sposób ręczny przestawić do odpowiedniego typu pracy. Do interfejsu f0/6 przełącznika jest podłączony host tak więc typ pracy interfejsu powinien być ustawiony na tryb access. Aby przełączyć port do tego trybu pracy w linii konfiguracji interfejsu wydaj polecenie: switchport mode access (pkt. 1) po wykonaniu tej komendy możemy w końcu włączyć ochronę portu. Jak widać poniżej po wydaniu komendy: switchport port-security zostaje ona zaakceptowana.

włączenie ochrony portu

Ustawiony tryb pracy sprawdźmy za pomocą już znanego nam polecenia: show interfaces f0/6 switchport Jak widzimy typ pracy portu zostaje tym razem ustawiony na: static access

static access - tryb pracy portu

Po skonfigurowaniu pierwszego interfejsu możemy sprawdzić stan mechanizmu Port Security. Po wydaniu polecenia: show port-security widzimy stan skonfigurowanych portów. Jak widać na liście pojawił się interfejs f0/6.

sprawdzenie stanu mechanizmu Portu Security

Informacje podawane przez polecenie są zgrupowane w tabeli:

  • MaxSecureAddr – maksymalna liczba adresów, które mogą połączyć się z portem przełącznika (domyślnie po włączeniu 1),
  • CurrentAddr – liczba hostów prowadzących komunikację,
  • SecurityViolation – liczba zdarzeń powodujących naruszenie bezpieczeństwa,
  • Security Action – sposób zareagowania przełącznika w przypadku wykrycia naruszenia zasad bezpieczeństwa (domyślnie skonfigurowane wyłączenie portu – Shutdown).

Po analizie powyższego listingu uważny obserwator dostrzeże, że już na wstępie po włączeniu funkcji Port Security wystąpił problem z naruszeniem zasad bezpieczeństwa (kolumna SecurityViolation) Sprawdźmy zatem stan portów – polecenie: show interfaces status Po wydaniu polecenia jak możemy zauważyć, przy statusie portu f0/6 pojawił się opis err-disabled informujący nas o wystąpieniu błędu.

sprawdzenie stanu portów - show interfaces status

Wydanie dodatkowego polecenia: show interfaces status err-disabled poinformuje nas o typie błędu. Jak widzimy problem błędu dotyczy naruszenia zasad bezpieczeństwa.

typ błędu

Wyświetlenie stanu interfejsów za pomocą komendy: show ip interfaces brief informuje nas o wyłączeniu interfejsu f0/6.

wyświetlenie stanu interfejsów

Dodatkowo stan ten możemy potwierdzić wydając polecenie: show interfaces f0/6

show interfaces f/06

Wyłączenie interfejsu skutkuje brakiem komunikacji pomiędzy komputerem HostaA a przełącznikiem.

Włączenie funkcji Port Security nie wystarczy by dokonać zabezpieczenia portów przełącznika. W naszej przeprowadzonej konfiguracji (jak część z was się pewnie domyśla) zabrakło określenia informacji o adresie MAC hosta, który do portu f0/6 jest podłączony i ma prawo wykonać połączenie. Włączenie funkcji spowodowało automatyczne zadziałanie domyślnych ustawień powodujących wyłączenie portu.

Spróbujmy więc naprawić ten stan rzeczy. Aby nie następowało naruszenie zasad w trybie konfiguracji portu musimy określić adres MAC komputera podłączonego do interfejsu f0/6 przełącznika.  Adres ten definiujemy za pomocą polecenia: switchport port-security mac-address <adres_MAC> Aby wyzerować liczniki mechanizmu Port Security interfejs dodatkowo musimy wyłączyć i włączyć.

określenie adresu MAC komputera

Po zdefiniowaniu adresu MAC hosta HostA komunikacja z przełącznikiem została przywrócona.

Po wyświetleniu stanu funkcji Port Security nie widzimy już naruszeń zasad bezpieczeństwa a komunikacja odbywa się poprawnie.

stan funkcji Port Security

Sposób ręcznego przypisywania adresów MAC, które mogą uzyskać połączenie z przełącznikiem jest procesem dość kłopotliwym i łatwo podczas tej operacji o błąd. Dlatego mechanizm Port Security wyposażono w funkcję automatycznego uczenia się adresów MAC hostów, które do przełącznika są podłączane (tzw. „lepkie” adresy MAC). Spróbujmy więc przetestować jej działanie w praktyce.

Aby adres MAC automatycznie dopisać do polecenia konfigurującego mechanizm zabezpieczeń portów przełącznika należy w poleceniu dodać parametr: sticky. Zastosowanie tego parametru spowoduje, że pierwszy wykryty adres MAC, który będzie chciał skorzystać z interfejsu przełącznika na którym komenda sticky została wydana, zostanie dopisany do polecenia.

Poniżej przykład wykorzystania tej funkcji na przykładzie interfejsu f0/6

parametr sticky

Po włączeniu mechanizmu Port Security (jak na rysunku poniżej) jeszcze nic się nie wydarzyło ponieważ jeszcze żaden host do portu f0/6 nie został podłączony.

żaden host nie został podłączony do portu f06

Dodatkowo stan zabezpieczeń portu w kontekście funkcji Port Security możemy sprawdzić za pomocą polecenia: show port-security interface <nazwa_interfejsu>

stan zabezpieczeń portu

Polecenie te poinformuje nas o:

1 – stan mechanizmu Port Security,

2 – status portu  Secure-down oznacza brak połączenia z interfejsem (brak ruchu sieciowego na interfejsie). Przy wykonaniu pierwszego podłączenia status powinien zmienić się na Seciure-up.

3 – co stanie się po naruszeniu zasad bezpieczeństwa – w przykładzie Shutdown czyli wyłączenie interfejsu,

4 – maksymalna liczba adresów MAC mogących korzystać z interfejsu,

5 – łączna liczba adresów MAC korzystająca z interfejsu,

6 – liczba skonfigurowanych statycznych adresów MAC,

7 – liczba adresów MAC skonfigurowanych przy użyciu parametru sticky,

8 – adres MAC interfejsu, który przesłał pakiet jako ostatni,

9 – liczba naruszeń zasad.

Mechanizm Port Security został skonfigurowany sprawdźmy co stanie się w momencie podłączenia hosta.

Sprawdzenie stanu Port Security za pomocą polecenia: show port-security informuje nas że wszystko jest w porządku. Jak widać poniżej naruszenie zasad bezpieczeństwa nie nastąpiło.

show port-security

Upewnijmy się i sprawdźmy jeszcze jak to wygląda w kontekście interfejsu. Jak można przekonać się po zrzucie poniżej Port Security działa a interfejs ma status Secure-up.

interfejs ma status Secure-up

Aby się całkowicie upewnić sprawdźmy połączenie z komputerem HostB. Wszystko działa.

sprawdzenie połączenie z komputerem HostB

Mechanizm Port Security posiada dodatkowe parametry, które możemy konfigurować. Jednym z nich jest ustalenie liczby maksymalnych adresów MAC mogących korzystać z portu przełącznika. Liczbę tych adresów ustalamy za pomocą polecenia: switchport port-security maximum <maksymalna_liczba_hostów> Zmieńmy domyślną liczbę hostów z wartości 1 na 2 i sprawdźmy co stanie się jak podłączymy kolejnego hosta.

zmiana domyślnej liczby hostów

Sprawdzenie stanu zabezpieczeń portu przekonuje nas, że do interfejsu f0/6 maksymalnie można podłączyć dwa hosty natomiast aktualnie jest podłączony jeden.

sprawdzenie stanu zabezpieczeń portu

HostC został podłączony.

podłączenie HOST C

Podłączenie hosta powoduje zmianę parametrów mechanizmu Port Security. Jak widzimy powyżej liczba aktywnych interfejsów wynosi dwa. Zasady bezpieczeństwa nie zostały naruszone (port nie został zamknięty) gdyż maksymalna ilość hostów jakie mogą wykorzystywać ten interfejs to dwa.

Co nie zostało jeszcze powiedziane to to, że adresy poznane dzięki zastosowaniu parametru: sticky zostają automatycznie dopisane do konfiguracji bieżącej przełącznika. Poniżej zrzut konfiguracji przełącznika (fragment).

zrzut konfiguracji przełącznika

Opcję na jaką jeszcze mamy wpływ podczas konfiguracji mechanizmu Port Security jest tryb w jaki ma przejść interfejs gdy zostanie naruszone bezpieczeństwo interfejsu. Oprócz domyślnej opcji zamknięcia portu do dyspozycji mamy jeszcze dwa rozwiązania:

  • protect – ustawienie tej opcji w przypadku naruszenia bezpieczeństwa spowoduje odrzucenie pakietów od hostów z nieskonfigurowanymi adresami MAC o fakcie tym nie jesteśmy informowani,
  • restrict – tak jak powyżej tylko gdy nastąpi zdarzenie informacja o nim zostanie nam przekazana.

Aby skonfigurować stan jaki ma nastąpić po naruszeniu zasad bezpieczeństwa należy skorzystać z polecenia: switchport port-security violation <stan>

switchport port-security violation

Spróbujmy zmienić domyślną opcję shutdown na restrict. Następnie podłączmy kolejnego hosta i sprawdźmy co nastąpi. Domyślna opcja zamknięcia portu zostaje zmieniona na tryb restrict.

tryb restrict

Zmianę konfiguracji możemy zaobserwować po skorzystaniu z poleceń show.

zmiana konfiguracji - show

Podłączmy trzeciego hosta. Jak widać poniżej sprawdzenie stanu funkcji Port Security w kontekście interfejsu f0/6 uwidacznia nam naruszenie zasad bezpieczeństwa.

trzeci host - Port Security

Ruch sieciowy został dla tego hosta zablokowany. Adres MAC trzeciego podłączonego komputera wyczerpuje maksymalną ilość zdefiniowanych adresów mogących korzystać z interfejsu f0/6.

Ruch sieciowy

Hosty, których adresy MAC zostały poprawnie skonfigurowane nadal mogą prowadzić komunikację.

komunikacja hostów

Na wstępie opisu mechanizmu Port Security wspomniałem, że mechanizm ten w 100% nie ochroni naszej sieci. Powróćmy do naszej sytuacji, w której to dwa hosty mają prawo połączenia z przełącznikiem natomiast trzeci już nie. Pytanie jest takie – Czy można obejść to zabezpieczenie tak aby trzeci host jednak uzyskał dostęp do sieci?

Hosty, które mogą komunikować się z przełącznikiem mają następujące adresy MAC (polecenie: show running-config):

show running-config

Natomiast zablokowany host:

zablokowany host

Jak już wiesz mechanizm Port Security opiera swoją zasadę działania na adresacji fizycznej podłączanych urządzeń. Aby ominąć to zabezpieczenie trzeba więc zmienić adres MAC hosta chcącego uzyskać dostęp. To co również zaznaczyłem niektóre karty sieciowe pozwalają nam na taką zmianę. Zmianę lokalną adresu MAC dokonujemy w ustawieniach karty sieciowej. Spróbujmy więc zablokowany adres MAC 0001.96D2.C72D zamienić na 000C.2979.7004

Aby móc zmienić adres MAC w systemie Windows w oknie Połączenia sieciowe zaznaczamy dane połączenie i po kliknięciu PPM wybieramy Właściwości. W nowo otwartym oknie na karcie Sieć klikamy na Konfiguruj.

zmiana adresu MAC w systemie Windows

Na karcie Zaawansowane (tak jest w moim przypadku, choć tu należy mieć na uwadze, że w przypadku różnych modeli kart sieciowych ustawienia te mogą być zgrupowane na innych kartach i mogą mieć różną nazwę) odszukujemy ustawienie Locally Administered Address i w sekcji Wartość wpisujemy adres MAC (w naszym przypadku 000C29797004 gdyż ten adres może komunikować się z przełącznikiem).

Locally Administered Address

Po zmianie adresu lokalnego MAC komunikacja jest możliwa – poniżej przykład wykonania testu ping z adresem bramy (interfejsu routera). Pierwszy test przed zmianą adresu MAC i tu próba oczywiście nieudana drugi test już po zmianie adresu MAC i jak widać test kończy się powodzeniem. Udało nam się ominąć zabezpieczenie Port Security.

test ping

W przypadku systemu Linux korzystamy z narzędzia macchanger. Składnia polecenia jest następująca: macchanger –m <nowy_adres_MAC> <interfejs>. Po wydaniu polecenia bieżący adres MAC zostaje zastąpiony „sfałszowanym”.

W przypadku niemożności wydania polecenia, odpowiedni pakiet trzeba doinstalować: sudo apt-get install macchanger

doinstalowanie odpowiedniego pakietu

Po instalacji oprogramowania zmianę adresu MAC interfejsu eth0 wykonujemy za pomocą polecenia: macchanger -m 00:0C:29:79:70:04 eth0 Jak widać na rysunku poniżej udało się nam zmienić adres MAC. Po tej zmianie host uzyskuje łączność z przełącznikiem.

zmiana adresu MAC interfejsu eth0

Innym rozwiązaniem jakim możemy posłużyć się w celu oszukania Port Security jest użycie routera, który ma funkcję klonowania adresu MAC. W ustawieniach routera odszukujemy opcję MAC Address Clone (bądź podobną, bo wszystko zależy od modelu urządzenia) i wpisujemy dozwolony adres MAC (kolejno, na przykładzie routera marki Linksys, Asus oraz TP-Link).

funkcja klonowania adresu MAC

funkcja klonowania adresu MAC asus

funkcja klonowania adresu MAC tp-link

Od tej pory gdy podłączymy do routera dowolny host, powinien on prowadzić swobodną komunikację. Choć przy wyborze tego typu rozwiązania mogą wystąpić problemy z routingiem pakietów ale to już zależne jest od topologii sieci i zastosowanych zabezpieczeń.

I tu wpis ten chciałbym zakończyć. Myślę, że przedstawione przykłady wyczerpują temat podstawowej konfiguracji przełączników CISCO i że art ten stanowi dobry start do dalszych rozważań.

Komentarze (0)

Dodaj komentarz