Jak skonfigurować Snort na Debianie

Snort to darmowy system wykrywania włamań do sieci (IDS). W mniej oficjalnych warunkach umożliwia monitorowanie sieci pod kątem podejrzanych działań w czasie rzeczywistym . Obecnie Snort ma pakiety dla Fedory, CentOS, FreeBSD i systemów Windows. Dokładna metoda instalacji różni się w zależności od systemu operacyjnego. W tym samouczku będziemy instalować bezpośrednio z plików źródłowych Snorta. Ten przewodnik został napisany dla Debiana.

Zaktualizuj, uaktualnij i uruchom ponownie

Zanim faktycznie zdobędziemy źródła Snort, musimy upewnić się, że nasz system jest aktualny. Możemy to zrobić, wydając poniższe polecenia.

sudo apt-get update
sudo apt-get upgrade -y
sudo reboot

Konfiguracja przed instalacją

Po ponownym uruchomieniu systemu musimy zainstalować kilka pakietów, aby upewnić się, że możemy zainstalować SBPP. Udało mi się ustalić, że potrzebna była liczba pakietów, więc polecenie podstawowe znajduje się poniżej.

sudo apt-get install flex bison build-essential checkinstall libpcap-dev libnet1-dev libpcre3-dev libnetfilter-queue-dev iptables-dev libdumbnet-dev zlib1g-dev -y

Po zainstalowaniu wszystkich pakietów konieczne będzie utworzenie katalogu tymczasowego dla plików źródłowych - mogą one być w dowolnym miejscu. Będę używać /usr/src/snort_src. Aby utworzyć ten folder, musisz być zalogowany jako rootużytkownik lub mieć sudouprawnienia - to rootpo prostu ułatwia.

sudo mkdir /usr/src/snort_src
cd /usr/src/snort_src

Instalowanie biblioteki akwizycji danych (DAQ)

Zanim zdobędziemy źródło Snorta, musimy zainstalować DAQ. Jest dość prosty w instalacji.

wget https://www.snort.org/downloads/snort/daq-2.0.6.tar.gz

Wyodrębnij pliki z archiwum.

tar xvfz daq-2.0.6.tar.gz

Przejdź do katalogu DAQ.

cd daq-2.0.6

Skonfiguruj i zainstaluj DAQ.

./configure; make; sudo make install

Ostatnia linia zostanie wykonana jako ./configurepierwsza. To się wykona make. Wreszcie zostanie wykonane make install. Używamy tutaj krótszej składni, aby zaoszczędzić trochę na pisaniu.

Instalowanie Snorta

Chcemy mieć pewność, że ponownie znajdziemy się w tym /usr/src/snort_srckatalogu, więc przejdź do tego katalogu, używając:

cd /usr/src/snort_src

Teraz, gdy jesteśmy w katalogu źródeł, pobierzemy tar.gzplik źródła. W chwili pisania tego tekstu najnowsza wersja Snorta to 2.9.8.0.

wget https://www.snort.org/downloads/snort/snort-2.9.8.0.tar.gz

Polecenia do zainstalowania snorta są bardzo podobne do poleceń używanych w DAQ, ale mają różne opcje.

Wyodrębnij pliki źródłowe Snort.

tar xvfz snort-2.9.8.0.tar.gz

Przejdź do katalogu źródłowego.

cd snort-2.9.8.0

Skonfiguruj i zainstaluj źródła.

 ./configure --enable-sourcefire; make; sudo make install

Po instalacji Snorta

Po zainstalowaniu Snorta musimy upewnić się, że nasze udostępnione biblioteki są aktualne. Możemy to zrobić za pomocą polecenia:

sudo ldconfig

Następnie wykonaj test instalacji Snort:

snort --version

Jeśli to polecenie nie działa, musisz utworzyć dowiązanie symboliczne. Możesz to zrobić, wpisując:

sudo ln -s /usr/local/bin/snort /usr/sbin/snort
snort --version

