Suricata - narzędzie do wykrywania, zapobiegania i bezpieczeństwa wtargnięcia

Suricata - narzędzie do wykrywania, zapobiegania i bezpieczeństwa wtargnięcia

Suricata to silny silnik wykrywania zagrożenia dla zagrożeń dla zagrożeń, który zapewnia funkcjonalność wykrywania włamań (IDS), zapobiegania włamaniu (IPS) i monitorowania bezpieczeństwa sieciowego. Wykonuje głęboką kontrolę pakietów wraz z wzorem pasującym do mieszanki, która jest niezwykle potężna w wykrywaniu zagrożeń.

W momencie pisania tego przewodnika najnowsza wersja Suricata Jest 6.0.5.

Funkcje suricata

  • IDS/IPS - Suricata jest oparty na zasadach Wykrywanie wtargnięcia I Zapobieganie Silnik, który wykorzystuje opracowane zewnętrznie reguły, takie jak Talos RuleSet i pojawiające się zagrożenia Suricata, aby monitorować ruch sieciowy pod kątem złośliwych działań, naruszeń polityki i zagrożeń.
  • Automatyczne wykrywanie protokołu - Silnik Suricata automatycznie wykrywa protokoły, takie jak HTTP i HTTPS. FTP i SMB na dowolnym porcie i zastosuj odpowiednią logikę wykrywania i rejestrowania. Przydaje się to w wykrywaniu złośliwego oprogramowania i kanałów CNC.
  • Skrypty Lua - Suricata może się powołać Lua Skrypty, które zapewniają zaawansowane wykrywanie złośliwego oprogramowania do wykrywania i dekodowania ruchu złośliwego oprogramowania, które w innym przypadku trudno wykryć.
  • Wielokrotność - Surycata zapewnia szybkość i znaczenie w określaniu ruchu sieciowego. Silnik jest opracowany w celu zastosowania zwiększonej mocy przetwarzania oferowanej przez nowoczesne chipsy sprzętowe wielordzeniowe.

Instalowanie narzędzia do wykrywania włamań Suricata w Linux

W tej sekcji zademonstrujemy, jak zainstalować Suricata w dystrybucjach opartych na debian i RHEL.

Zainstaluj Suricata na Debian/Ubuntu & Mint

Suricata Jest dostarczony przez Debian / Ubuntu repozytoria i można je łatwo zainstalować za pomocą apt pakiet Manager. Warto jednak zauważyć, że nie instaluje to najnowszej wersji suricata. Aby zainstalować najnowszą wersję, musisz zainstalować ją ze źródła, które omówimy później w tym przewodniku.

Żeby zainstalować Suricata używając trafny Menedżer pakietów, uruchom polecenie:

$ sudo apt instinst instaluj suricata -y 
Zainstaluj suricata w Ubuntu

Suricata zaczyna się automatycznie po zainstalowaniu. Możesz to potwierdzić w następujący sposób.

$ sudo systemctl status suricata 
Sprawdź suricata w Ubuntu

Zainstaluj Suricata na Rhel, Rocky, Almalinux i Fedora

Żeby zainstalować Suricata NA Rhel Rozkłady takie jak Centos Stream, Rocky Linux, Almalinux, Fedora i Rhel, musisz najpierw włączyć repozytorium EPEL.

$ dnf Zainstaluj https: // dl.Fedoraproject.ORG/PUB/EPEL/EPEL-Relase-Latest-9.Noarch.RPM [RHEL 9] $ dnf zainstaluj https: // dl.Fedoraproject.ORG/PUB/EPEL/EPEL-Relase-Latest-8.Noarch.RPM [RHEL 8] $ yum instaluj https: // dl.Fedoraproject.ORG/PUB/EPEL/EPEL-Relase-Latest-8.Noarch.RPM [RHEL 7] 

Raz Epel jest włączony, zainstaluj następujące wymagane pakiety i dodaj OISF Repozytorium do twojego systemu.

----------- W systemach Fedora ----------- $ sudo dnf instaluj dnf-Pluginin-Core $ sudo dnf copr enable @oISF/suricata-6.0 ----------- Na systemach RHEL ----------- $ sudo dnf instaluj Yum-Plugin-Copr $ sudo dnf copr enable @oISf/suricata-6.0 

Następnie zainstaluj Suricata Korzystanie z menedżera pakietów DNF lub Menedżera pakietu Yum, jak pokazano.

$ sudo dnf instalacja suricata -y lub $ sudo yum instaluj suricata -y 
Zainstaluj suricata w Rhel

Raz Suricata jest instalowany, uruchamia i weryfikuj jego status.

$ sudo systemctl start suricata $ sudo systemctl status suricata 
Sprawdź suricata w Rhel

Zainstaluj suricata ze źródła w Linux

