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.
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:
- Începeți prin a crea un nou fișier de serviciu systemd:
atingeți /lib/systemd/system/snort.service
- 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 - 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.