Wynikowy wynik będzie wyglądał następująco:

   ,,_     -*> Snort! <*-
  o"  )~   Version 2.9.7.5 GRE (Build 262)
   ''''    By Martin Roesch & The Snort Team: http://www.snort.org/contact#team
           Copyright (C) 2014-2015 Cisco and/or its affiliates. All rights reserved.
           Copyright (C) 1998-2013 Sourcefire, Inc., et al.
           Using libpcap version 1.6.2
           Using PCRE version: 8.35 2014-04-04
           Using ZLIB version: 1.2.8

Un-rootowanie Snorta

Po zainstalowaniu snorta nie chcemy, aby działał jako root, dlatego musimy utworzyć snortużytkownika i grupę. Aby utworzyć nowego użytkownika i grupę, możemy użyć tych dwóch poleceń:

sudo groupadd snort
sudo useradd snort -r -s /sbin/nologin -c SNORT_IDS -g snort

Ponieważ zainstalowaliśmy program przy użyciu źródła, musimy utworzyć pliki konfiguracyjne i reguły snort.

sudo mkdir /etc/snort
sudo mkdir /etc/snort/rules
sudo mkdir /etc/snort/preproc_rules
sudo touch /etc/snort/rules/white_list.rules /etc/snort/rules/black_list.rules /etc/snort/rules/local.rules

Po utworzeniu katalogów i reguł musimy teraz utworzyć katalog dziennika.

sudo mkdir /var/log/snort

I wreszcie, zanim będziemy mogli dodać jakiekolwiek reguły, potrzebujemy miejsca do przechowywania reguł dynamicznych.

sudo mkdir /usr/local/lib/snort_dynamicrules

Po utworzeniu wszystkich poprzednich plików ustaw dla nich odpowiednie uprawnienia.

sudo chmod -R 5775 /etc/snort
sudo chmod -R 5775 /var/log/snort
sudo chmod -R 5775 /usr/local/lib/snort_dynamicrules
sudo chown -R snort:snort /etc/snort
sudo chown -R snort:snort /var/log/snort
sudo chown -R snort:snort /usr/local/lib/snort_dynamicrules

Konfigurowanie plików konfiguracyjnych

Aby zaoszczędzić sporo czasu i uniknąć konieczności kopiowania i wklejania wszystkiego, po prostu skopiuj wszystkie pliki do katalogu konfiguracji.

sudo cp /usr/src/snort_src/snort*/etc/*.conf* /etc/snort
sudo cp /usr/src/snort_src/snort*/etc/*.map /etc/snort

Teraz, gdy pliki konfiguracyjne już istnieją, możesz zrobić jedną z dwóch rzeczy:

  • Możesz włączyć Barnyard2
  • Możesz też zostawić pliki konfiguracyjne w spokoju i selektywnie włączyć żądane reguły.

Tak czy inaczej, nadal będziesz chciał zmienić kilka rzeczy. Czytaj dalej.

Konfiguracja

W /etc/snort/snort.confpliku musisz zmienić zmienną HOME_NET. Powinien być ustawiony na blok IP wewnętrznej sieci, aby nie rejestrował prób zalogowania się twojej własnej sieci do serwera. Może to być 10.0.0.0/24lub 192.168.0.0/16. W wierszu 45 /etc/snort/snort.confzmień zmienną HOME_NETna tę wartość bloku IP twojej sieci.

W mojej sieci wygląda to tak:

ipvar HOME_NET 192.168.0.0/16

Następnie musisz ustawić EXTERNAL_NETzmienną na:

any

Co po prostu zamienia się EXERNAL_NETw coś, czym nie jesteś HOME_NET.

Ustalanie zasad

Teraz, gdy większość systemu jest już skonfigurowana, musimy skonfigurować nasze reguły dla tej małej świnki. Gdzieś około 104 linii w /etc/snort/snort.confpliku, powinieneś zobaczyć „var” deklaracja i zmienne RULE_PATH, SO_RULE_PATH, PREPROC_RULE_PATH, WHITE_LIST_PATH, i BLACK_LIST_PATH. Ich wartości powinny być ustawione na ścieżki, w których używaliśmy Un-rooting Snort.

var RULE_PATH /etc/snort/rules
var SO_RULE_PATH /etc/snort/so_rules
var PREPROC_RULE_PATH /etc/snort/preproc_rules
var WHITE_LIST_PATH /etc/snort/rules
var BLACK_LIST_PATH /etc/snort/rules

Po ustawieniu tych wartości usuń lub skomentuj bieżące reguły, począwszy od wiersza 548.

Teraz sprawdźmy, czy twoja konfiguracja jest poprawna. Możesz to zweryfikować za pomocą snort.

 # snort -T -c /etc/snort/snort.conf

Zobaczysz wynik podobny do następującego (obcięty dla zwięzłości).

 Running in Test mode

         --== Initializing Snort ==--
 Initializing Output Plugins!
 Initializing Preprocessors!
 Initializing Plug-ins!
 .....
 Rule application order: activation->dynamic->pass->drop->sdrop->reject->alert->log
 Verifying Preprocessor Configurations!

         --== Initialization Complete ==--

    ,,_     -*> Snort! <*-
   o"  )~   Version 2.9.8.0 GRE (Build 229) 
    ''''    By Martin Roesch & The Snort Team: http://www.snort.org/contact#team
            Copyright (C) 2014-2015 Cisco and/or its affiliates. All rights reserved.
            Copyright (C) 1998-2013 Sourcefire, Inc., et al.
            Using libpcap version 1.7.4
            Using PCRE version: 8.35 2014-04-04
            Using ZLIB version: 1.2.8

            Rules Engine: SF_SNORT_DETECTION_ENGINE  Version 2.4  <Build 1>
            Preprocessor Object: SF_IMAP  Version 1.0  <Build 1>
            Preprocessor Object: SF_FTPTELNET  Version 1.2  <Build 13>
            Preprocessor Object: SF_SIP  Version 1.1  <Build 1>
            Preprocessor Object: SF_REPUTATION  Version 1.1  <Build 1>
            Preprocessor Object: SF_POP  Version 1.0  <Build 1>
            Preprocessor Object: SF_DCERPC2  Version 1.0  <Build 3>
            Preprocessor Object: SF_SDF  Version 1.1  <Build 1>
            Preprocessor Object: SF_GTP  Version 1.1  <Build 1>
            Preprocessor Object: SF_DNS  Version 1.1  <Build 4>
            Preprocessor Object: SF_SSH  Version 1.1  <Build 3>
            Preprocessor Object: SF_DNP3  Version 1.1  <Build 1>
            Preprocessor Object: SF_SSLPP  Version 1.1  <Build 4>
            Preprocessor Object: SF_SMTP  Version 1.1  <Build 9>
            Preprocessor Object: SF_MODBUS  Version 1.1  <Build 1>

 Snort successfully validated the configuration!
 Snort exiting

