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ł.

Wstęp

Schemat sieci - opracowanie własne
Schemat sieci – opracowanie własne

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 security
  • Show port security interface [nazwa-interfejsu]  – pokazuje właściwości wybranego interfejsu dla usługi Port Security
  • Show 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.