Cisco Network Security - Monitorowanie urządzeniami oraz zarządzanie

1. Funkcja konfiguracji odpornościowej Cisco IOS umożliwia szybsze odzyskiwanie po formatowaniu pamięci flash lub usunięciu pliku konfiguracji startowej. Funkcja utrzymuje bezpieczną kopię obrazu routera IOS i pliku bieżącej konfiguracji, które nie mogą być usunięte przez użytkownika. Funkcja zabezpiecza najmniejszy zestaw plików, nie wymaga dodatkowej przestrzeni i wykorzystuje tylko lokalną pamięć. Może być wyłączona tylko za pomocą sesji konsoli. Jest dostępna tylko na starszych routerach obsługujących interfejs flash PCMCIA ATA. Polecenia do zabezpieczania obrazu IOS i pliku bieżącej konfiguracji są pokazane w przykładzie. Zabezpieczone pliki nie pojawiają się w wynikach polecenia dir wydanego z monitu CLI. Można użyć polecenia show secure bootset, aby zweryfikować istnienie archiwum.
2. Funkcja Cisco IOS Resilient dostarcza metodę do zabezpieczania obrazu IOS i plików konfiguracyjnych lokalnie na urządzeniu. Funkcja Secure Copy Protocol (SCP) jest używana do zdalnego kopiowania tych plików. SCP dostarcza bezpieczną i uwierzytelnioną metodę do kopiowania plików konfiguracji routera lub plików obrazu routera do zdalnej lokalizacji.

SCP polega na:
  • SSH do zabezpieczania komunikacji
  • AAA do zapewnienia uwierzytelniania i autoryzacji
Użyj następujących kroków, aby skonfigurować router dla SCP po stronie serwera z lokalnym AAA:
Krok 1. Skonfiguruj SSH, jeśli jeszcze nie jest skonfigurowany.
Krok 2. Dla lokalnej autentykacji skonfiguruj co najmniej jednego użytkownika lokalnej bazy danych z poziomem uprawnień 15.
Krok 3. Włącz AAA za pomocą polecenia aaa new-model w trybie globalnej konfiguracji.
Krok 4. Użyj polecenia aaa authentication login default local, aby określić, że lokalna baza danych ma być używana do uwierzytelniania.
Krok 5. Użyj polecenia aaa authorization exec default local, aby skonfigurować autoryzację poleceń. W tym przykładzie wszyscy lokalni użytkownicy będą mieli dostęp do poleceń EXEC.
Krok 6. Włącz funkcjonalność SCP po stronie serwera za pomocą polecenia ip scp server enable.

3. Jeśli router jest naruszony lub wymaga odzyskania z nieprawidłowo skonfigurowanego hasła, administrator musi użyć procedur odzyskiwania hasła. Ze względów bezpieczeństwa, odzyskiwanie hasła wymaga od administratora fizycznego dostępu do routera za pomocą kabla konsolowego. W zależności od urządzenia, szczegółowa procedura odzyskiwania hasła różni się.

Krok 1. Podłącz się do portu konsoli.
Krok 2. Użyj polecenia show version, aby wyświetlić ustawienie rejestru konfiguracji i zapisz wartość (np. 0x2102).
Krok 3. Wyłącz i włącz ponownie router.
Krok 4. Wydaj sekwencję przerwania (np. CTRL-BREAK), aby wejść w tryb ROMMON.
Krok 5. Zmień domyślny rejestr konfiguracji za pomocą polecenia confreg 0x2142.
Krok 6. Uruchom ponownie router za pomocą polecenia reset w trybie ROMMON.
Krok 7. Naciśnij Ctrl-C, aby pominąć początkową procedurę konfiguracji.
Krok 8. Wejdź w tryb uprzywilejowanego EXEC.
Krok 9. Skopiuj konfigurację startową do bieżącej konfiguracji za pomocą polecenia copy startup-config running-config.
Krok 10. Zweryfikuj konfigurację.
Krok 11. Zmień hasło enable secret.
Krok 12. Włącz wszystkie interfejsy za pomocą polecenia no shutdown.
Krok 13. Przywróć ustawienie rejestru konfiguracji do pierwotnego ustawienia, które zostało udokumentowane w kroku 2, za pomocą polecenia config-register w trybie globalnej konfiguracji. Po następnym uruchomieniu router użyje tych ustawień i załaduje nowy plik konfiguracji startowej, który zawiera zmienione hasło.
Krok 14. Zapisz zmiany w konfiguracji.

