Chroń swoją sieć przed intruzami i niechcianymi atakami, instalując i konfigurując Snort IDS.
Jeśli poważnie myślisz o bezpieczeństwie sieci, instalacja rozwiązania IPS lub IDS jest koniecznością, aby umocnić obwód sieci i odeprzeć potencjalnie niepożądany ruch sieciowy.
Snort jest jednym z takich słynnych, darmowych do użytku osobistego rozwiązań IPS/IDS o otwartym kodzie źródłowym. Dowiedzmy się, jak zainstalować i skonfigurować Snort w systemie Linux, aby chronić swoją sieć przed cyberatakami.
Co to jest Snort?
Snort jest oprogramowaniem typu open source Sieciowy system wykrywania i zapobiegania włamaniom Oprogramowanie (NIDS/IPS), które, jak sama nazwa wskazuje, pomaga w zabezpieczeniu granic sieci poprzez egzekwowanie reguł i filtrów wykrywających i usuwających potencjalnie złośliwe pakiety wprowadzane do sieci.
Dzięki Snort będziesz mógł przeprowadzać zaawansowane rejestrowanie ruchu sieciowego, wąchanie i analizę pakietów oraz ustawianie stworzyć silny system zapobiegania włamaniom, który chroni Twoją sieć przed niechcianymi i potencjalnie złośliwymi ruch drogowy.
Wymagania wstępne do instalacji Snorta
Przed zainstalowaniem Snorta należy przeprowadzić wstępną konfigurację. Obejmuje to głównie aktualizację i aktualizację systemu oraz instalację zależności wymaganych przez Snort do prawidłowego działania.
Zacznij od aktualizacji i aktualizacji systemu.
Na Ubuntu- i Dystrybucje Linuksa oparte na Debianie:
sudo apt update && apt upgrade -y
W Arch Linux i jego pochodnych:
sudo pacman -Syu
W RHEL i Fedorze:
sudo aktualizacja dnf
Po zaktualizowaniu systemu kontynuuj instalowanie zależności wymaganych przez Snort. Oto polecenia, które musisz 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 pullporkxz zlib cmake pkgconf
W przypadku RHEL i Fedory wydaj 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 musisz również ręcznie zainstalować Data Acquisition Library, LibDAQ, aby Snort działał poprawnie, a także gperftools do generowania plików kompilacji.
Najpierw pobierz pliki źródłowe LibDAQ z oficjalnej strony internetowej za pomocą polecenia wget. Następnie rozpakuj archiwum i przejdź do katalogu za pomocą cd. Wewnątrz katalogu uruchom plik bootstrap I skonfigurować skrypty następnie przystępują do przygotowania plików za pomocą make i instalują je za pomocą zrób instalację Komenda.
wget https://www.snort.org/downloads/snortplus/libdaq-3.0.11.tar.gz
tar -xzvf lib*
biblioteka cd*
./bootstrap
./konfiguruj
robić
sudo make install
Po zainstalowaniu LibDAQ musisz zainstalować ostatnią zależność: gperftools. Zacznij od pobrania plików źródłowych z repozytorium GitHub. Wyodrębnij pliki, przejdź do katalogu i uruchom skrypt konfiguracyjny. Na koniec zainstaluj pakiet za pomocą poleceń make i make install.
wget https://github.com/gperftools/gperftools/releases/download/gperftools-2.10/gperftools-2.10.tar.gz
tar -xvzf gper* && cd gper
./konfiguruj
robić
sudo make install
Po zainstalowaniu tych zależności możesz przejść do kolejnych kroków instalacji Snorta.
Zainstaluj Snort ze źródła w systemie Linux
Po zakończeniu wstępnej konfiguracji możesz teraz skupić się na instalacji rzeczywistego oprogramowania. Będziesz budować go ze źródła, więc najpierw pobierz wymagane 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
Pobierać:Parsknięcie
Po zakończeniu pobierania archiwum zawierającego pliki kompilacji rozpakuj je za pomocą polecenia tar:
tar -xzvf prychnięcie*
Przejdź do wyodrębnionego folderu, uruchom skrypt konfiguracyjny, użyj polecenia make, aby przygotować pliki, a na koniec zainstaluj je za pomocą zrób instalację:
wciąganie CD*
./configure_cmake.sh --prefix=/usr/local --enable-tcmalloc
kompilacja cd
robić
sudo make install
Snort zostanie teraz pomyślnie zainstalowany w twoim systemie. Jednak jest jeszcze tylko jeden krok, który musisz wykonać. Gdy nowe oprogramowanie jest instalowane ręcznie, katalog instalacyjny i wymagane biblioteki mogą nie być automatycznie uwzględniane w domyślnej ścieżce systemowej. Możesz więc napotkać błędy podczas uruchamiania aplikacji.
Aby uniknąć tego problemu, należy uruchomić polecenie ldconfig. Zsynchronizuje systemową pamięć podręczną bibliotek współdzielonych z nowo zainstalowanymi bibliotekami i plikami binarnymi. Uruchom komendę ldconfig z powłoki głównej lub użyj przedrostka sudo:
sudo ldconfig
Teraz omówiłeś wszystkie ważne kroki wymagane do zainstalowania Snorta. Aby zweryfikować instalację, uruchom polecenie Snort z plikiem -V flagę i powinieneś zobaczyć dane wyjściowe zwracające nazwę wersji i inne dane.
prychnąć -V
Po zweryfikowaniu instalacji Snorta przejdź do kolejnych kroków, aby skonfigurować go jako pełnoprawny system IDS/IPS.
Wstępna konfiguracja Snorta w systemie Linux
Wydajność Snorta prawie całkowicie zależy od jakości zestawów reguł, z którymi jest dostarczany.
Jednak zanim przejdziesz do konfigurowania reguł, musisz skonfigurować karty sieciowe do pracy ze Snortem, a także przetestować, w jaki sposób domyślna konfiguracja jest obsługiwana przez Snort. Zacznij od skonfigurowania kart sieciowych.
Ustaw interfejs sieciowy w trybie rozwiązłym:
sudo ip link set dev interface_name obietnica włączona
Za pomocą ethtool wyłącz Generic Receive Offload (GRO) i Large Receive Offload (LRO), aby zapobiec obcinaniu większych pakietów sieciowych:
sudo ethtool -K nazwa_interfejsu gro off lro off
Sprawdź, jak działa Snort z domyślną konfiguracją:
snort -c /usr/local/etc/snort/snort.lua
Powinno to zwrócić pomyślne wyjście sygnalizujące, że poprawnie zainstalowałeś i skonfigurowałeś Snort w swoim systemie. Teraz możesz majstrować przy jego funkcjach i eksperymentować z różnymi konfiguracjami, aby znaleźć najlepszy zestaw reguł do zabezpieczania sieci.
Skonfiguruj reguły i egzekwuj je za pomocą Snort
Po wprowadzeniu podstawowych ustawień Snort jest teraz gotowy do obrony Twojego obwodu. Jak wiesz, Snort potrzebuje zestawów reguł, aby określić ważność ruchu, skonfigurujmy kilka stworzonych przez społeczność, darmowych zestawów reguł dla Snorta.
Snort odczytuje zestawy reguł i konfiguracje z określonych katalogów. Więc najpierw, używając poleceń mkdir i touch, utwórz kilka ważnych katalogów do przechowywania reguł i innych istotnych danych dla Snorta:
sudo mkdir -p /usr/local/etc/{listy, so_rules, rules}
sudo touch /usr/local/etc/rules/local.rules
sudo touch /usr/local/etc/lists/default.blocklist
Po utworzeniu tych katalogów możesz pobrać zestaw reguł społeczności z oficjalnej strony internetowej za pomocą polecenia wget:
wget https://www.snort.org/downloads/community/snort3-community-rules.tar.gz
Po zakończeniu pobierania zestawu reguł rozpakuj go i skopiuj do pliku /usr/local/etc/rules/ informator.
tar -xvzf snort3-com*
cd snort3-com*
cp * /usr/local/etc/rules/
Aby uruchomić Snort z zestawem reguł, wykonaj to 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
Podział polecenia:
- -C ustawia ścieżkę do domyślnego pliku konfiguracyjnego
- -R ustawia ścieżkę do zestawu reguł do wymuszenia
- -I ustawia interfejs
- -S odrzuca limit snaplena
- - k ignoruje sumy kontrolne
Powinno to zweryfikować konfigurację i wymusić wszystkie zestawy reguł w Snort. Gdy tylko wykryje jakiekolwiek zakłócenia w sieci, ostrzeże Cię komunikatem konsoli.
Jeśli chcesz stworzyć i egzekwować własny zestaw reguł, możesz dowiedzieć się więcej na ten temat z oficjalne strony dokumentacji.
Skonfiguruj rejestrowanie za pomocą Snort
Domyślnie Snort nie wyświetla żadnych logów. Musisz określić za pomocą -L flagę, aby uruchomić Snort w trybie logowania, zdefiniuj typ pliku dziennika i -l flag, aby ustawić katalog rejestrowania dla Snort do zrzucania dzienników.
Oto polecenie, aby uruchomić Snort z włączonym logowaniem:
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 /parsknięcie
Podział polecenia:
- -C ustawia ścieżkę do domyślnego pliku konfiguracyjnego
- -R ustawia ścieżkę do zestawu reguł do wymuszenia
- -I ustawia interfejs
- -S odrzuca limit snaplena
- - k ignoruje sumy kontrolne
- -L włącza tryb logowania i określa typ pliku dziennika
- -l określa ścieżkę do przechowywania logów
Należy zauważyć, że w przykładowym poleceniu katalog rejestrowania jest ustawiony na /var/log/snort. Chociaż jest to zalecana praktyka, możesz przechowywać swoje dzienniki w innym miejscu.
Możesz odczytać pliki dziennika ze Snorta ze zdefiniowanego katalogu lub przekazać je do oprogramowania SIEM, takiego jak Splunk, w celu dalszej analizy.
Dodaj Snorta jako demona uruchamiania systemu
Chociaż zainstalowałeś i skonfigurowałeś Snort, musisz upewnić się, że zaczyna się on uruchamiać podczas uruchamiania i działa jako demon działający w tle. Dodanie go jako usługi automatycznego uruchamiania systemu zapewni, że Snort będzie działał i będzie bronił twojego systemu przez cały czas, gdy będzie on online.
Oto jak dodać demona startowego Snort w systemie Linux:
- Zacznij od utworzenia nowego pliku usługi systemowej:
dotknij /lib/systemd/system/snort.service
- Otwórz plik w wybranym edytorze tekstu i wypełnij go następującymi danymi. Możesz zmodyfikować flagi, aby dopasować je do swoich potrzeb:
[Jednostka]
Description=Snort demon
After=syslog.target network.target
[Praca]
Typ=prosty
ExecStart=/usr/local/bin/snort -c /usr/local/etc/snort/snort.lua -R /usr/local/etc/rules/snort3-community.rules -s 65535 -k brak -l /var /log/snort -D -L pcap -i ens33
[Zainstalować]
WantedBy=multi-user.target - Zapisz i zamknij plik. Następnie korzystając z usługi i polecenia systemctl, włącz i uruchom skrypt:
sudo systemctl włącz snort.service
sudo snort start
Demon działający w tle Snort powinien teraz działać. Możesz sprawdzić status skryptu za pomocą snort stanu systemctl Komenda. Powinien zwrócić dodatnie wyjście.
Teraz wiesz, jak chronić swoją sieć za pomocą Snort IDS
Chociaż wdrożenie IDS jest dobrą praktyką, jest to środek pasywny niż aktywny. Najlepszym sposobem na poprawę i zagwarantowanie bezpieczeństwa sieci jest jej ciągłe testowanie i poszukiwanie luk do naprawienia.
Testy penetracyjne to świetny sposób na znalezienie możliwych do wykorzystania luk w zabezpieczeniach i załatanie ich.