Protejați-vă rețeaua de intruși și atacuri nesolicitate prin instalarea și configurarea Snort IDS.

Dacă sunteți serios în ceea ce privește securitatea rețelei, instalarea unei soluții IPS sau IDS este o necesitate pentru a consolida perimetrul rețelei și a devia traficul de rețea potențial nedorit.

Snort este o astfel de soluție IPS/IDS faimoasă, gratuită pentru uz personal și open-source. Să aflăm cum puteți instala și configura Snort pe Linux pentru a vă apăra rețeaua de atacuri cibernetice.

Ce este Snort?

Snort este o sursă deschisă Sistem de detectare și prevenire a intruziunilor în rețea (NIDS/IPS) software care, după cum sugerează și numele, ajută la securizarea perimetrului rețelei prin aplicarea regulilor și filtrelor care detectează și aruncă pachetele potențial rău intenționate injectate în rețea.

Cu Snort, veți putea să efectuați înregistrarea avansată a traficului de rețea, analizarea și analizarea pachetelor și să setați creați un sistem puternic de prevenire a intruziunilor care vă apără rețeaua de nedorite și potențial rău intenționate trafic.

instagram viewer

Cerințe preliminare pentru instalarea Snort

Înainte de a instala Snort, trebuie să faceți o configurare preliminară. Aceasta include în principal actualizarea și modernizarea sistemului și instalarea dependențelor cerute de Snort pentru a funcționa corect.

Începeți prin a vă actualiza și actualiza sistemul.

Pe Ubuntu- și Distribuții Linux bazate pe Debian:

sudo apt update && apt upgrade -y

Pe Arch Linux și derivatele sale:

sudo pacman -Syu

Pe RHEL și Fedora:

sudo dnf upgrade

Cu sistemul dvs. actualizat, continuați să instalați dependențele cerute de Snort. Iată comenzile pe care trebuie să le executați:

Pe Ubuntu și Debian, rulați:

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

Pe Arch Linux, rulați:

sudo pacman -S gperftools hwloc hyperscan ibdaqlibdnet libmnl libpcap libunwind luajit lz4 openssl pcre pulledporkxz zlib cmake pkgconf

Pentru RHEL și Fedora, lansați următoarea comandă:

sudo dnf install gcc gcc-c++ libnetfilter_queue-devel git flex bison zlib zlib-devel pcre pcredevel libdnet tcpdump libnghttp2 wget xz-devel -y

În plus, trebuie să instalați manual Biblioteca de achiziție de date, LibDAQ pentru Snort pentru a funcționa corect și, de asemenea, gperftools pentru a genera fișierele de compilare.

Mai întâi, descărcați fișierele sursă LibDAQ de pe site-ul oficial folosind comanda wget. Apoi, extrageți arhiva și mutați-vă în director folosind cd. În interiorul directorului, rulați bootstrap și configurați scripturile apoi procedați la pregătirea fișierelor cu make și instalați-le cu face instalarea comanda.

wget https://www.snort.org/downloads/snortplus/libdaq-3.0.11.tar.gz
tar -xzvf lib*
cd lib*
./bootstrap
./configure
face
sudo make install

Cu LibDAQ instalat, trebuie să instalați o ultimă dependență: gperftools. Începeți prin a prelua fișierele sursă din depozitul GitHub. Extrageți fișierele, mutați-vă în director și rulați scriptul de configurare. În cele din urmă, instalați pachetul folosind comenzile make and make install.

wget https://github.com/gperftools/gperftools/releases/download/gperftools-2.10/gperftools-2.10.tar.gz
tar -xvzf gper* && cd gper
./configure
face
sudo make install

Odată ce aceste dependențe au fost instalate, puteți trece la următorii pași pentru a instala Snort.

Instalați Snort From Source pe Linux

Cu configurarea preliminară din drum, vă puteți concentra acum pe instalarea software-ului propriu-zis. Îl veți construi din sursă, așa că luați mai întâi fișierele de compilare necesare.