4. Jeśli ktoś zyskał fizyczny dostęp do routera, potencjalnie mógłby przejąć kontrolę nad tym urządzeniem za pomocą procedury odzyskiwania hasła. Ta procedura, jeśli jest wykonana poprawnie, pozostawia konfigurację routera nienaruszoną. Jeśli atakujący nie wprowadza żadnych większych zmian, ten typ ataku jest trudny do wykrycia. Atakujący może użyć tej metody ataku do odkrycia konfiguracji routera i innych istotnych informacji o sieci, takich jak przepływy ruchu i ograniczenia kontroli dostępu.

Administrator może zminimalizować to potencjalne naruszenie bezpieczeństwa, używając polecenia no service password-recovery w trybie globalnej konfiguracji. To polecenie jest ukrytym poleceniem Cisco IOS i nie ma argumentów ani słów kluczowych. Jeśli router jest skonfigurowany z poleceniem no service password-recovery, wszelki dostęp do trybu ROMmon jest wyłączony.

Gdy wprowadzone zostanie polecenie no service password-recovery, wyświetla się komunikat ostrzegawczy, który musi być potwierdzony przed włączeniem funkcji, jak pokazano w przykładzie.

Aby odzyskać urządzenie po wprowadzeniu polecenia no service password-recovery, zainicjuj sekwencję przerwania w ciągu pięciu sekund po dekompresji obrazu podczas rozruchu. Zostaniesz poproszony o potwierdzenie działania klawisza przerwania. Po potwierdzeniu działania, konfiguracja startowa jest całkowicie wymazywana, procedura odzyskiwania hasła jest włączona, a router uruchamia się z konfiguracją fabryczną. Jeśli nie potwierdzisz działania przerwania, router uruchamia się normalnie z włączonym poleceniem no service password-recovery.

5. CDP (Cisco Discovery Protocol) jest protokołem warstwy łącza danych, który umożliwia urządzeniom Cisco odkrywanie i gromadzenie informacji o sąsiednich urządzeniach, takich jak nazwa, model, adres IP, wersja oprogramowania i inne. CDP jest włączony domyślnie na wszystkich interfejsach urządzeń Cisco i wysyła co 60 sekund wiadomości multicastowe.

6. LLDP (Link Layer Discovery Protocol) jest standardowym protokołem warstwy łącza danych, który działa podobnie do CDP, ale jest kompatybilny z urządzeniami innych producentów. LLDP jest również włączony domyślnie na przełącznikach Cisco i wysyła co 30 sekund wiadomości multicastowe. LLDP może zbierać informacje o identyfikatorze urządzenia, opisie urządzenia, nazwie portu, adresie MAC, adresie IP, typie systemu, poziomie mocy i innych.

7. Cisco AutoSecure jest funkcją, która zabezpiecza router za pomocą jednego polecenia CLI, wyłączając wspólne usługi IP, które mogą być wykorzystane do ataków sieciowych, włączając usługi IP i funkcje, które mogą pomóc w obronie sieci przed atakiem, i upraszczając i wzmacniając konfigurację zabezpieczeń routera. Cisco AutoSecure zapewnia również lepsze zabezpieczenie dostępu do routera, generując wiadomości syslog po przekroczeniu liczby nieudanych prób logowania i wymagając minimalnej długości hasła.

8. Protokoły routingu dynamicznego są używane przez routery do automatycznego udostępniania informacji o osiągalności i stanie zdalnych sieci. Protokoły routingu dynamicznego wykonują kilka czynności, w tym odkrywanie sieci i utrzymywanie tablic routingu.

Ważnymi zaletami protokołów routingu dynamicznego są zdolność wyboru najlepszej ścieżki i automatyczne odkrywanie nowej najlepszej ścieżki, gdy następuje zmiana topologii.

Odkrywanie sieci to zdolność protokołu routingu do udostępniania informacji o sieciach, o których wie, innym routerom, które również używają tego samego protokołu routingu. Zamiast polegać na ręcznie skonfigurowanych trasach statycznych do zdalnych sieci na każdym routerze, protokół routingu dynamicznego pozwala routerom automatycznie dowiadywać się o tych sieciach od innych routerów. Te sieci i najlepsza ścieżka do każdej z nich są dodawane do tablicy routingu routera i identyfikowane jako sieć nauczone przez określony protokół routingu dynamicznego.


