Snort sau Suricata. Partea 3: Protejarea rețelei de birouri

В anterioară articol am descris cum să rulăm versiunea stabilă a Suricata pe Ubuntu 18.04 LTS. Configurarea unui IDS pe un singur nod și activarea setului de reguli gratuite este destul de simplă. Astăzi ne vom da seama cum să protejăm o rețea corporativă folosind cele mai comune tipuri de atacuri folosind Suricata instalat pe un server virtual. Pentru a face acest lucru, avem nevoie de un VDS pe Linux cu două nuclee de calcul. Cantitatea de RAM depinde de încărcare: 2 GB sunt suficiente pentru cineva, iar pentru sarcini mai serioase pot fi necesari 4 sau chiar 6. Avantajul unei mașini virtuale este capacitatea de a experimenta: puteți începe cu o configurație minimă și puteți crește resurse după cum este necesar.

Snort sau Suricata. Partea 3: Protejarea rețelei de birourifoto: Reuters

Conectarea rețelelor

Eliminarea IDS-ului pe o mașină virtuală poate fi necesară în primul rând pentru teste. Dacă nu v-ați ocupat niciodată de astfel de soluții, nu trebuie să vă grăbiți să comandați hardware fizic și să schimbați arhitectura rețelei. Cel mai bine este să rulați sistemul în siguranță și rentabil pentru a vă determina nevoile de calcul. Este important să înțelegeți că tot traficul corporativ va trebui să fie trecut printr-un singur nod extern: pentru a conecta o rețea locală (sau mai multe rețele) la un VDS cu IDS Suricata instalat, puteți utiliza SoftEther - Un server VPN multiplatform, ușor de configurat, care oferă o criptare puternică. Este posibil ca o conexiune la Internet de birou să nu aibă un IP real, așa că este mai bine să o configurați pe un VPS. Nu există pachete gata făcute în depozitul Ubuntu, va trebui să descărcați software-ul fie de pe site-ul proiectului, sau dintr-un depozit extern al serviciului Platforma de lansare (daca ai incredere in el):

sudo add-apt-repository ppa:paskal-07/softethervpn
sudo apt-get update

Puteți vizualiza lista pachetelor disponibile cu următoarea comandă:

apt-cache search softether

Snort sau Suricata. Partea 3: Protejarea rețelei de birouri

Vom avea nevoie de softether-vpnserver (serverul din configurația de testare rulează pe VDS), precum și de softether-vpncmd - utilitare de linie de comandă pentru configurarea acestuia.

sudo apt-get install softether-vpnserver softether-vpncmd

Un utilitar special de linie de comandă este utilizat pentru a configura serverul:

sudo vpncmd

Snort sau Suricata. Partea 3: Protejarea rețelei de birouri

Nu vom vorbi în detaliu despre setare: procedura este destul de simplă, este bine descrisă în numeroase publicații și nu are legătură directă cu subiectul articolului. Pe scurt, după pornirea vpncmd, trebuie să selectați elementul 1 pentru a accesa consola de gestionare a serverului. Pentru a face acest lucru, trebuie să introduceți numele localhost și să apăsați enter în loc să introduceți numele hub-ului. Parola de administrator este setată în consolă cu comanda serverpasswordset, hub-ul virtual DEFAULT este șters (comandă hubdelete) și se creează una nouă cu numele Suricata_VPN și se setează și parola acestuia (comandă hubcreate). Apoi, trebuie să mergeți la consola de management a noului hub utilizând comanda hub Suricata_VPN pentru a crea un grup și un utilizator folosind comenzile groupcreate și usercreate. Parola utilizatorului este setată folosind userpasswordset.

SoftEther acceptă două moduri de transfer de trafic: SecureNAT și Local Bridge. Prima este o tehnologie proprietară pentru construirea unei rețele private virtuale cu propriile sale NAT și DHCP. SecureNAT nu necesită TUN/TAP sau Netfilter sau alte setări de firewall. Rutarea nu afectează nucleul sistemului, iar toate procesele sunt virtualizate și funcționează pe orice VPS/VDS, indiferent de hypervisorul utilizat. Acest lucru are ca rezultat o sarcină crescută a procesorului și o viteză mai mică în comparație cu modul Local Bridge, care conectează hub-ul virtual SoftEther la un adaptor de rețea fizic sau la un dispozitiv TAP.

Configurarea în acest caz devine mai complicată, deoarece rutarea are loc la nivel de kernel folosind Netfilter. VDS-urile noastre sunt construite pe Hyper-V, așa că în ultimul pas creăm o punte locală și activăm dispozitivul TAP cu comanda bridgecreate Suricate_VPN -device:suricate_vpn -tap:yes. După ieșirea din consola de gestionare a hub-ului, vom vedea o nouă interfață de rețea în sistem căreia nu i s-a atribuit încă un IP:

