Snort czy Suricata. Część 1: Wybór bezpłatnego IDS/IPS do ochrony sieci korporacyjnej

Kiedyś do ochrony sieci lokalnej wystarczyła zwykła zapora sieciowa i programy antywirusowe, ale taki zestaw nie jest już wystarczająco skuteczny w walce z atakami współczesnych hakerów i rozprzestrzeniającym się ostatnio złośliwym oprogramowaniem. Stary dobry firewall analizuje tylko nagłówki pakietów, przepuszczając je lub blokując zgodnie z zestawem formalnych reguł. Nie wie nic o zawartości paczek i dlatego nie może rozpoznać pozornie uzasadnionych działań intruzów. Programy antywirusowe nie zawsze wyłapują złośliwe oprogramowanie, dlatego przed administratorem stoi zadanie monitorowania nietypowej aktywności i izolowania zainfekowanych hostów w odpowiednim czasie.

Snort czy Suricata. Część 1: Wybór bezpłatnego IDS/IPS do ochrony sieci korporacyjnej

Istnieje wiele zaawansowanych narzędzi, które pozwalają zabezpieczyć infrastrukturę IT firmy. Dzisiaj porozmawiamy o otwartych systemach wykrywania i zapobiegania włamaniom, które można wdrożyć bez kupowania drogich licencji na sprzęt i oprogramowanie.

Klasyfikacja IDS/IPS

IDS (Intrusion Detection System) to system przeznaczony do rejestrowania podejrzanych działań w sieci lub na osobnym komputerze. Prowadzi dzienniki zdarzeń i powiadamia o nich osobę odpowiedzialną za bezpieczeństwo informacji. IDS zawiera następujące elementy:

  • czujniki do przeglądania ruchu sieciowego, różnych logów itp. 
  • podsystem analizy, który wykrywa oznaki szkodliwych skutków w otrzymanych danych;
  • przechowywanie do gromadzenia zdarzeń pierwotnych i wyników analiz;
  • konsola zarządzająca.

Początkowo systemy IDS były klasyfikowane według lokalizacji: mogły koncentrować się na ochronie poszczególnych węzłów (oparty na hoście lub systemie HIDS) lub na ochronie całej sieci korporacyjnej (oparty na sieci lub system NIDS). Warto wspomnieć o tzw. APIDS (identyfikatory oparte na protokołach aplikacji): monitorują ograniczony zestaw protokołów warstwy aplikacji w celu wykrywania określonych ataków i nie analizują dogłębnie pakietów sieciowych. Takie produkty zwykle przypominają serwery proxy i służą do ochrony określonych usług: serwera WWW i aplikacji internetowych (na przykład napisanych w PHP), serwerów baz danych itp. Typowym przedstawicielem tej klasy jest mod_security dla serwera WWW Apache.

Bardziej interesują nas uniwersalne NIDS obsługujące szeroką gamę protokołów komunikacyjnych oraz technologie analizy pakietów DPI (Deep Packet Inspection). Monitorują cały przepływający ruch, począwszy od warstwy łącza danych, i wykrywają szeroki zakres ataków sieciowych, a także nieautoryzowany dostęp do informacji. Często takie systemy mają rozproszoną architekturę i mogą współpracować z różnymi aktywnymi urządzeniami sieciowymi. Zauważ, że wiele nowoczesnych NIDS to hybrydy i łączą kilka podejść. W zależności od konfiguracji i ustawień mogą rozwiązywać różne problemy – na przykład zabezpieczając jeden węzeł lub całą sieć. Dodatkowo funkcje IDS dla stacji roboczych przejęły pakiety antywirusowe, które w związku z rozprzestrzenianiem się trojanów nastawionych na kradzież informacji zamieniły się w wielofunkcyjne zapory ogniowe, rozwiązujące również zadania rozpoznawania i blokowania podejrzanego ruchu.

Początkowo IDS mógł wykrywać tylko aktywność złośliwego oprogramowania, skanery portów lub, powiedzmy, naruszenia przez użytkowników korporacyjnych zasad bezpieczeństwa. Gdy wystąpiło określone zdarzenie, powiadamiali administratora, ale szybko stało się jasne, że samo rozpoznanie ataku nie wystarczy – trzeba go zablokować. Tak więc IDS przekształcił się w IPS (Intrusion Prevention Systems) - systemy zapobiegania włamaniom, które mogą wchodzić w interakcje z zaporami ogniowymi.

Metody wykrywania

