Jeśli poważnie myślisz o bezpieczeństwie sieci i poprawie ochrony, instalacja systemów wykrywania i zapobiegania włamaniom (IPS lub IDS) jest koniecznością w celu wzmocnienia granic sieci i blokowania niepożądanego ruchu sieciowego.
Snort to popularne rozwiązanie IPS/IDS, które jest bezpłatne do użytku osobistego i ma otwarty kod źródłowy. Dowiedzmy się, jak zainstalować i skonfigurować Snort w systemie Linux, aby chronić swoją sieć przed cyberatakami. Sprawdź Co się dzieje, gdy Twój telefon Cię szpieguje?

Szybkie linki
Czym jest Snort?

Snort to aplikacja typu open source do wykrywania i zapobiegania włamaniom do sieci (NIDS/IPS), która, jak sama nazwa wskazuje, pomaga zabezpieczyć obwód sieci poprzez egzekwowanie reguł i filtrów, które wykrywają i odrzucają złośliwe pakiety wstrzykiwane do sieci.
Dzięki Snort możesz wykonywać zaawansowane rejestrowanie ruchu sieciowego, podsłuchiwać i analizować pakiety oraz skonfigurować solidny system zapobiegania włamaniom, który ochroni Twoją sieć przed niechcianym i potencjalnie złośliwym ruchem.
Wymagania wstępne instalacji Snort
Przed instalacją Snorta należy wykonać kilka wstępnych konfiguracji. Polegają one głównie na aktualizacji i modernizacji systemu oraz instalacji zależności wymaganych przez Snorta do prawidłowego działania.
Rozpocznij aktualizację i modernizację swojego systemu.
W dystrybucjach Linuksa opartych na Ubuntu i Debianie:
sudo apt update && apt upgrade -y
W systemie Arch Linux i jego dystrybucjach:
sudo pacman -Syu
W systemach RHEL i Fedora:
aktualizacja sudo dnf
Podczas aktualizacji systemu kontynuuj instalację zależności wymaganych przez Snort. Oto polecenia, które należy uruchomić:
W Ubuntu i Debianie uruchom:
sudo apt install -y build-essential autotools-dev libdumbnet-dev libluajit-5.1-dev libpcap-dev zlib1g-dev pkg-config libhwloc-dev cmake liblzma-dev openssl libssl-dev cpputest libsqlite3-dev libtool uuid-dev git autoconf bison flex libcmocka-dev libnetfilter-queue-dev libunwind-dev libmnl-dev ethtool libjemalloc-dev libpcre++-dev
W Arch Linux uruchom:
sudo pacman -S gperftools hwloc hyperscan ibdaqlibdnet libmnl libpcap libunwind luajit lz4 openssl pcre pulledporkxz zlib cmake pkgconf
W przypadku systemów RHEL i Fedora należy wydać następujące polecenie:
sudo dnf install gcc gcc-c++ libnetfilter_queue-devel git flex bison zlib zlib-devel pcre pcredevel libdnet tcpdump libnghttp2 wget xz-devel -y
Dodatkowo należy ręcznie zainstalować bibliotekę do pozyskiwania danych LibDAQ, aby Snort działał prawidłowo, a także gperftools w celu wygenerowania plików kompilacji.
Najpierw pobierz pliki źródłowe LibDAQ z oficjalnej strony internetowej, korzystając z polecenia wgetNastępnie rozpakuj skompresowany plik i przejdź do katalogu za pomocą polecenia cd. W katalogu uruchom skrypty rozruchowe i konfiguracyjne, a następnie kontynuuj przygotowywanie plików za pomocą polecenia make install.
wget https://www.snort.org/downloads/snortplus/libdaq-3.0.11.tar.gz tar -xzvf lib* cd lib* ./bootstrap ./configure make sudo make install
Po zainstalowaniu LibDAQ musisz zainstalować ostatnią zależność: gperftools. Zacznij od pobrania plików źródłowych z repozytorium GitHub. Wypakuj pliki, przejdź do katalogu i uruchom skrypt konfiguracyjny. Na koniec zainstaluj pakiet za pomocą poleceń. make install.
wget https://github.com/gperftools/gperftools/releases/download/gperftools-2.10/gperftools-2.10.tar.gz tar -xvzf gper* && cd gper ./configure make sudo make install
Po zainstalowaniu tych zależności możesz przejść do następnych kroków instalacji Snort.
Zainstaluj Snort ze źródła w systemie Linux