Utilizați comanda wget sau descărcați fișierele manual de pe pagina oficială de descărcare:

wget https://www.snort.org/downloads/snortplus/snort3-3.1.58.0.tar.gz

Descarca:Sforâie

Odată ce arhiva care conține fișierele de compilare s-a terminat de descărcat, extrageți-o folosind comanda tar:

tar -xzvf snort*

Mutați-vă în folderul extras, rulați scriptul de configurare, utilizați comanda make pentru a pregăti fișierele și, în final, instalați-le cu face instalarea:

cd snort*
./configure_cmake.sh --prefix=/usr/local --enable-tcmalloc
CD build
face
sudo make install

Snort va fi acum instalat cu succes în sistemul dumneavoastră. Cu toate acestea, mai este un singur pas pe care trebuie să-l parcurgeți. Când software-ul nou este instalat manual, este posibil ca directorul de instalare și bibliotecile necesare să nu fie incluse automat în calea implicită a sistemului. Deci, s-ar putea să întâmpinați erori la pornirea aplicației.

Pentru a evita această problemă, trebuie să rulați comanda ldconfig. Acesta va sincroniza memoria cache a bibliotecii partajate a sistemului cu bibliotecile și binarele nou instalate. Fie rulați comanda ldconfig dintr-un shell rădăcină, fie utilizați prefixul sudo:

sudo ldconfig

Acum ați acoperit toți pașii importanți necesari pentru a instala Snort. Pentru a verifica instalarea, rulați comanda Snort cu -V flag și ar trebui să vedeți o ieșire care returnează numele versiunii și alte date.

pufni -V

După ce ați verificat instalarea Snort, treceți la pașii următori pentru a o configura ca IDS/IPS complet.

Configurația inițială a Snort pe Linux

Eficiența Snort depinde aproape în întregime de calitatea setului de reguli cu care este furnizat.

Cu toate acestea, înainte de a începe să configurați reguli, trebuie să configurați plăcile de rețea pentru a funcționa cu Snort și, de asemenea, trebuie să testați modul în care configurația implicită este gestionată de Snort. Începeți prin a configura plăcile de rețea.

Setați interfața de rețea în modul promiscuu:

sudo ip link set dev interface_name promisc on

Folosind ethtool, dezactivați descărcarea de recepție generică (GRO) și descărcarea de recepție mare (LRO) pentru a preveni trunchierea pachetelor de rețea mai mari:

sudo ethtool -K nume_interfață gro off lro off

Testați cum funcționează Snort cu configurația implicită:

snort -c /usr/local/etc/snort/snort.lua

Acest lucru ar trebui să returneze o semnalizare de ieșire de succes că ați instalat și configurat corect Snort în sistemul dumneavoastră. Acum puteți modifica caracteristicile sale și puteți experimenta diferite configurații pentru a găsi cel mai bun set de reguli pentru securizarea rețelei.

Stabiliți reguli și aplicați-le cu Snort

Cu setările de bază la locul lor, Snort este acum gata să vă apere perimetrul. După cum știți, Snort are nevoie de seturi de reguli pentru a determina validitatea traficului, să creăm câteva seturi de reguli gratuite create de comunitate pentru Snort.

Snort citește seturi de reguli și configurații din directoare specifice. Deci, mai întâi, folosind comenzile mkdir și touch, creați câteva directoare importante pentru a stoca reguli și alte date relevante pentru Snort:

sudo mkdir -p /usr/local/etc/{liste, deci_reguli, reguli} 
sudo touch /usr/local/etc/rules/local.rules
sudo touch /usr/local/etc/lists/default.blocklist

Cu aceste directoare create, puteți descărca setul de reguli comunității de pe site-ul oficial folosind comanda wget:

wget https://www.snort.org/downloads/community/snort3-community-rules.tar.gz

Odată ce setul de reguli termină descărcarea, extrageți-l și copiați-l în /usr/local/etc/rules/ director.

tar -xvzf snort3-com*
cd snort3-com*
cp * /usr/local/etc/rules/

Pentru a rula Snort cu setul de reguli, executați această comandă:

sudo snort -c /usr/local/etc/snort/snort.lua -R /usr/local/etc/rules/snort3-community.rules -i nume_interfață -s 65535 -k niciunul

Defalcarea comenzii:

  • -c setează calea către fișierul de configurare implicit
  • -R setează calea către setul de reguli de aplicat
  • -i setează interfața
  • -s elimină limita snaplen
  • -k ignoră sumele de control

Acest lucru ar trebui să valideze configurația și să aplice toate seturile de reguli pe Snort. De îndată ce detectează orice perturbare a rețelei, vă va alerta cu un mesaj de consolă.

Dacă doriți să creați și să vă aplicați propriul set de reguli, puteți afla mai multe despre acesta din paginile de documentație oficială.

Configurați înregistrarea cu Snort

În mod implicit, Snort nu scoate niciun jurnal. Trebuie să specificați cu -L flag pentru a porni Snort în modul de înregistrare, definiți tipul fișierului jurnal și -l flag pentru a seta directorul de jurnal pentru ca Snort să arunce jurnalele.

Iată comanda pentru a porni Snort cu înregistrarea activată:

sudo snort -c /usr/local/etc/snort/snort.lua -R /usr/local/etc/rules/snort3-community.rules -i nume_interfață -s 65535 -k niciunul -L tip_fișier -l /var/log / pufnit

Defalcarea comenzii:

  • -c setează calea către fișierul de configurare implicit
  • -R setează calea către setul de reguli de aplicat
  • -i setează interfața
  • -s elimină limita snaplen
  • -k ignoră sumele de control
  • -L activează modul de înregistrare și definește tipul fișierului jurnal
  • -l definește calea pentru stocarea jurnalelor

Rețineți că, în exemplul de comandă, directorul de înregistrare este setat la /var/log/snort. Deși aceasta este o practică recomandată, sunteți liber să vă stocați jurnalele în altă parte.

Puteți citi fișierele jurnal din Snort din directorul pe care l-ați definit sau le puteți trece în software-ul SIEM, cum ar fi Splunk, pentru analize ulterioare.

Adăugați Snort ca demon de pornire a sistemului

Deși ați instalat și configurat Snort, trebuie să vă asigurați că începe să se execute la pornire și să ruleze ca un daemon de fundal. Adăugarea acestuia ca serviciu de sistem de pornire automată vă va asigura că Snort este activ și vă apără sistemul în orice moment când este online.

Iată cum să adăugați un daemon de pornire Snort pe Linux:

  1. Începeți prin a crea un nou fișier de serviciu systemd:
    atingeți /lib/systemd/system/snort.service
  2. Deschideți fișierul într-un editor de text la alegere și completați-l cu următoarele date. Puteți modifica steaguri pentru a se potrivi nevoilor dvs.:
    [Unitate]
    Descriere=Snort Daemon
    După=syslog.target network.target
    [Serviciu]
    Tip=simplu
    ExecStart=/usr/local/bin/snort -c /usr/local/etc/snort/snort.lua -R /usr/local/etc/rules/snort3-community.rules -s 65535 -k niciunul -l /var /log/snort -D -L pcap -i ens33
    [Instalare]
    WantedBy=multi-user.target
  3. Salvați și ieșiți din fișier. Apoi, folosind serviciul și comenzi systemctl, activați și porniți scriptul:
    sudo systemctl enable snort.service
    sudo snort start

Daemonul de fundal Snort ar trebui să fie acum activ și să ruleze. Puteți verifica starea scriptului folosind systemctl status snort comanda. Ar trebui să returneze o ieșire pozitivă.

Acum știți cum să vă protejați rețeaua cu Snort IDS

Deși implementarea IDS este o practică bună, este o măsură pasivă decât una activă. Cea mai bună modalitate de a îmbunătăți și de a garanta securitatea rețelei dvs. este să o testați în mod continuu și să căutați defecte de remediat.

Testarea de penetrare este o modalitate excelentă de a găsi vulnerabilități exploatabile și de a le corecta.