Preorder drugiego tomu książki sekuraka: Wprowadzenie do bezpieczeństwa IT. -15% z kodem: sekurak-book
Wykrywanie nowych urządzeń i intruzów w sieci za pomocą Zabbix
Zabbix to świetne narzędzie do monitoringu sieci, serwerów i aplikacji. Nie wszyscy jednak wiedzą, że dodatkowo możemy go wykorzystać do wyszukiwania nowych urządzeń w sieci. Chcesz na bieżąco być powiadamianym o intruzach w Twojej infrastrukturze? Zapraszam do lektury.
Wykrywanie nowych urządzeń
Przy wykrywaniu nowych urządzeń będziemy używać Discovery. Jest to świetne narzędzie do automatyzacji naszej pracy. Przede wszystkim dlatego, że Discovery pracuje na dwóch poziomach.
Raz – możemy wykrywać urządzenia sieciowe, serwery w naszej infrastrukturze. Zatem zadanie jest takie, aby Zabbix przeskanował naszą sieć zgodnie z wprowadzonymi ustawieniami, a następnie wykrył wszystkie urządzenia jakie się pojawią. Na podstawie tego możemy stworzyć też trigger (wyzwalacz), który będzie nas alarmował o tym, że coś się w sieci pojawiło. Jest to świetne narzędzie do tego, żeby monitorować pojawienie się nowego urządzenia w infrastrukturze. W rzeczywistości nie zawsze jest tak, że my uruchamiamy wszystkie urządzenia. Może się zdarzyć tak, że ktoś podpiął w sieci coś co nie powinien. Dzięki powyższemu rozwiązaniu zostaniemy zaalarmowani o pojawieniu się nowego urządzenia w infrastrukturze.
Druga sprawa – możemy uruchomić Discovery, by wyszukało nam wszystkie zasoby, następnie poustawiać odpowiednie czujki, czyli itemy, triggery i wykresy, których do funkcjonowania potrzebuje Zabbix. Jeżeli nie wiesz czym są te elementy to już tłumaczę.
Itemy są jednym z głównych elementów konfiguracji hosta w Zabbixie. Dzięki nim definiujemy elementy, które mają być monitorowane.
Triggery są kolejnym, ważnym elementem konfiguracji hosta w Zabbixie. Dzięki nim definiujemy zdarzenia po powstaniu których, wywoływane jest wysyłanie alarmów. W uproszczeniu, gdy np. serwer jest niedostępny to trigger odpowiada za wykrycie problemu i tym samym za uruchomienie alarmu, który w dalszej kolejności wyśle Ci powiadomienie.
Wykresy służą nam do wizualnego zaprezentowania danych.
Dzięki Discovery możemy tą pracę zautomatyzować.
Jak funkcjonuje Discovery?
Przechodzimy do Zabbixa. Pokażę Ci jak utworzyć regułę, która wychwyci nowe urządzenia w sieci. Żeby coś takiego zrobić, wejdź do zakładki Configuration, a następnie Discovery (rys. 1).
Rys. 1. Uruchomienie narzędzia Discovery w Zabbix.
Teraz dodamy naszą rolę Discovery. W tym celu wybieramy przycisk w prawym górnym rogu – Create discovery rule (rys. 2)
Rys. 2. Okno dodawania nowej reguły w narzędziu Discovery.
Następnie musimy nazwać naszą regułę oraz zdefiniować czy monitorujemy naszą infrastrukturę za pomocą proxy czy też nie (zrzut ekranu poniżej). Proxy używamy w momencie gdy monitorujesz zdalne lokalizacje za pomocą usługi Zabbix Proxy. W tym wypadku zaznaczamy, że nie.
Ustawiamy zakres IP range – w tym miejscu wprowadź adresację swojej sieci. Dodajemy to po to, aby Zabbix wiedział na jakim zakresie IP ma skanować sieć i poszukiwać urządzenia.
Zakres adresów IP możesz przypisać wg. następujących schematów:
Pojedynczy adres IP: 192.168.0.100
Zakres : 192.168.0-10.1-255.
Według maski IP: 192.168.0.0/24
Lista: 192.168.1.1-255, 10.0.0.1-100, 192.168.1.200, 192.168.2.0/24
Musisz jedynie pamiętać, że zakres jest ograniczony przez całkowitą liczbę obsługiwanych adresów. Możesz maksymalnie użyć 64000 adresów.
Następnie uzupełniamy czas Update interval – 1 godzina jest jak najbardziej w porządku, ale dla naszego przykładu (gdzie testujemy różne rozwiązania) ustawiam ten parametr na 5 sekund. W środowisku produkcyjnym nie polecam ustawiać takiej wartości. Przy ustawieniu 5 sekund, będziemy mieć do czynienia ze skanowaniem sieci niemal cały czas. Do tego wzrośnie zużycie dysków na serwerze Zabbix.
Następnie ustawiamy znaczniki Checks. Wskazujemy tu jakie porty i usługi mają być wykrywane. Możesz dodać zarówno pojedynczy port, jak i zakres. Przykładowo:
Pojedynczy port: 22
Zakres portów: 21-30
Lista portów: 22, 80, 88 100-110
Zatem jeżeli nasz Zabbix wykryje jakieś urządzenie, to jednocześnie będzie szukał też otwartych portów. Można dodatkowo w tym miejscu podać konkretne porty. Natomiast na potrzeby artykułu stworzymy sobie regułę taką, która będzie nam wyszukiwała przede wszystkim usługi FTP, HTTP, HTTPS, ICMP ping, SSH, Telnet.
Ostatnia opcja (Visible name) to określenie jak będą wyświetlały się dane, np. jako nazwy DNS lub za pomocą samego adresu IP.
Warto odnotować, ze mogą istnieć zduplikowane odpowiedzi lub te same wartości z tymi samymi adresami IP dla nazw DNS. Warto zatem określić kryteria unikalności dla wykrytych hostów. Tym kryterium może być adres IP lub wartość kontrolna SNMP.
Rys. 3. Parametry nowej reguły w narzędziu Discovery.
Pozostaje jeszcze zaznaczyć „Enabled” – oznaczające, że reguła będzie aktywna od razu po uruchomieniu.
Gdy mamy już wszystko ustawione, kliknij „Add”. Teraz musimy chwilkę poczekać. Na potrzeby laba ustawiliśmy 5 sekund, więc nie będzie to długi okres. 😉.
Wykryte urządzenia znajdziemy w sekcji Monitoring/Discovery. Wygląda to jak na rys. 4.
Rys. 4. Wybór reguły Discovery oraz wyniki.
To o czym warto jeszcze pamiętać to stworzenie powiadomień. Dobrze byłoby, gdyby Zabbix wykrywał nowe urządzenia w sieci oraz nas o tym powiadamiał. To, co możemy teraz zrobić to kliknąć w zakładkę Configuration, następnie w Actions, a potem kliknąć w Discovery actions tak jak na rys. 5.
Rys. 5. Dostęp do powiadomień o akcjach narzędzia Discovery.
W tym momencie stworzymy sobie powiadomienie o tym, że pojawiły się nowe urządzenia w sieci. Pamiętaj, aby w lewym górnym rogu widoczne było „Discovery actions„. Tak jak na rys. 6.
Rys. 6. Zrzut ekranu z okna Discovery actions.
Klikamy teraz przycisk Create action, który znajduje się w prawym górnym rogu, a następnie uzupełniamy dane. Zaczynamy od nadania nazwy – w naszym przypadku labsekuraka.
Do wyboru mamy następujące rodzaje akcji:
– Wysyłanie powiadomień
– Dodawanie/usuwanie hostów
– Włączanie/wyłączanie hostów
– Dodawanie hostów do grupy
– Usuwanie hostów z grupy
– Łączenie hostów z/odłączanie od szablonu
– Wykonywanie zdalnych skryptów
Potem uzupełniamy warunki Conditions i definiujemy Discovery check. Teraz budujemy trigger (wyzwalacz), który uruchomi alarm w momencie, gdy pojawi się jakieś konkretne odwołanie zdefiniowane w naszym Discovery. Następnie wskazujemy konkretne usługi. Np. wybrane wcześniej FTP – zgodnie z rysunkiem 7. Można dodać kilka reguł.
Rys. 7. Dodanie zdefiniowanych parametrów Checks do akcji.
Całość po uzupełnieniu wygląda jak na rysunku 8. Zostaniemy powiadomieni, gdy wydarzy się dowolne z wydarzeń A, B, C, D, E i/lub F.
Rys. 8. Całość reguły powiadomień przed włączeniem.
To, co teraz powinniśmy zrobić to przejść do zakładki Operations, która znajduje się w lewym górnym rogu, a następnie kliknąć Add. Wybierzemy teraz rodzaj powiadomienia, które chcemy otrzymywać. Wygląda to jak na poniższym rysunku:
Rys. 9. Wybór rodzaju powiadomienia.
Możemy też tutaj zdefiniować użytkownika, który te powiadomienia ma otrzymywać, np. admin. Wybieramy konkretny rodzaj powiadamiania, np. poprzez e-mail, serwer Jira lub komunikator MS Teams. Całość po uzupełnieniu może wyglądać jak na rysunku 10.
Rys. 10. Zdefiniowanie powiadomienia.
I następnie klikamy jeszcze raz Add i wracamy automatycznie do okna Discovery actions.
Rys. 11. Włączona reguła Discovery i powiadomienia.
Mamy w tym momencie zbudowaną regułę. Przechodzimy teraz z powrotem do Monitoring -> Discovery, by zobaczyć czy coś nam się pojawiło. Po chwili powinniśmy zobaczyć wyniki pracy Zabbixa:
Rys. 12. Wyniki pracy zdefiniowanych reguł i powiadomień.
Skanowanie może chwilę potrwać, więc należy poczekać aż wszystko się przetworzy. Na powyższym zrzucie ekranu otrzymaliśmy informację o tym, że w sieci jest jedno urządzenie i działa ono z wykorzystaniem protokołu HTTP, HTTPS i ICMP ping. Kiedy pojawi się dodatkowe urządzenie, to dzięki zbudowanej regule i triggerowi, zostaniemy o tym powiadomieni.
Poza alarmem, wyniki są prezentowane również wchodząc na główną stronę Zabbixa.
Przejrzyj wynik, sprawdź i dostosuj pod swoje wymagania. Pamiętaj tylko, by na koniec ustawić częstotliwość odświeżania rzadziej niż 1 godzina. Discovery to proces, który potrafi znacząco obciążyć Zabbixa. Do tego, pewnie nie chcesz, by skanowanie w Twojej sieci było wykonywane co kilka godzin.
Jeżeli chcesz poznać więcej szczegółów na temat Zabbixa to zachęcam do sprawdzenia dokumentacji:
https://www.zabbix.com/documentation/current/en/manual/discovery/network_discovery/rule
Jest ona naprawdę przystępna.
Zapraszam również do pobrania mojego ebooka dobrych praktyk Monitoringu IT:
https://asdevops.pl/dobre-praktyki/
KIM JEST AREK SICZEK?
W branży IT od 14 lat. Zaczynałem pracę w IT w 2006 roku. Od 2012 roku prowadzę BLOG informatyczny ASKomputer.
Do wykrycia, czy syn księgowej telefonem do WiFi się podłączył skuteczne. Haker tylko się uśmiechnie.
Biała lista adresów MAC na routerze i w AP WiFi znacznie utrudnia atak.
Tylko że teraz większość ataków polega na wykorzystaniu podatności w programach biurowych (MS/Libre Office) czy przeglądarkach PDF (faktura przyszła, otwórz koniecznie ;-) ).
Proszę Cię jaka biała lista MAC, w airdumpie można podejrzeć MACi sobie zmienić w karcie sieciowej.
W prostych routerkach tak, majac urzadzenie klasy NDR czy NGF itp. podszycie sie pod inny MAC nie jest juz takie proste, smiem twierdzic, ze prawie niemozliwe. Anomalia zostanie wykryta i zablokowana, m.in. footprint urzadzenia jest jest robiony + mnostwo innych analiz. O ile security nie jest opierane tylko na zwyklym MAC’u – dzis w mojej ocenie to zdecydowanie za malo :)
Zaskakujące wykorzystanie discovery ;). Ale artykuł bardzo ciekawy.
Armata na komara. Nie do tego stworzony został Discovery. Arpwatch lub suricata, tego narzędzia szukacie.
A czy te aplikacje działają na różnych podsieciach za różnymi routerami ? i czy przychodzą powiadomienia o intruzach mailem i sms’m ?
Podobną funkcjonalność ma Check_MK. Dodajemy pulę adresów jako hosta a potem cyklicznie szukamy usług.
Ciekawe rozwiązanie. Problem pojawia się jednak w momencie gdy ruch z Zabbix nie jest otwarty do wszystkich podsieci.