Domyślne repozytoria systemu operacyjnego nie dostarczają najnowszej wersji Suricata. Jeśli Twoim celem jest zainstalowanie najnowszej wersji Suricata, Następnie musisz zainstalować go ze źródła.

W momencie pisania tego przewodnika najnowsza wersja suricata jest 6.0.5. Żeby zainstalować Suricata ze źródła na Ubuntu/Debian I Rhel Rozkłady, zainstaluj następujące biblioteki, narzędzia do kompilacji i zależności.

----------- W systemach Debian ----------- $ sudo apt install rustc build-essential cargo libpcre3 libpcre3-dbg libpcre3-dev make autoconf automake libtool libcap-ng0 make libmagic-dev libjansson-dev libjansson4 libpcap-dev libnet1-dev libyaml-0-2 libyaml-dev zlib1g zlib1g-dev libcap -ng-dev pkg-config libNetFilter-Queue1 libnfnetlink0 libNetFilter-Queue-dev libnfnetlink-dev -y ----------- Na systemach RHEL ----------- $ sudo yum install gcc libpcap-devel pcre-devel libyaml-devel file-devel zlib-devel jansson-devel nss-devel libcap-ng-devel libnet-devel tar make libnetfilter_queue-devel lua-devel PyYAML libmaxminddb-devel rustc cargo lz4- Rozwój -y 

Następnie zainstaluj narzędzie Suricata-Update, aby zaktualizować zasady Suricata.

$ sudo apt Zainstaluj Python3-Pip [on Debian] $ sudo yum instaluj Python3-Pip [on Rhel] $ PIP3 instaluj-upgrade-update 

Następnie utwórz symboliczny link do /usr/bin/suricata-update.

$ sudo ln -s/usr/local/bin/suricata-update/usr/bin/suricata-update 

Teraz przejdź do oficjalnej strony pobierania Suricata i pobierz najnowszy plik Tarball dla Linux za pomocą polecenia WGET.

$ wget https: // www.OpenInfosecFoundation.org/pobierz/suricata-6.0.6.smoła.GZ 

Po pobraniu wyodrębnij plik Tarball i zainstaluj go.

$ sudo tar -xvf suricata -6.0.6.smoła.gz $ cd suricata-6.0.6 $ ./Configure --enable-nfququeue--Prefix =/usr--Sysconfdir =/etc--localstatedir =/var $ make $ Make install-Full 

Konfigurowanie suricata w Linux

Aby rozpocząć konfigurowanie Suricata, Musimy określić wewnętrzną sieć IP i sieć zewnętrzną. Aby to zrobić, uzyskaj dostęp do pliku konfiguracyjnego.

$ sudo vim/etc/suricata/suricata.Yaml 

Dla Home_net Dyrektywa, określ adres IP swojego systemu Linux.

Home_net: "[173.82.235.7] " 

Następnie ustaw Zewnętrzny_net dyrektywa do „!$ Home_net".

External_net: "!$ Home_net " 
Skonfiguruj suricata w Linux

Następnie określ interfejs sieciowy, na którym Suricata Sprawdzi ruch sieciowy. W naszym przypadku jest to ETH0 interfejs.

Możesz zweryfikować swój aktywny interfejs sieciowy za pomocą polecenia IP:

$ ip a 

W pliku konfiguracyjnym zaktualizuj dyrektywę interfejsu o nazwie interfejsu sieciowego.

- Interfejs: ETH0 
Skonfiguruj interfejs sieciowy Suricata

Następnie upewnij się, że Default-Rule-Path atrybut jest ustawiony na /etc/suricata/reguły.

Skonfiguruj reguły suricata

Następnie zapisz zmiany i zamknij plik konfiguracyjny. Następnie uruchom ponownie Suricata za zmiany, które mają zastosowanie.

$ sudo systemctl status suricata 

Aktualizacja serii suricata w Linux

Domyślnie, Suricata statki z ograniczonym zestawem reguł wykrywania znajdujących się w /etc/suricata/reguły informator. Są one jednak uważane za słabe i nieskuteczne w wykrywaniu ingerencji. Musisz załadować Pojawiające się zagrożenie (Et) zasady, które są uważane za najbardziej kompleksowe zestawy reguł dla suricata.

Suricata zapewnia narzędzie znane jako Suricata-update który pobiera reguły od zewnętrznych dostawców. Aby uzyskać aktualny zestaw reguł dla swojego serwera, uruchom następujące polecenie.

$ sudo suricata -update -o/etc/suricata/zasady 
Aktualizacja serii suricata Pobierz zasady dotyczące zagrożeń Suricata

Ze wyjścia możesz zobaczyć Suricata-update Pobieranie za darmo Pojawiające się zagrożenia i otwarte zasady i oszczędzając ich na Suricata /etc/suricata/reguły/suricata Plik reguł. Ponadto wskazuje liczbę przetwarzanych reguł. W tym przykładzie suma 35941 zostały dodane. Tych, 28221 zostały włączone, 18 zostały usunięte i 1249 zostały zmodyfikowane.