Teraz, gdy wszystko jest skonfigurowane bez błędów, jesteśmy gotowi do rozpoczęcia testowania Snorta.

Testowanie Snorta

Najłatwiejszym sposobem przetestowania Snorta jest włączenie local.rules. To jest plik zawierający twoje niestandardowe reguły.

Jeśli zauważyłeś w snort.confpliku, około linii 546, ta linia istnieje:

include $RULE_PATH/local.rules

Jeśli go nie masz, dodaj go około 546. Następnie możesz użyć tego local.rulespliku do testowania. Jako podstawowy test, po prostu Snort śledził żądanie ping (żądanie ICMP). Możesz to zrobić, dodając następujący wiersz do swojego local.rulespliku.

 alert icmp any any -> $HOME_NET any (msg:"ICMP test"; sid:10000001; rev:001;)

Gdy znajdziesz go w pliku, zapisz go i kontynuuj czytanie.

Uruchom test

Następujące polecenie uruchomi Snort i wydrukuje ostrzeżenia „szybkiego trybu”, gdy użytkownik prychnie, pod snortem grupy, używając config /etc/snort/snort.conf, i będzie nasłuchiwał interfejsu sieciowego eno1. Musisz zmienić eno1na interfejs sieciowy, na którym nasłuchuje system.

$ sudo /usr/local/bin/snort -A console -q -u snort -g snort -c /etc/snort/snort.conf -i eno1

Po uruchomieniu uruchom ping na tym komputerze. Zaczniesz widzieć dane wyjściowe wyglądające następująco:

01/07−16:03:30.611173 [**] [1:10000001:0] ICMP test [**] [Priority: 0]  192.168.1.105 -> 192.168.1.104
01/07−16:03:31.612174 [**] [1:10000001:0] ICMP test [**] [Priority: 0]  192.168.1.104 -> 192.168.1.105
01/07−16:03:31.612202 [**] [1:10000001:0] ICMP test [**] [Priority: 0]  192.168.1.105 -> 192.168.1.104
^C*** Caught Int−Signal