Po zakończeniu konfiguracji początkowej możesz skupić się na instalacji właściwej aplikacji. Będziesz ją kompilować ze źródeł, więc najpierw zdobądź niezbędne pliki kompilacji.
Użyj polecenia wget lub pobierz pliki ręcznie z oficjalnej strony pobierania:
wget https://www.snort.org/downloads/snortplus/snort3-3.1.58.0.tar.gz
ل: Parsknięcie
Po zakończeniu pobierania pliku zip zawierającego pliki kompilacji należy go rozpakować za pomocą polecenia smoła:
tar -xzvf snort*
Przejdź do wyodrębnionego folderu, uruchom skrypt konfiguracyjny i użyj polecenia robić Aby przygotować pliki, a następnie zainstalować je za pomocą make install:
cd snort* ./configure_cmake.sh — prefiks=/usr/local — włącz-tcmalloc cd build make sudo make install
Snort zostanie pomyślnie zainstalowany w systemie. Musisz jednak wykonać jeszcze jeden krok. Podczas ręcznej instalacji nowej aplikacji, katalog instalacyjny i wymagane biblioteki mogą nie zostać automatycznie uwzględnione w domyślnej ścieżce systemowej. W związku z tym podczas uruchamiania aplikacji mogą wystąpić błędy.
Aby uniknąć tego problemu, należy uruchomić polecenie ldconfigZsynchronizuje pamięć podręczną bibliotek współdzielonych systemu z nowo zainstalowanymi bibliotekami i plikami binarnymi. Uruchom polecenie ldconfig Z uprawnieniami roota lub używając prefiksu sudo:
sudo ldconfig
Omówiłeś już wszystkie ważne kroki wymagane do instalacji Snort. Aby zweryfikować instalację, uruchom polecenie Snort z flagą -V , a powinieneś zobaczyć wynik, który zwróci nazwę wersji i inne dane.
chrząknięcie -V
Po sprawdzeniu, czy Snort jest zainstalowany, wykonaj poniższe kroki, aby skonfigurować go jako pełnoprawny system IDS/IPS.
Początkowa konfiguracja Snort w systemie Linux

Wydajność narzędzia Snort zależy niemal wyłącznie od jakości dostarczanych zestawów reguł.
Zanim jednak zaczniesz konfigurować reguły, musisz skonfigurować karty sieciowe do współpracy ze Snortem i przetestować, jak Snort obsługuje konfigurację domyślną. Zacznij od skonfigurowania kart sieciowych.
Musisz ustawić interfejs sieciowy w tryb promiscuous:
sudo ip link ustaw dev interface_name promisc na
za pomocą ettool Wyłącz funkcję ogólnego odciążenia odbioru (GRO) i dużego odciążenia odbioru (LRO), aby zapobiec utracie większych pakietów sieciowych:
sudo ethtool -K interface_name gro off lro off

Sprawdź działanie Snort przy domyślnej konfiguracji:
snort -c /usr/local/etc/snort/snort.lua
Powinno to zwrócić wynik potwierdzający, że Snort został poprawnie zainstalowany i skonfigurowany w systemie. Możesz teraz modyfikować jego funkcje i eksperymentować z różnymi konfiguracjami, aby znaleźć najlepszy zestaw reguł zabezpieczających sieć.
Ustawianie i egzekwowanie reguł za pomocą Snort
Po wprowadzeniu podstawowych ustawień, Snort jest teraz gotowy do obrony Twojego obwodu. Jak wiesz, Snort wymaga zestawów reguł do określania poprawności ruchu, więc skonfigurujmy kilka darmowych zestawów reguł dla Snorta, generowanych przez społeczność.
Snort odczytuje zestawy reguł i konfiguracje z określonych katalogów. Najpierw użyj poleceń mkdir و _ Utwórz kilka ważnych katalogów do przechowywania reguł i innych istotnych danych dla programu Snort:
sudo mkdir -p /usr/local/etc/{lists,so_rules,rules} sudo touch /usr/local/etc/rules/local.rules sudo touch /usr/local/etc/lists/default.blocklistTworząc te przewodniki, możesz pobrać zbiór zasad społeczności z oficjalnej strony internetowej, korzystając z polecenia wget:
wget https://www.snort.org/downloads/community/snort3-community-rules.tar.gz
Po zakończeniu pobierania zestawu reguł wypakuj go i skopiuj do katalogu /usr/local/etc/rules/.
tar -xvzf snort3-com* cd snort3-com* cp * /usr/local/etc/rules/

