Rulați Snort pe Linux și protejați-vă rețeaua cu analiza traficului în timp real și detectarea amenințărilor. Securitatea este totul, iar Snort este de clasă mondială. Acest porc ar putea să-ți salveze slănina.
Ce este Snort?
Snort este unul dintre cele mai cunoscute și utilizate pe scară largă sisteme de detectare a intruziunilor în rețea (NIDS). A fost numit unul dintre cele mai importante proiecte open-source din toate timpurile. Dezvoltat inițial de Sourcefire, a fost întreținut de Grupul de cercetare și securitate Talos de la Cisco de când Cisco a achiziționat Sourcefire în 2013.
Snort analizează traficul de rețea în timp real și semnalează orice activitate suspectă. În special, caută orice ar putea indica tentative de acces neautorizat și alte atacuri în rețea. Un set cuprinzător de reguli definiți ceea ce se consideră „suspect” și ce ar trebui să facă Snort dacă se declanșează o regulă.
În același mod în care pachetele antivirus și anti-malware se bazează pe definițiile actualizate ale semnăturilor de virus pentru a vă putea identifica și proteja de cele mai noi amenințări, regulile Snort sunt actualizate și reeditate frecvent, astfel încât Snort să funcționeze întotdeauna la optim eficacitate.
Regulile Snort
Există trei seturi de reguli:
- Regulile comunității: Acestea sunt seturi de reguli disponibile gratuit, create de comunitatea de utilizatori Snort.
- Reguli înregistrate: Aceste seturi de reguli sunt furnizate de Talos. De asemenea, sunt disponibile gratuit, dar trebuie să vă înregistrați pentru a le obține. Înregistrarea este gratuită și durează doar o clipă. Veți primi un document personal oinkcode pe care trebuie să îl includeți în cererea de descărcare.
- Reguli de abonament: Acestea sunt aceleași reguli ca regulile înregistrate. Cu toate acestea, abonații primesc regulile cu aproximativ o lună înainte de a fi lansate ca seturi de reguli gratuite pentru utilizatorii înregistrați. La momentul redactării, abonamentele de 12 luni încep de la 29 USD pentru uz personal și 399 USD pentru afaceri.
Instalarea Snort
La un moment dat, instalarea Snort a fost un proces manual lung. Nu a fost dificil, dar au fost o mulțime de pași și a fost ușor să ratezi unul. Distribuțiile majore Linux au făcut lucrurile mai simple, făcând Snort disponibil din depozitele lor de software.
Versiunile din depozite rămân uneori în urma celei mai recente versiuni disponibile pe site-ul web Snort. Dacă doriți, puteți descărca și instala din sursă. Atâta timp cât aveți ultimele noutăți reguli, nu contează prea mult dacă Snortul tău nu este cel mai recent și cel mai mare – atâta timp cât nu este antic.
Pentru a cerceta acest articol, am instalat Snort pe Ubuntu 20.04, Fedora 32 și Manjaro 20.0.1.
Pentru a instala Snort pe Ubuntu, utilizați această comandă:
sudo apt-get install snort
Pe măsură ce instalarea continuă, vi se vor pune câteva întrebări. Puteți găsi răspunsurile la acestea folosind ip addr
înainte de a începe instalarea sau într-o fereastră terminală separată.
ip addr
Rețineți numele interfeței de rețea. Este pe acest computer de cercetare enp0s3.
De asemenea, uitați-vă la adresa dvs. IP. Acest computer are o adresă IP de 192.168.1.24
. Extra „/24
”Este notația inter-domeniu fără clasă (CIDR). Acest lucru ne spune gama de adrese de rețea. Înseamnă că această rețea are o mască de subrețea de 255.255.255.0
, care are trei seturi principale de opt biți (și 3 x 8 = 24). Nu trebuie să vă faceți griji prea mult în legătură cu acest lucru, ci doar înregistrați orice adresă IP se întâmplă, inclusiv notația CIDR. Trebuie să furnizați acest lucru ca răspuns la una dintre întrebări, cu ultimul octet al adresei IP modificat la zero. În exemplul nostru, acesta este 192.168.1.0/24.
Apăsați „Tab” pentru a evidenția butonul „OK” și apăsați „Enter”.
Tastați numele interfeței de rețea și apăsați „Tab” pentru a evidenția butonul „OK” și apăsați „Enter”.
Tastați gama de adrese de rețea în format CIDR, apăsați „Tab” pentru a evidenția butonul „OK” și apăsați „Enter”.
Pentru a instala Snort pe Fedora, trebuie să utilizați două comenzi:
rpm -Uvh https://forensics.cert.org/cert-forensics-tools-release-32.rpm
sudo dnf install snort
Pe Manjaro, comanda de care avem nevoie nu este cea obișnuită pacman
, este pamac
. Și nu trebuie să folosim sudo
:
pamac install snort
Când sunteți întrebat dacă doriți să construiți Snort din AUR (Arch User Repository), apăsați „Y” și apăsați „Enter”. Nu vrem să edităm fișierele de compilare, așa că răspundeți la această întrebare apăsând pe „N” și apăsând pe „Enter”. Apăsați pe „Y” și apăsați „Enter” când vi se cere dacă trebuie aplicată tranzacția.
Vi se va solicita parola.
Versiunile Snort care au fost instalate au fost:
- Ubuntu: 2.9.7.0
- Fedora: 2.9.16.1
- Manjaro: 2.9.16.1
Puteți verifica versiunea dvs. utilizând:
snort --version
Configurarea Snort
Există câțiva pași de parcurs înainte de a putea rula Snort. Trebuie să edităm fișierul „snort.conf”.
sudo gedit /etc/snort/snort.conf
Găsiți linia care scrie „ipvar HOME_NET any
”Și editați-l pentru a înlocui„ orice ”cu intervalul de adrese de notație CIDR din rețeaua dvs.
Salvați modificările și închideți fișierul.
Actualizarea regulilor Snort
Pentru a vă asigura că copia Snort oferă nivelul maxim de protecție, actualizați regulile la cea mai recentă versiune. Astfel, Snort are acces la cel mai nou set de definiții ale atacurilor și acțiuni de protecție.
Dacă v-ați înregistrat și ați obținut propriul dvs. oinkcode, puteți utiliza următoarea comandă pentru a descărca setul de reguli pentru utilizatorii înregistrați. Pagina de descărcare Snort listează seturile de reguli disponibile, inclusiv setul de reguli ale comunității pentru care nu trebuie să vă înregistrați.
Descărcați setul de reguli pentru versiunea instalată de Snort. Descărcăm versiunea 2.9.8.3, care este cea mai apropiată de versiunea 2.9.7.0 a Snort care se afla în depozitul Ubuntu.
wget https://www.snort.org/rules/snortrules-snapshot-2983.tar.gz?oinkcode=<your oink code goes here> -O snortrules-snapshot-2983.tar.gz
După finalizarea descărcării, utilizați această comandă pentru a extrage regulile și a le instala în directorul „/ etc / snort / rules”.
sudo tar -xvzf snortrules-snapshot-2983.tar.gc -C /etc/snort/rules
Mod promiscu
Cardurile de interfață de rețea ignoră de obicei traficul care nu este destinat adresei lor IP. Vrem ca Snort să detecteze traficul de rețea suspect adresat oricărui dispozitiv din rețea, nu doar traficul de rețea care se întâmplă să fie trimis la computerul pe care este instalat Snort.
Pentru a face ca interfața de rețea a computerului Snort să asculte tot traficul de rețea, trebuie să-l setăm în modul promiscuu. Următoarea comandă va cauza interfața de rețea enp0s3
să funcționeze în mod promiscuu. Substitui enp0s3
cu numele interfeței de rețea pe care o utilizați pe computer.
sudo ip link set enp0s3 promisc on
Dacă rulați Snort într-o mașină virtuală, nu uitați să reglați setările din hipervizor pentru placa de rețea virtuală utilizată de mașina dvs. virtuală. De exemplu, în VirtualBox, trebuie să accesați Settings > Network > Advanced
și schimbați meniul derulant „Mod promiscuu” în „Permiteți tuturor”.
LEGATE DE: Cum se folosește comanda ip pe Linux
Alergând Snort
Acum puteți începe Snort. Formatul de comandă este:
sudo snort -d -l /var/log/snort/ -h 192.168.1.0/24 -A console -c /etc/snort/snort.conf
Înlocuiți-vă propria gamă IP de rețea în locul 192.168.1.0/24
.
Opțiunile din linia de comandă utilizate în această comandă sunt:
- -d: Filtrează pachetele de straturi ale aplicației.
- -l / var / log / snort /: Setează directorul de înregistrare.
- -h 192.168.1.0/24: Acest lucru nu setează rețeaua de domiciliu, care a fost setată în fișierul „snort.conf”. Cu această valoare setată la aceeași valoare ca și rețeaua de domiciliu, jurnalele sunt structurate astfel încât conținutul de la computerele la distanță suspecte să fie înregistrat în directoarele numite după fiecare computer la distanță.
- -O consolă: Trimite alerte către fereastra consolei.
- -c /etc/snort/snort.conf: Indică fișierul de configurare Snort de utilizat.
Snort derulează o mulțime de ieșiri în fereastra terminalului, apoi intră în modul de monitorizare și analiză. Cu excepția cazului în care vede ceva activitate suspectă, nu veți mai vedea ieșiri de pe ecran.
De pe un alt computer, am început să generăm activități rău intenționate care vizau direct computerul nostru de testare, care rulează Snort.
Snort identifică traficul de rețea ca potențial rău intenționat, trimite alerte către fereastra consolei și scrie intrări în jurnale.
Atacurile clasificate drept atacuri „Scurgeri de informații” indică faptul că s-a încercat să vă interogheze computerul pentru informații care ar putea ajuta un atacator. Acest lucru indică probabil că cineva efectuează recunoașterea sistemului dvs.
Atacurile clasificate ca atacuri „Refuzarea serviciului” indică o încercare de a inunda computerul cu trafic fals de rețea. Atacul încearcă să vă copleșească computerul până la punctul în care acesta nu poate continua să ofere serviciile sale.
Pentru a verifica dacă modul promiscuu funcționează corect și protejăm întreaga gamă de adrese de rețea, vom declanșa un trafic rău intenționat către un alt computer și vom vedea dacă Snort îl detectează.
Activitatea este detectată și raportată și putem vedea că acest atac a fost îndreptat împotriva unui alt computer cu o adresă IP de 192.168.1.26
. Snort monitorizează întreaga gamă de adrese a acestei rețele.
Pasii urmatori
Pentru a-și menține vigilența, Snort are nevoie de reguli actualizate. Puteți scrie un mic script și puteți pune comenzile pentru a descărca și instala regulile în el și a seta un cron
job pentru automatizarea procesului apelând periodic scriptul. Scriptul pullpork este un script gata conceput pentru a face exact acest lucru, dacă nu vă place să scrieți al dvs.
Snort nu are un front-end sau o interfață grafică pentru utilizator. Proiecte terțe au creat mai multe și s-ar putea să doriți să investigați unele dintre acestea, cum ar fi Snorby și Squil.