Możesz nacisnąć Ctrl + C, aby wyjść z programu i to wszystko. Snort jest ustawiony. Możesz teraz używać dowolnych reguł.

Na koniec chcę zauważyć, że społeczność istnieje kilka publicznych zasad, które można pobrać z oficjalnej strony w zakładce „Społeczność”. Poszukaj „Snort”, a pod nim znajduje się link do społeczności. Pobierz go, wypakuj i poszukaj community.rulespliku.

Zostaw komentarz

Funkcjonalności warstw architektury referencyjnej Big Data

Funkcjonalności warstw architektury referencyjnej Big Data

Przeczytaj blog, aby w najprostszy sposób poznać różne warstwy w architekturze Big Data i ich funkcjonalności.

Rewolucyjne wynalazki Google, które ułatwią Twoje życie.

Rewolucyjne wynalazki Google, które ułatwią Twoje życie.

Chcesz zobaczyć rewolucyjne wynalazki Google i jak te wynalazki zmieniły życie każdego człowieka dzisiaj? Następnie czytaj na blogu, aby zobaczyć wynalazki Google.

13 komercyjnych narzędzi do ekstrakcji danych z Big Data

13 komercyjnych narzędzi do ekstrakcji danych z Big Data

13 komercyjnych narzędzi do ekstrakcji danych z Big Data

Pozostań w kontakcie dzięki aplikacji WhatsApp na komputer 24*7

Pozostań w kontakcie dzięki aplikacji WhatsApp na komputer 24*7

Whatsapp w końcu uruchomił aplikację Desktop dla użytkowników komputerów Mac i Windows. Teraz możesz łatwo uzyskać dostęp do Whatsapp z systemu Windows lub Mac. Dostępne dla Windows 8+ i Mac OS 10.9+

5 przykładów, które dowodzą, że energetyka jądrowa nie zawsze jest zła

5 przykładów, które dowodzą, że energetyka jądrowa nie zawsze jest zła

Energia jądrowa jest zawsze pogardzana, nigdy jej nie szanujemy z powodu przeszłych wydarzeń, ale nie zawsze jest zła. Przeczytaj post, aby dowiedzieć się więcej na ten temat.

Friday Essential: Co się stało z samochodami sterowanymi przez sztuczną inteligencję?

Friday Essential: Co się stało z samochodami sterowanymi przez sztuczną inteligencję?

Koncepcja autonomicznych samochodów, które wyjadą na drogi za pomocą sztucznej inteligencji, to marzenie, które mamy już od jakiegoś czasu. Ale pomimo kilku obietnic nigdzie ich nie widać. Przeczytaj ten blog, aby dowiedzieć się więcej…

5 przydatnych narzędzi sztucznej inteligencji, które uproszczą Twoje życie

5 przydatnych narzędzi sztucznej inteligencji, które uproszczą Twoje życie

Sztuczna inteligencja nie jest dla ludzi nową nazwą. Ponieważ sztuczna inteligencja jest włączona do każdego strumienia, jednym z nich jest opracowywanie narzędzi zwiększających ludzką wydajność i dokładność. Skorzystaj z tych niesamowitych narzędzi uczenia maszynowego i uprość swoje codzienne zadania.

Czy AI może walczyć z rosnącą liczbą ataków ransomware?

Czy AI może walczyć z rosnącą liczbą ataków ransomware?

Wzrasta liczba ataków ransomware, ale czy sztuczna inteligencja może pomóc w radzeniu sobie z najnowszym wirusem komputerowym? Czy AI jest odpowiedzią? Przeczytaj tutaj, wiedz, że sztuczna inteligencja jest zmorą lub zgubą

Wgląd w 26 technik analizy Big Data: część 2

Wgląd w 26 technik analizy Big Data: część 2

Zawsze potrzebujemy Big Data Analytics do efektywnego zarządzania danymi. W tym artykule omówiliśmy kilka technik analizy Big Data. Sprawdź ten artykuł.

Ataki DDOS: krótki przegląd

Ataki DDOS: krótki przegląd

Czy jesteś również ofiarą ataków DDOS i nie masz pewności co do metod zapobiegania? Przeczytaj ten artykuł, aby rozwiązać swoje pytania.