Dodawanie serii surcata w Linux

Suricata-update narzędzie pozwala pobierać reguły od dostawców zasad reguł. Niektóre są wolne, takie jak ET otwarte zestaw, podczas gdy inne wymagają płatnej subskrypcji.

Aby wymienić domyślny zestaw dostawców reguł, uruchom Suricata-update polecenie jak pokazano.

$ sudo suricata-update-list-sources 
Wymień dostawców reguł Suricata

Aby dodać na przykład zestaw reguł TGREEN/PONIEDYTET RULSET, Uruchom następujące polecenie.

$ sudo suricata-update Włącz źródło tgreen/polowanie 
Dodaj zestaw reguł suricata

Po dodaniu zestaw reguł, uruchom Suricata-update polecić ponownie z -o/etc/suricata/zasady flaga.

$ sudo suricata -update -o/etc/suricata/zasady 
Zastosuj zestaw reguł Suricata

Testowanie zasad suricata w Linux

Zanim zaczniesz testować Suricata, Zaleca się przetestowanie, czy konfiguracja jest w porządku. Aby to zrobić, uruchom następujące polecenie:

$ sudo suricata -t -c/etc/suricata/suricata.YAML -V 

Upewnij się, że nie zgłoszono żadnych błędów. Jeśli prowadzisz Rhel, Centos Stream, Fedora i Rocky Linux Start i włącz Suricata.

$ sudo systemctl start suricata $ sudo systemctl włącz Suricata 

Jak dotąd pomyślnie zainstalowaliśmy i skonfigurowaliśmy Suricata i zaktualizowałem reguły. Zestaw reguł ET Otwarte zawiera ponad 30 000 zasad wykrywania złośliwego ruchu. W tej sekcji przetestujemy suricata i sprawdzimy, czy może wykryć podejrzany ruch sieciowy.

Przetestujemy ET otwarte Zasady, symulując wtargnięcie, zgodnie z zaleceniami przewodnika Surycata QuickStart.

Funkcja IDS zostanie przetestowana z podpisem 2100498, wysyłając żądanie HTTP do TestMynids.org strona internetowa, która jest NIDS (System wtargnięcia i wykrywania sieci) ramy.

$ curl http: // testMynids.org/uid/indeks.html 

Powinieneś uzyskać następujące dane wyjściowe.

uid = 0 (root) gid = 0 (root) grupy = 0 (root) 

Http Wysłane żądanie zostało zaprojektowane w celu uruchomienia ostrzeżenia poprzez naśladowanie wyjścia ID polecenie, które może działać w zagrożonym systemie zdalnym za pośrednictwem powłoki.

Przejrzyjmy teraz dzienniki Surycaty dla odpowiedniego ostrzeżenia. Suricata wysyła z domyślnie dwa pliki dziennika, które są włączone.

/var/log/suricata/fast.log/var/log/suricata/eve.dziennik 

Sprawdzimy wpis dziennika w /var/log/suricata/fast.dziennik plik dziennika, który odpowiada żądaniu Curl za pomocą polecenia GREP. Wyszukamy wpisy dziennika za pomocą 2100498 Identyfikator reguły z dokumentacji QuickStart.

$ grep 2100948/var/log/suricata/fast.dziennik 

Otrzymasz następujące dane wyjściowe, które oznacza wtargnięcie. Tutaj, 173.82.235.7 to publiczny adres IP serwera.

09/09/2022-22: 17: 06.796434 [**] [1: 2100498: 7] GPL Attack_Response Id Sprawdź zwrócone root [**] [Klasyfikacja: potencjalnie zły ruch] [Priorytet: 2] TCP 13.226.210.123: 80 -> 173.82.235.7: 33822 
Sprawdź dzienniki suricata

Alternatywnie możesz sprawdzić /var/log/suricata/eve.dziennik plik dziennika dla identyfikatora podpisu 2100498, jak pokazano.

$ jq 'wybierz (.alarm .Signature_id == 2100498) '/var/log/suricata/eve.JSON 
Sprawdź dziennik suricata pod kątem identyfikatora podpisu

To był kompleksowy przewodnik na temat instalacji i konfiguracji Suricata na Linux. Przeglądaliśmy różne metody instalacji, jak skonfigurować Suricata i aktualizacja Suricata Zasady, a także sposób zarządzania usługą Suricata SystemD i przeprowadzania testów wtargnięcia sieci.

Mamy nadzieję, że możesz teraz wygodnie zainstalować i użyć Suricata Aby zabezpieczyć system przed wtargnięciami sieciowymi lub złośliwego ruchu.