9. Systemy routingu mogą być atakowane poprzez zakłócanie działania routerów sieci peer-to-peer lub poprzez fałszowanie lub podszywanie się pod informacje przekazywane w protokołach routingu. Podszywanie się pod informacje routingu może być ogólnie wykorzystywane do spowodowania, że systemy wprowadzają się wzajemnie w błąd (kłamią), powodują atak DoS lub sprawiają, że ruch podąża ścieżką, której normalnie by nie podążał. Istnieje kilka konsekwencji podszywania się pod informacje routingu:
  • Przekierowywanie ruchu w celu utworzenia pętli routingu 
  • Przekierowywanie ruchu, aby mógł być monitorowany na niezabezpieczonym łączu 
  • Przekierowywanie ruchu, aby go odrzucić 
Załóżmy, że atakujący był w stanie połączyć się bezpośrednio z łączem między R1 a R2. Atakujący wysyła do R1 fałszywe informacje o routingu, wskazując, że R2 jest preferowanym celem dla sieci 192.168.10.0/24. Chociaż R1 ma już wpis w tablicy routingu do sieci 192.168.10.0/24, nowa trasa ma niższą metrykę i dlatego jest preferowanym wpisem w tablicy routingu.

W konsekwencji, gdy PC3 wysyła pakiet do PC1 (192.168.10.10/24), R3 przekazuje pakiet do R2, który z kolei przekazuje go do R1. R1 nie przekazuje pakietu do hosta PC1. Zamiast tego kieruje pakiet do R2, ponieważ pozorna najlepsza ścieżka do 192.168.10.0 /24 prowadzi przez R2. Gdy R2 otrzyma pakiet, sprawdza w swojej tablicy routingu i znajduje prawidłową trasę do sieci 192.168.10.0/24 przez R1 i przekazuje pakiet z powrotem do R1, tworząc pętlę. Pętla została spowodowana przez dezinformację wprowadzoną do R1.

10. OSPF obsługuje uwierzytelnianie protokołu routingu za pomocą MD5. Uwierzytelnianie MD5 może być włączone globalnie dla wszystkich interfejsów lub indywidualnie dla każdego interfejsu.

Włączenie uwierzytelniania MD5 globalnie dla OSPF:
  • ip ospf message-digest-key key md5 password interface.
  • area area-id authentication message-digest router
  • Jeśli interfejs nie jest skonfigurowany z poleceniem ip ospf message-digest-key, nie będzie mógł tworzyć sąsiedztw z innymi sąsiadami OSPF.
Dla każdego interfejsu z osobna:
  • ip ospf message-digest-key key md5 password interface
  • ip ospf authentication message-digest interface
11. Podczas rejestrowania i zarządzania informacjami przepływ informacji między hostami zarządzającymi a zarządzanymi urządzeniami może odbywać się dwiema ścieżkami:
  • In-band - Informacje przepływają przez produkcyjną sieć przedsiębiorstwa, internet lub obie te sieci, używając regularnych kanałów danych. 
  • Out-of-band (OOB) - Informacje przepływają po dedykowanej sieci zarządzania, na której nie ma ruchu produkcyjnego. 
12. NTP (Network Time Protocol) jest protokołem sieciowym, który służy do synchronizacji zegarów na urządzeniach sieciowych z dokładnym źródłem czasu, takim jak zegar atomowy. NTP pozwala na utrzymanie spójności czasu w całej sieci, co jest ważne dla wielu zastosowań, takich jak bezpieczeństwo, logowanie, nawigacja, transakcje finansowe i inne.

13. Protokół Simple Network Management Protocol (SNMP) umożliwia administratorom zarządzanie węzłami sieciowymi, takimi jak serwery, stacje robocze, routery, przełączniki i urządzenia zabezpieczające, w sieci IP. SNMP definiuje, jak informacje zarządcze są wymieniane między aplikacjami zarządzania siecią a agentami zarządzania. System SNMP składa się z trzech elementów: 
  • Menedżera SNMP - może zbierać informacje od agenta SNMP za pomocą akcji "get" i zmieniać konfiguracje na agencie za pomocą akcji "set". 
  • Agentów SNMP (zarządzany węzeł) - może przekazywać informacje bezpośrednio do menedżera sieci za pomocą "pułapek".
  • Bazy Informacji Zarządczych (MIB). 