ifconfig

Snort sau Suricata. Partea 3: Protejarea rețelei de birouri

În continuare, va trebui să activați rutarea pachetelor între interfețe (ip forward), dacă este inactiv:

sudo nano /etc/sysctl.conf

Anulați comentariul următorului rând:

net.ipv4.ip_forward = 1

Salvați modificările la fișier, părăsiți editorul și aplicați-le cu următoarea comandă:

sudo sysctl -p

În continuare, trebuie să definim o subrețea pentru rețeaua virtuală cu IP-uri fictive (de exemplu, 10.0.10.0/24) și să atribuim o adresă interfeței:

sudo ifconfig tap_suricata_vp 10.0.10.1/24

Apoi trebuie să scrieți regulile Netfilter.

1. Dacă este necesar, permiteți pachetele de intrare pe porturile de ascultare (protocolul proprietar SoftEther utilizează HTTPS și portul 443)

sudo iptables -A INPUT -p tcp -m tcp --dport 443 -j ACCEPT
sudo iptables -A INPUT -p tcp -m tcp --dport 992 -j ACCEPT
sudo iptables -A INPUT -p tcp -m tcp --dport 1194 -j ACCEPT
sudo iptables -A INPUT -p udp -m udp --dport 1194 -j ACCEPT
sudo iptables -A INPUT -p tcp -m tcp --dport 5555 -j ACCEPT

2. Configurați NAT de la subrețeaua 10.0.10.0/24 la IP-ul serverului principal

sudo iptables -t nat -A POSTROUTING -s 10.0.10.0/24 -j SNAT --to-source 45.132.17.140

3. Permiteți transmiterea de pachete din subrețeaua 10.0.10.0/24

sudo iptables -A FORWARD -s 10.0.10.0/24 -j ACCEPT

4. Permiteți transmiterea de pachete pentru conexiunile deja stabilite

sudo iptables -A FORWARD -p all -m state --state ESTABLISHED,RELATED -j ACCEPT

Vom lăsa automatizarea procesului atunci când sistemul este repornit folosind scripturi de inițializare cititorilor ca teme.

Dacă doriți să dați IP clienților automat, va trebui să instalați și un fel de serviciu DHCP pentru bridge-ul local. Aceasta completează configurarea serverului și puteți merge la clienți. SoftEther acceptă multe protocoale, a căror utilizare depinde de capacitățile echipamentului LAN.

netstat -ap |grep vpnserver

Snort sau Suricata. Partea 3: Protejarea rețelei de birouri

Deoarece routerul nostru de testare rulează și sub Ubuntu, haideți să instalăm pachetele softether-vpnclient și softether-vpncmd dintr-un depozit extern pe acesta pentru a utiliza protocolul proprietar. Va trebui să rulați clientul:

sudo vpnclient start

Pentru a configura, utilizați utilitarul vpncmd, selectând localhost ca mașina pe care rulează vpnclient. Toate comenzile sunt făcute în consolă: va trebui să creați o interfață virtuală (NicCreate) și un cont (AccountCreate).

În unele cazuri, trebuie să specificați metoda de autentificare folosind comenzile AccountAnonymousSet, AccountPasswordSet, AccountCertSet și AccountSecureCertSet. Deoarece nu folosim DHCP, adresa pentru adaptorul virtual este setată manual.

În plus, trebuie să activăm ip forward (parametrul net.ipv4.ip_forward=1 din fișierul /etc/sysctl.conf) și să configuram rutele statice. Dacă este necesar, pe VDS cu Suricata, puteți configura redirecționarea portului pentru a utiliza serviciile instalate în rețeaua locală. În acest sens, fuziunea rețelei poate fi considerată completă.

Configurația noastră propusă va arăta cam așa:

Snort sau Suricata. Partea 3: Protejarea rețelei de birouri

Înființarea Suricata

В anterioară articol am vorbit despre două moduri de funcționare a IDS: prin coada NFQUEUE (mod NFQ) și prin zero copie (mod AF_PACKET). Al doilea necesită două interfețe, dar este mai rapid - îl vom folosi. Parametrul este setat implicit în /etc/default/suricata. De asemenea, trebuie să edităm secțiunea vars în /etc/suricata/suricata.yaml, setând acolo subrețeaua virtuală ca acasă.

Snort sau Suricata. Partea 3: Protejarea rețelei de birouri

Pentru a reporni IDS, utilizați comanda:

systemctl restart suricata

Soluția este gata, acum poate fi necesar să o testați pentru rezistența la acțiuni rău intenționate.

Simularea atacurilor

