Bezpieczeństwo Sieci – Port Security [konfiguracja]
Problematyka
Problemem jakim dziś się zajmiemy jest nieautoryzowany dostęp do sieci przewodowej. To poważny problem każdej infrastruktury sieciowej i spore wyzwanie dla administratora. Jest wiele sposobów zabezpieczenia sieci. Jednym z nich jest usługa Port Security na przełącznikach sieciowych.
Bezpieczeństwo sieci to bardzo ważny aspekt w pracy każdego administratora sieci. Jednak ważne jest aby zachować równowagę i rozwagę w zabezpieczaniu sieci, gdyż ta granica jest bardzo cienka i można narobić więcej szkód i dodatkowej pracy. Weźmy na przykład taką sytuację: jeżeli administrator sieci zaniecha obowiązku używania silnych haseł dostępu do systemu lub ich zmiana nie będzie w określonym odstępie czasu dokonywana, to pewne jest że kłopoty pojawią się szybko. Jednakże, gdy administrator wprowadzi dość restrykcyjne kroki bezpieczeństwa, które np. będą wymagały hasła minimum 20 znakowego z minimum dwoma specjalnymi znakami i na dodatek zmiana jego będzie dokonywana co 3 tygodnie, to pewne jest, że użytkownicy będą swoje hasła zapisywali, aby ich nie zapomnieć,co może spowodować, że hasło dostanie się w niepowołane ręce.
Jedną z metod bezpieczeństwa jest technologia Port Security. Działa ona z wykorzystaniem warstwy 2. Nie jest to technologia jedyna lecz powinna być wdrożona jako jeden z elementów bezpieczeństwa w każdej sieci. Technologia ta zapobiega przed nieuprawnionym podłączeniem urządzenia do sieci.
Port Security umożliwia zdefiniowanie adresów MAC , które mogą komunikować się na danym porcie na switchu. W skrócie wygląda to tak, administrator przypisuje do danego portu urządzenie, które będzie się komunikować w jego sieci z konkretnym adresem MAC, to w przypadku podłączenia do tego portu innego urządzenia z innym adresem MAC wywoła alarm lub zablokowany zostanie dany port w zależności od ustawień jakie wybierze administrator. To rozwiązanie nie jest jednak w 100% idealne, gdyż wystarczy podmienić adres MAC karty sieciowej na ten, który został przez administratora zadeklarowany w konfiguracji i będzie można się dostać do sieci, ale to temat na inny artykuł.
Jeżeli interesuje Cię ten temat w formie odcinka video – kliknij 🙂
Wstęp