Urządzenia sieciowe, które muszą być zarządzane, są wyposażone w moduł oprogramowania agenta SNMP. MIB przechowuje dane i statystyki operacyjne dotyczące urządzenia. Menedżer SNMP wysyła żądanie get do agenta SNMP, aby uzyskać dostęp do przechowywanych danych w lokalnym MIB. Agenci SNMP wysyłają wszystkie pułapki SNMP do menedżera SNMP na porcie UDP 162.

14. Agenci SNMP, którzy rezydują na zarządzanych urządzeniach, zbierają i przechowują informacje o urządzeniu i jego działaniu. Te informacje są przechowywane lokalnie przez agenta w MIB. Następnie menedżer SNMP korzysta z agenta SNMP, aby uzyskać dostęp do informacji w MIB.

Istnieją dwa główne żądania menedżera SNMP:
  • żądanie get - Używane przez NMS do odpytywania urządzenia o dane. 
  • żądanie set - Używane przez NMS do zmiany zmiennych konfiguracyjnych w urządzeniu agenta. To żądanie może również inicjować działania w urządzeniu. Na przykład, żądanie set może spowodować ponowne uruchomienie routera, wysłanie pliku konfiguracyjnego lub odbiór pliku konfiguracyjnego.
15. Agent SNMP odpowiada na żądania menedżera SNMP na dwa sposoby:
  • Pobierz zmienną MIB - Agent SNMP wykonuje tę funkcję w odpowiedzi na GetRequest-PDU od menedżera sieci. Agent pobiera wartość żądanej zmiennej MIB i odpowiada menedżerowi sieci z tą wartością.
  • Ustaw zmienną MIB - Agent SNMP wykonuje tę funkcję w odpowiedzi na SetRequest-PDU od menedżera sieci. Agent SNMP zmienia wartość zmiennej MIB na wartość określoną przez menedżera sieci. Odpowiedź agenta SNMP na żądanie set zawiera nowe ustawienia w urządzeniu.
16. Menedżer SNMP używa akcji get i set do wykonania następujących operacji:
  • Get-Request: Jest to najczęstszy typ wiadomości SNMP, który menedżer SNMP wysyła, aby poprosić o dane. Urządzenie, które otrzymało to żądanie, odpowiada wiadomością Get-Response.
  • Get-Next-Request: Operacja Get-Next jest podobna do operacji Get. Operacja Get-Next pobiera wartość następnego OID w drzewie. Jest szczególnie przydatna do pobierania danych z tabeli i dla zmiennych, które nie mogą być konkretnie nazwane. Jest używana do przeglądania drzewa MIB.
  • Get-Bulk-Request: Żądanie Get-Bulk wykonuje wiele żądań Get-Next i zwraca je wszystkie w jednej odpowiedzi. Oprócz żądania OID, które jest w każdym typie żądania SNMP, Get-Bulk daje dwie dodatkowe możliwości: Non-repeaters, które mówią agentowi, ile OID w żądaniu powinno być traktowane jako zmienne żądania Get, oraz Max-repetitions, które mówią agentowi, ile operacji Get-Next wykonać na każdej zmiennej (która nie jest objęta opcją non-repeaters) i zwrócić wartości w jednej odpowiedzi.
  • Get-Response: Komenda Get-Response jest używana przez agenta do wysyłania z powrotem wartości działań żądanych przez menedżera SNMP. Jeśli menedżer chce poprosić agenta o dane za pomocą wiadomości get, agent wyśle z powrotem get-response.
  • Set-Request: Jest to komenda inicjowana przez menedżera, która zmienia wartość parametru za pośrednictwem SNMP na urządzeniu agenta. Ten rodzaj wiadomości jest używany do zarządzania lub aktualizacji konfiguracji i ustawień.
17. MIB organizuje zmienne w sposób hierarchiczny. Dzięki zmiennym MIB, oprogramowanie zarządzające jest w stanie monitorować i kontrolować urządzenie sieciowe. Formalnie rzecz biorąc, MIB definiuje każdą zmienną jako identyfikator obiektu (OID). OIDy jednoznacznie identyfikują zarządzane obiekty w hierarchii MIB. MIB organizuje OIDy według standardów RFC w hierarchię, która zazwyczaj jest przedstawiana jako drzewo.