Nowoczesne rozwiązania do wykrywania i zapobiegania włamaniom wykorzystują różne metody wykrywania złośliwej aktywności, które można podzielić na trzy kategorie. Daje nam to kolejną opcję klasyfikacji systemów:

  • Oparte na sygnaturach systemy IDS/IPS wyszukują wzorce w ruchu lub monitorują zmiany stanu systemu w celu wykrycia ataku sieciowego lub próby infekcji. Praktycznie nie dają niewypałów i fałszywych alarmów, ale nie są w stanie wykryć nieznanych zagrożeń;
  • IDS wykrywające anomalie nie używają sygnatur ataków. Rozpoznają nieprawidłowe zachowanie systemów informatycznych (w tym anomalie w ruchu sieciowym) i potrafią wykryć nawet nieznane ataki. Takie systemy dają całkiem sporo fałszywych alarmów, a użyte niewłaściwie paraliżują działanie sieci lokalnej;
  • IDS oparte na regułach działają w następujący sposób: jeśli FAKT, to DZIAŁANIE. W rzeczywistości są to systemy ekspertowe z bazami wiedzy – zbiorem faktów i reguł wnioskowania. Takie rozwiązania są czasochłonne w konfiguracji i wymagają od administratora szczegółowego zrozumienia sieci. 

Historia rozwoju IDS

Era szybkiego rozwoju Internetu i sieci korporacyjnych rozpoczęła się w latach 90. ubiegłego wieku, jednak nieco wcześniej eksperci byli zdziwieni zaawansowanymi technologiami bezpieczeństwa sieci. W 1986 roku Dorothy Denning i Peter Neumann opublikowali model IDES (system ekspercki wykrywania włamań), który stał się podstawą większości nowoczesnych systemów wykrywania włamań. Wykorzystała system ekspercki do identyfikacji znanych ataków, a także metody statystyczne i profile użytkowników/systemów. IDES działał na stacjach roboczych Sun, sprawdzając ruch sieciowy i dane aplikacji. W 1993 roku został wydany NIDES (Next-generation Intrusion Detection Expert System) – system ekspercki nowej generacji do wykrywania włamań.