Powyższy rysunek przedstawia przykładowy schemat sieci na podstawie, którego będziemy pokazana konfiguracja Port Security. Po skonfigurowaniu usługi port security, podłączymy dla sprawdzenia obcy komputer do sieci i zobaczymy czy usługa zadziała i wyśle alert do administratora.
Na początku należy sprawdzić czy na przełączniku jest skonfigurowany port security. W tym celu wchodzimy na Switch_0 i w konsoli wydajemy polecenie show port-security.
Switch#show port-security
Brak wyświetlonych informacji oznacza, że Port Security jest wyłączony. Konfiguracja zachodzi na konkretnym porcie na switchu, który to ma być zabezpieczony. W naszym przypadku na początku będzie to port FastEthernet 0/2. Ustawiamy się na tym porcie i wydajemy polecenie switchport port-security.
Switch(config)#interface fastEthernet 0/2 Switch(config-if)#switchport port-security Command rejected: FastEthernet0/2 is a dynamic port.
Po wykonaniu poleceń otrzymujemy informację o błędzie. Ten komunikat dotyczy pewnej funkcjonalności interfejsów na switchu. A mianowicie, jeżeli parametr konfiguracji wybranego interfejsu jest ustawiony na switchport mode dynamic desirable, to wtedy na takim porcie nie można uruchomić Port Security. Musimy ręcznie zmienić parametr na porcie na access lub trunk.
Przejdźmy do konfiguracji Port Security. Przyjmuje się taką zasadę, że jeżeli do przełącznika podłączamy urządzenie końcowe, np. komputer, to powinniśmy zmienić ustawienie interfejsu na switchu na tryb access, czyli dostępowy. Natomiast jeżeli podłączamy kolejny przełącznik wtedy powinniśmy ustawić tryb interfejsu na trunk. Poniższy listing obrazuje ustawienie i uruchomienie Port Security na naszym interfejsie do obu PC-tów, tj. FA0/2 i FA0/3 oraz do Switcha 1, do którego ustawimy trunk.
Switch(config)#interface fastethernet0/2 Switch(config-if)#switchport mode access Switch(config-if)#switchport port-security Switch(config)#interface fastethernet0/3 Switch(config-if)#switchport mode access Switch(config-if)#switchport port-security Switch(config)#interface fastethernet0/1 Switch(config-if)#switchport mode trunk Switch(config-if)#switchport port-security
Po tych krokach na trzech interfejsach został uruchomiony Port Security. Lecz należy pamiętać, że bez dodatkowej konfiguracji nic się nie stanie. Został on po prostu uruchomiony bez żadnej konfiguracji. Teraz należy dostosować to zabezpieczenie do naszych potrzeb. Po wydaniu polecenia switchport port-security ? Zobaczymy możliwe opcje konfiguracji.
Switch(config-if)#switchport port-security ? aging Port-security aging commands mac-address Secure mac address maximum Max secure addresses violation Security violation mode
Zacznijmy omawianie od opcji mac-address. Po wydaniu polecenia switchport port-security mac-address ? Poznamy kolejne opcje jakie możemy użyć.
Switch(config-if)#switchport port-security mac-address ? H.H.H 48 bit mac address sticky Configure dynamic secure addresses as sticky
Ta opcja pozwala sprawdzić jaki adres MAC zarejestrowany na danym interfejsie będzie dopuszczony do sieci. Możemy użyć opcji pierwszej, czyli wpisania konkretnego adresu MAC do danego interfejsu. Wtedy to urządzenie o tym adresie po podłączeniu do sieci będzie mogło się komunikować. Lecz możemy wybrać druga opcję sticky, czyli po podłączeniu pierwszego urządzenia do portu w switchu na tym porcie zostanie odczytany adres MAC urządzenia i automatycznie do niego dopisany. Ta opcja przydaje się
w przypadku, gdy mamy dużą sieć np. ponad 200 urządzeń, gdzie wpisanie każdego adresu MAC jest dużym nakładem pracy i łatwo można się pomylić. W naszym przypadku wybierzemy opcję drugą.
Switch(config)#interface fastEthernet 0/2 Switch(config-if)#switchport port-security mac-address sticky Switch(config-if)#exit Switch(config)#interface fastEthernet 0/3 Switch(config-if)#switchport port-security mac-address sticky Switch(config-if)#exit Switch(config)#interface fastEthernet 0/1 Switch(config-if)#switchport port-security mac-address sticky Switch(config-if)#exit
Po wpisaniu komendy sh run zobaczymy konfigurację zapisaną na portach.
Switch#show run interface FastEthernet0/2 switchport mode access switchport port-security switchport port-security mac-address sticky ! interface FastEthernet0/3 switchport mode access switchport port-security switchport port-security mac-address sticky interface FastEthernet0/1 switchport mode trunk switchport port-security switchport port-security mac-address sticky
Następnie ustawimy nowy parametr polecenia switchport port-security jakim jest maximum. Ta wartość określa, ile adresów MAC będzie mogło być przypisanych do danego interfejsu na switchu. Jeżeli ustawimy 1, wówczas tylko jeden adres zostanie zapisany i żaden inny nie będzie mógł się komunikować.
Switch(config)#interface fastEthernet 0/2 Switch(config-if)#switchport port-security maximum 1 Switch(config)#interface fastEthernet 0/3 Switch(config-if)#switchport port-security maximum 1
Ostatni parametr jest violation, za pomocą którego określimy, jak zachowa się port w przypadku wystąpienia alarmu informującego o naruszeniu bezpieczeństwa. Aby zobaczyć opcje jakie są dostępne musimy wydać polecenie switchport port-security violation ?.
Switch(config-if)#switchport port-security violation ? protect Security violation protect mode restrict Security violation restrict mode shutdown Security violation shutdown mode
Opcja pierwsza protect sprawi, że interfejs nie wyłączy się podczas naruszenia bezpieczeństwa lecz zablokuje ruch. Switch nie odnotuje tego zdarzenia więc administrator może o tym nie zostać poinformowany. Druga opcja restrict robi dokładnie to samo co pierwsza z tym, że odnotowuje dodatkowo zdarzenie.
Aby zobaczyć wystąpienie zdarzenia wystarczy wydać polecenie show port-security interface [numer interfejsu]. Wartość w pozycji Security Violation Count będzie wzrastała z każdym zdarzeniem.
W przypadku wydania polecenia switchport port-security violation shutdown dany interfejs zostanie wyłączony w przypadku zaistnienia naruszenia bezpieczeństwa. Aby port mógł być oznaczony do użycia, administrator będzie musiał sam go podnieść.
Konfiguracja Port Security
Przejdźmy do konfiguracji Port Security. Przyjmuje się taką zasadę, że jeżeli do przełącznika podłączamy urządzenie końcowe, np. komputer, to powinniśmy zmienić ustawienie interfejsu na switchu na tryb access, czyli dostępowy. Natomiast jeżeli podłączamy kolejny przełącznik wtedy powinniśmy ustawić tryb interfejsu na trunk. Poniższy listing obrazuje ustawienie i uruchomienie Port Security na naszym interfejsie do obu PC-tów, tj. FA0/2 i FA0/3 oraz do Switcha 1, do którego ustawimy trunk.
Switch(config)#interface fastethernet0/2 Switch(config-if)#switchport mode access Switch(config-if)#switchport port-security Switch(config)#interface fastethernet0/3 Switch(config-if)#switchport mode access Switch(config-if)#switchport port-security Switch(config)#interface fastethernet0/1 Switch(config-if)#switchport mode trunk Switch(config-if)#switchport port-security Switch(config-if)#
Po tych krokach na trzech interfejsach został uruchomiony Port Security. Lecz należy pamiętać, że bez dodatkowej konfiguracji nic się nie stanie. Został on po prostu uruchomiony bez żadnej konfiguracji. Teraz należy dostosować to zabezpieczenie do naszych potrzeb. Po wydaniu polecenia switchport port-security? Zobaczymy możliwe opcje konfiguracji.
Switch(config-if)#switchport port-security ? Port-security aging commands mac-address Secure mac address maximum Max secure addresses violation Security violation mode
Zacznijmy omawianie od opcji mac-address. Po wydaniu polecenia switchport port-security mac-address? Poznamy kolejne opcje jakie możemy uzyć.
Switch(config-if)#switchport port-security mac-address ? H.H.H 48 bit mac address sticky Configure dynamic secure addresses as sticky
Ta opcja służy jaki adres MAC zarejestrowany na danym interfejsie będzie dopuszczony do sieci. Możemy użyć opcji pierwszej, czyli wpisania konkretnego adresu MAC do danego interfejsu. Wtedy to urządzenie o tym adresie po podłączeniu do sieci będzie mogło się komunikować. Lecz możemy wybrać druga opcję sticky, czyli po podłączeniu pierwszego urządzenia do portu na switchu na tym porcie zostanie odczytany adres MAC urządzenia i automatycznie do niego dopisany. Ta opcja przydaje się w przypadku, gdy mamy dużą siec np. ponad 200 urządzeń, gdzie wpisani e każdego adresu MAC jest dużym nakładem pracy i łatwo można się pomylić. W naszym przypadku wybierzemy opcję drugą.
Switch(config)#interface fastEthernet 0/2 Switch(config-if)#switchport port-security mac-address sticky Switch(config-if)#exit Switch(config)#interface fastEthernet 0/3 Switch(config-if)#switchport port-security mac-address sticky Switch(config-if)#exit Switch(config)#interface fastEthernet 0/1 Switch(config-if)#switchport port-security mac-address sticky Switch(config-if)#exit
Po wpisaniu komendy sh run zobaczymy konfigurację zapisaną na portach.
Switch#show run interface FastEthernet0/2 switchport mode access switchport port-security switchport port-security mac-address sticky interface FastEthernet0/3 switchport mode access switchport port-security switchport port-security mac-address sticky interface FastEthernet0/1 switchport mode trunk switchport port-security switchport port-security mac-address sticky
Następnie ustawimy nowy parametr polecenia switchport port-security jakim jest maximum. Ta wartość określa, ile adresów MAC będzie mogło być przypisanych do danego interfejsu na switchu. Jeżeli ustawimy 1, wówczas tylko jeden adres zostanie zapisany i żaden inny nie będzie mógł się komunikować.
Switch(config)#interface fastEthernet 0/2 Switch(config-if)#switchport port-security maximum 1 Switch(config)#interface fastEthernet 0/3 Switch(config-if)#switchport port-security maximum 1
Ostatni parametr jest to violation, za pomocą którego określimy, jak zachowa się port w przypadku wystąpienia alarmu informującego
o naruszeniu bezpieczeństwa. Aby zobaczyć opcje jakie są dostępne musimy wydać polecenie switchport port-security violation?.
Switch(config-if)#switchport port-security violation ? protect Security violation protect mode restrict Security violation restrict mode shutdown Security violation shutdown mode
Opcja pierwsza protect sprawi, że interfejs nie wyłączy się podczas naruszenia bezpieczeństwa lecz zablokuje ruch. Switch nie odnotuje tego zdarzenia więc administrator może o tym nie zostać poinformowany. Druga opcja restrict robi dokładnie to samo co pierwsza z tym, że odnotowuje dodatkowo zdarzenie.
Aby zobaczyć wystąpienie zdarzenia wystarczy wydać polecenie show port-security interface [numer interfejsu]. Wartość w pozycji Security Violation Count będzie wzrastała z każdym zdarzeniem.
W przypadku wydania polecenia switchport port-security violation shutdown dany interfejs zostanie wyłączony w przypadku zaistnienia naruszenia bezpieczeństwa. Aby port mógł być do użycia administrator będzie musiał osobiście go podnieść.
Polecenia dla administratora monitorujące usługę
Show port-security– pokazuje ustawienia port securityShow port security interface [nazwa-interfejsu]– pokazuje właściwości wybranego interfejsu dla usługi Port SecurityShow mac-address-table– pokazuje adresy MAC przypisane do konkretnych portów
Podsumowanie
Wyniki powyższego eksperymentu obrazują, że usługa Port Security działa jak należy. Mianowicie komunikacja między urządzeniami końcowymi w sieci wewnętrznej LAN odbywa się prawidłowo. Przełączniki sieciowe, na których skonfigurowano usługę przepuszczają ruch między urządzeniami końcowymi, które są zautoryzowane na podstawie przypisanego konkretnego adresu MAC urządzenia. W przypadku podłączenia się do sieci nieautoryzowanego urządzenia (potencjalnego włamywacza) usługa ta blokuje ruch z tego urządzenia do sieci wewnętrznej LAN. Dzięki temu urządzenie to nie może komunikować się w tej sieci. Ponadto opcja jaką wybraliśmy tj. restrict umożliwiła nie tylko zablokowanie ruchu ale także odnotowanie takiego zajścia na switchu przez co administrator może łatwo wychwycić na jakim porcie próbowano włamać się do sieci. Podsumowując usługa Port Security sprawdza się w zabezpieczaniu sieci przewodowej i powinna być stosowana przez administratorów jako jeden z elementów bezpieczeństwa.