Drzewo MIB dla każdego urządzenia zawiera gałęzie ze zmiennymi, które są wspólne dla wielu urządzeń sieciowych, oraz gałęzie ze zmiennymi specyficznymi dla danego urządzenia lub producenta.

RFC definiuje pewne powszechne zmienne publiczne. Większość urządzeń implementuje te zmienne MIB. Dodatkowo, producenci sprzętu sieciowego, tacy jak Cisco, mogą definiować własne, prywatne gałęzie drzewa, aby umieścić w nich nowe zmienne specyficzne dla ich urządzeń.

18. Protokół SNMP występuje w trzech wersjach: SNMPv1, SNMPv2c i SNMPv3. SNMPv1 jest pełnym standardem internetowym, natomiast SNMPv2c i SNMPv3 wprowadzają ulepszenia, takie jak mechanizm pobierania zbiorczego i bardziej szczegółowe raportowanie błędów. SNMPv1 i SNMPv2c wykorzystują formę zabezpieczeń opartą na społeczności, natomiast SNMPv3 dodaje metody zapewniające bezpieczne przesyłanie krytycznych danych między zarządzanymi urządzeniami. SNMPv3 zapewnia modele bezpieczeństwa i poziomy bezpieczeństwa, które określają, który mechanizm bezpieczeństwa jest używany podczas obsługi pakietu SNMP. Wszystkie wersje SNMP wykorzystują menedżerów SNMP, agentów i MIB.

19. SNMPv3 uwierzytelnia i szyfruje pakiety w sieci, zapewniając bezpieczny dostęp do urządzeń. Rozwiązało to problemy związane z podatnościami wcześniejszych wersji SNMP.

SNMPv3 zapewnia trzy funkcje bezpieczeństwa:
  • Integralność i uwierzytelnianie wiadomości - Zapewnia, że pakiet nie został naruszony w trakcie transmisji i pochodzi z prawidłowego źródła.
  • Szyfrowanie - Zaszyfrowuje zawartość pakietu, aby zapobiec jej odczytaniu przez nieuprawnione źródło.
  • Kontrola dostępu - Ogranicza każdego użytkownika do określonych działań na konkretnych częściach danych.
20. Oto przykładowe polecenia konfiguracyjne dla SNMPv3 z wykorzystaniem list kontrolnych dostępu (ACL) na urządzeniach Cisco IOS:
Router(config)# access-list 99 permit 192.0.2.0 0.0.0.255
Router(config)# snmp-server view TESTV3 mib-2 include
Router(config)# snmp-server group ORAROV3 v3 auth read TESTV3 access 99
Router(config)# snmp-server user bpugsley ORAROV3 v3 auth md5 hockeyrules priv des56 shortguy
Router(config)# end
Router#

Wyjaśnienie:

  1. access-list 99 permit 192.0.2.0 0.0.0.255: Tworzy listę kontrolną dostępu (ACL), która zezwala na dostęp do urządzenia z sieci 192.0.2.0/24.

  2. snmp-server view TESTV3 mib-2 include: Tworzy widok SNMP o nazwie TESTV3, który obejmuje wszystkie obiekty w mib-2.

  3. snmp-server group ORAROV3 v3 auth read TESTV3 access 99: Tworzy grupę SNMP o nazwie ORAROV3, która korzysta z modelu bezpieczeństwa SNMPv3 z uwierzytelnianiem (auth). Grupa ta ma prawa do odczytu widoku TESTV3 i jest ograniczona do adresów IP zdefiniowanych w ACL 99.

  4. snmp-server user bpugsley ORAROV3 v3 auth md5 hockeyrules priv des56 shortguy: Tworzy użytkownika SNMP o nazwie bpugsley, który należy do grupy ORAROV3. Użytkownik ten korzysta z modelu bezpieczeństwa SNMPv3 z uwierzytelnianiem (auth) za pomocą algorytmu MD5 i hasła hockeyrules, a także z prywatności (priv) za pomocą algorytmu DES56 i hasła shortguy.

  5. end: Kończy tryb konfiguracji.