W oparciu o prace Denninga i Neumanna, w 1988 roku pojawił się system ekspercki MIDAS (Multics intrusion detection and alerting system), wykorzystujący P-BEST i LISP. W tym samym czasie powstał system Haystack oparty na metodach statystycznych. Kolejny detektor anomalii statystycznych, W&S (Wisdom & Sense), został opracowany rok później w Los Alamos National Laboratory. Rozwój przemysłu przebiegał w szybkim tempie. Na przykład w 1990 r. wykrywanie anomalii zostało już zaimplementowane w systemie TIM (Time-based inductive machine) przy użyciu uczenia indukcyjnego na sekwencyjnych wzorcach użytkownika (język Common LISP). NSM (Network Security Monitor) porównywał macierze dostępu do wykrywania anomalii, a ISOA (Information Security Officer's Assistant) wspierał różne strategie wykrywania: metody statystyczne, sprawdzanie profili i system ekspercki. System ComputerWatch stworzony w AT&T Bell Labs wykorzystywał zarówno metody statystyczne, jak i reguły weryfikacji, a programiści z Uniwersytetu Kalifornijskiego otrzymali pierwszy prototyp rozproszonego IDS już w 1991 roku - DIDS (Distributed Intrusion Detection System) był także ekspertem system.

Początkowo IDS były autorskie, ale już w 1998 roku Laboratorium Narodowe. Lawrence z Berkeley wypuścił Bro (przemianowany na Zeek w 2018 r.), system typu open source, który używa własnego języka reguł do analizowania danych libpcap. W listopadzie tego samego roku pojawił się sniffer pakietów APE wykorzystujący libpcap, który miesiąc później przemianowano na Snort, a później stał się pełnoprawnym IDS/IPS. W tym samym czasie zaczęły pojawiać się liczne autorskie rozwiązania.

Snort i Suricata

Wiele firm preferuje darmowe i otwarte rozwiązania IDS/IPS. Wspomniany już Snort przez długi czas był uważany za standardowe rozwiązanie, ale teraz został zastąpiony przez system Suricata. Rozważ bardziej szczegółowo ich zalety i wady. Snort łączy w sobie zalety metody sygnaturowej z możliwością wykrywania anomalii w czasie rzeczywistym. Suricata umożliwia również inne metody oprócz wykrywania sygnatur ataków. System został stworzony przez grupę programistów, którzy oddzielili się od projektu Snort i obsługuje funkcje IPS od wersji 1.4, natomiast zapobieganie włamaniom pojawiło się w Snort później.

Główną różnicą między tymi dwoma popularnymi produktami jest możliwość wykorzystania przez Suricatę GPU do obliczeń IDS, a także bardziej zaawansowanego IPS. System został pierwotnie zaprojektowany do wielowątkowości, podczas gdy Snort jest produktem jednowątkowym. Ze względu na swoją długą historię i przestarzały kod nie wykorzystuje optymalnie wieloprocesorowych/wielordzeniowych platform sprzętowych, podczas gdy Suricata może obsługiwać ruch do 10 Gb/s na zwykłych komputerach ogólnego przeznaczenia. O podobieństwach i różnicach między obydwoma systemami można mówić długo, ale choć silnik Suricaty działa szybciej, to przy niezbyt szerokich kanałach nie ma to znaczenia.

Opcje wdrażania

IPS musi być umieszczony w taki sposób, aby system mógł monitorować kontrolowane przez siebie segmenty sieci. Najczęściej jest to dedykowany komputer, którego jeden interfejs łączy się za urządzeniami brzegowymi i „przegląda” przez nie do niezabezpieczonych sieci publicznych (Internet). Inny interfejs IPS jest podłączony do wejścia chronionego segmentu, dzięki czemu cały ruch przechodzi przez system i jest analizowany. W bardziej złożonych przypadkach może istnieć kilka chronionych segmentów: na przykład w sieciach korporacyjnych często przydzielana jest strefa zdemilitaryzowana (DMZ) z usługami dostępnymi z Internetu.

Snort czy Suricata. Część 1: Wybór bezpłatnego IDS/IPS do ochrony sieci korporacyjnej

Taki IPS może zapobiegać skanowaniu portów lub atakom brute-force, wykorzystywaniu luk w zabezpieczeniach serwera pocztowego, serwera WWW lub skryptów, a także innym rodzajom ataków zewnętrznych. Jeśli komputery w sieci lokalnej są zainfekowane złośliwym oprogramowaniem, IDS nie pozwoli im na kontakt z serwerami botnetów znajdującymi się na zewnątrz. Poważniejsza ochrona sieci wewnętrznej będzie najprawdopodobniej wymagać złożonej konfiguracji z rozproszonym systemem i kosztownymi zarządzalnymi przełącznikami zdolnymi do tworzenia kopii lustrzanych ruchu dla interfejsu IDS podłączonego do jednego z portów.

Często sieci korporacyjne są celem rozproszonych ataków typu „odmowa usługi” (DDoS). Chociaż nowoczesne systemy IDS mogą sobie z nimi poradzić, powyższa opcja wdrożenia jest tutaj mało pomocna. System rozpoznaje złośliwą aktywność i blokuje fałszywy ruch, ale w tym celu pakiety muszą przejść przez zewnętrzne połączenie internetowe i dotrzeć do jego interfejsu sieciowego. W zależności od intensywności ataku kanał transmisji danych może nie wytrzymać obciążenia i cel atakujących zostanie osiągnięty. W takich przypadkach zalecamy wdrożenie IDS na serwerze wirtualnym ze znanym lepszym połączeniem internetowym. Możesz podłączyć VPS do sieci lokalnej przez VPN, a następnie będziesz musiał skonfigurować kierowanie przez nią całego ruchu zewnętrznego. Wtedy w przypadku ataku DDoS nie będziesz musiał kierować pakietów przez połączenie do dostawcy, zostaną one zablokowane na zewnętrznym hoście.

Snort czy Suricata. Część 1: Wybór bezpłatnego IDS/IPS do ochrony sieci korporacyjnej

Problem z wyborem

Bardzo trudno wskazać lidera wśród darmowych systemów. O wyborze IDS/IPS decyduje topologia sieci, niezbędne funkcje zabezpieczające, a także osobiste preferencje administratora i jego chęć majstrowania przy ustawieniach. Snort ma dłuższą historię i jest lepiej udokumentowany, chociaż informacje o Suricacie można łatwo znaleźć w Internecie. W każdym razie, aby opanować system, trzeba będzie podjąć pewne wysiłki, które w końcu się opłaci - komercyjny sprzęt i oprogramowanie sprzętowo-programowe IDS / IPS są dość drogie i nie zawsze mieszczą się w budżecie. Nie należy żałować poświęconego czasu, ponieważ dobry administrator zawsze podnosi swoje kwalifikacje kosztem pracodawcy. W tej sytuacji wszyscy wygrywają. W następnym artykule przyjrzymy się niektórym opcjom wdrożenia Suricaty i porównamy w praktyce bardziej nowoczesny system z klasycznym IDS/IPS Snort.

Snort czy Suricata. Część 1: Wybór bezpłatnego IDS/IPS do ochrony sieci korporacyjnej

Snort czy Suricata. Część 1: Wybór bezpłatnego IDS/IPS do ochrony sieci korporacyjnej

Źródło: www.habr.com

Dodaj komentarz