Aby uruchomić Snort z zestawem reguł, wykonaj następujące polecenie:
sudo snort -c /usr/local/etc/snort/snort.lua -R /usr/local/etc/rules/snort3-community.rules -i nazwa_interfejsu -s 65535 -k brak
Interpretacja polecenia:
- -c Określa ścieżkę do domyślnego pliku konfiguracyjnego.
- -R Określa ścieżkę do egzekwowanej reguły.
- -i Określa interfejs.
- -s Ignoruje limit Snaplena.
- -k Ignoruje sumę kontrolną.
Powinno to zweryfikować konfigurację i wymusić wszystkie zestawy reguł Snort. Po wykryciu jakichkolwiek zakłóceń w sieci, powiadomi Cię komunikatem na konsoli.
Jeśli chcesz utworzyć i wdrożyć własny zestaw reguł, możesz dowiedzieć się o nich więcej na stronie Oficjalne strony dokumentacji. Zweryfikować Najlepsze usługi zapór sieciowych dla aplikacji internetowych, które zabezpieczą Twoją witrynę.
Przygotowywanie logów za pomocą Snort

Domyślnie Snort nie generuje żadnych logów. Należy to określić za pomocą flagi. -L Aby uruchomić Snort w trybie rejestrowania, wybierz typ pliku rejestrowania i tag. -l Aby ustawić katalog rejestrowania logów, w którym Snort będzie zrzucał logi.
Oto polecenie uruchamiające Snort z włączonym rejestrowaniem:
sudo snort -c /usr/local/etc/snort/snort.lua -R /usr/local/etc/rules/snort3-community.rules -i nazwa_interfejsu -s 65535 -k brak -L typ_pliku -l /var/log/snort
Interpretacja polecenia:
- -c Określa ścieżkę do domyślnego pliku konfiguracyjnego.
- -R Określa ścieżkę do egzekwowanej reguły.
- -i Określa interfejs.
- -s Ignoruje limit Snaplena.
- -k Ignoruje sumę kontrolną.
- -L Włącza tryb rejestrowania i określa typ pliku dziennika.
- On precyzuje -l Ścieżka przechowywania dziennika.
Należy pamiętać, że w poprzednim przykładzie polecenia katalog nagrywania został ustawiony na /var/log/snortChoć jest to zalecana praktyka, możesz przechowywać swoje dokumenty gdzie indziej.
Pliki dziennika Snort można odczytywać z określonego katalogu lub przekazywać je do aplikacji SIEM, np. Splunk, w celu dalszej analizy.
Dodaj Snort jako proces demona, aby uruchomić go w systemie

Nawet jeśli zainstalowałeś i skonfigurowałeś Snorta, musisz upewnić się, że uruchamia się on przy starcie systemu i działa jako serwer w tle. Dodanie go jako usługi systemowej uruchamianej automatycznie zapewni, że Snort będzie działał i chronił Twój system przez cały czas, gdy jest on połączony z internetem.
Oto jak dodać proces demona, aby uruchomić Snort w systemie Linux:
- Rozpocznij tworzenie pliku usługi. systemd nowy:
dotknij /lib/systemd/system/snort.service
- Otwórz plik w wybranym edytorze tekstu i wprowadź następujące informacje. Możesz zmodyfikować tagi według własnych potrzeb:
[Jednostka] Opis=Demon Snort After=syslog.target network.target [Usługa] Typ=simple ExecStart=/usr/local/bin/snort -c /usr/local/etc/snort/snort.lua -R /usr/local/etc/rules/snort3-community.rules -s 65535 -k none -l /var/log/snort -D -L pcap -i ens33 [Instalacja] WantedBy=multi-user.target
- Zapisz i wyjdź z pliku. Następnie użyj poleceń usługa و systemctl Włącz i uruchom skrypt:
sudo systemctl włącz snort. usługa sudo snort start
Proces demona Snort powinien teraz działać. Możesz sprawdzić status skryptu za pomocą polecenia. Powinno ono zwrócić pozytywny wynik.
status systemctl snort
Teraz wiesz, jak chronić swoją sieć za pomocą Snort IDS.
Chociaż wdrożenie systemu IDS jest dobrą praktyką, jest to raczej działanie pasywne niż aktywne. Najlepszym sposobem na poprawę i zapewnienie bezpieczeństwa sieci jest jej ciągłe testowanie i wyszukiwanie luk, które należy naprawić.
Testy penetracyjne to doskonały sposób na znalezienie i naprawienie podatnych na wykorzystanie luk w zabezpieczeniach. Możesz już teraz sprawdzić Najlepsze narzędzia do testów penetracyjnych dla specjalistów ds. cyberbezpieczeństwa.