Pot exista mai multe scenarii pentru utilizarea în luptă a unui serviciu IDS extern:

Protecție împotriva atacurilor DDoS (scop principal)

Este dificil de implementat o astfel de opțiune în interiorul rețelei corporative, deoarece pachetele pentru analiză trebuie să ajungă la interfața sistemului care se uită la Internet. Chiar dacă IDS-ul le blochează, traficul fals poate reduce legătura de date. Pentru a evita acest lucru, trebuie să comandați un VPS cu o conexiune la Internet suficient de productivă, care poate trece tot traficul rețelei locale și tot traficul extern. Este adesea mai ușor și mai ieftin să faci asta decât să extinzi canalul de birou. Ca alternativă, merită menționate serviciile specializate de protecție împotriva DDoS. Costul serviciilor lor este comparabil cu costul unui server virtual și nu necesită o configurare consumatoare de timp, dar există și dezavantaje - clientul primește doar protecție DDoS pentru banii săi, în timp ce propriul IDS poate fi configurat așa cum dvs. ca.

Protecție împotriva atacurilor externe de alte tipuri

Suricata este capabilă să facă față încercărilor de exploatare a diverselor vulnerabilități din serviciile de rețea corporative accesibile de pe Internet (server de e-mail, server web și aplicații web etc.). De obicei, pentru aceasta, IDS este instalat în interiorul rețelei LAN după dispozitivele de frontieră, dar scoaterea lui în afara are dreptul de a exista.

Protecție împotriva persoanelor din interior

În ciuda eforturilor depuse de administratorul de sistem, computerele din rețeaua corporativă pot fi infectate cu programe malware. În plus, în zona locală apar uneori huligani, care încearcă să facă niște operațiuni ilegale. Suricata poate ajuta la blocarea unor astfel de încercări, deși pentru a proteja rețeaua internă este mai bine să o instalați în interiorul perimetrului și să o utilizați în tandem cu un comutator gestionat care poate oglindi traficul către un singur port. De asemenea, un IDS extern nu este inutil în acest caz - cel puțin va fi capabil să surprindă încercările de malware care trăiesc pe LAN de a contacta un server extern.

Pentru început, vom crea un alt test care atacă VPS, iar pe routerul de rețea locală vom ridica Apache cu configurația implicită, după care îi vom redirecționa cel de-al 80-lea port de pe serverul IDS. În continuare, vom simula un atac DDoS de la o gazdă atacatoare. Pentru a face acest lucru, descărcați de pe GitHub, compilați și rulați un mic program xerxes pe nodul atacator (poate fi necesar să instalați pachetul gcc):

git clone https://github.com/Soldie/xerxes-DDos-zanyarjamal-C.git
cd xerxes-DDos-zanyarjamal-C/
gcc xerxes.c -o xerxes 
./xerxes 45.132.17.140 80

Rezultatul muncii ei a fost următorul:

Snort sau Suricata. Partea 3: Protejarea rețelei de birouri

Suricata îl întrerupe pe răufăcător, iar pagina Apache se deschide implicit, în ciuda atacului nostru improvizat și a canalului destul de mort al rețelei „de birou” (de fapt acasă). Pentru sarcini mai serioase, ar trebui să utilizați Metasploit Framework. Este conceput pentru testarea de penetrare și vă permite să simulați o varietate de atacuri. Instructiuni de instalare доступна pe site-ul proiectului. După instalare, este necesară o actualizare:

sudo msfupdate

Pentru testare, rulați msfconsole.

Snort sau Suricata. Partea 3: Protejarea rețelei de birouri

Din păcate, cele mai recente versiuni ale framework-ului nu au capacitatea de a se sparge automat, așa că exploit-urile vor trebui sortate manual și rulate folosind comanda de utilizare. Pentru început, merită să determinați porturile deschise pe mașina atacată, de exemplu, folosind nmap (în cazul nostru, va fi înlocuit complet de netstat pe gazda atacată), apoi selectați și utilizați Module Metasploit

Există și alte mijloace pentru a testa rezistența unui IDS împotriva atacurilor, inclusiv servicii online. De dragul curiozității, puteți aranja teste de stres folosind versiunea de probă stresor IP. Pentru a verifica reacția la acțiunile intrușilor interni, merită să instalați instrumente speciale pe una dintre mașinile din rețeaua locală. Există o mulțime de opțiuni și din când în când acestea ar trebui aplicate nu numai pe site-ul experimental, ci și pe sistemele de lucru, doar că aceasta este o cu totul altă poveste.

Snort sau Suricata. Partea 3: Protejarea rețelei de birouri

Snort sau Suricata. Partea 3: Protejarea rețelei de birouri

Sursa: www.habr.com

Adauga un comentariu