Snork eller Suricata. Del 3: Beskyttelse af Office-netværket

В forrige artikel vi har dækket, hvordan man kører den stabile version af Suricata på Ubuntu 18.04 LTS. Opsætning af en IDS på en enkelt node og aktivering af gratis regelsæt er ret ligetil. I dag vil vi finde ud af, hvordan man beskytter et virksomhedsnetværk ved hjælp af de mest almindelige typer angreb ved hjælp af Suricata installeret på en virtuel server. For at gøre dette har vi brug for en VDS på Linux med to computerkerner. Mængden af ​​RAM afhænger af belastningen: 2 GB er nok for nogen, og 4 eller endda 6 kan være påkrævet til mere seriøse opgaver. Fordelen ved en virtuel maskine er evnen til at eksperimentere: du kan starte med en minimal konfiguration og øge ressourcer efter behov.

Snork eller Suricata. Del 3: Beskyttelse af Office-netværketfoto: Reuters

Tilslutning af netværk

Fjernelse af IDS til en virtuel maskine i første omgang kan være nødvendig for tests. Hvis du aldrig har beskæftiget dig med sådanne løsninger, bør du ikke skynde dig at bestille fysisk hardware og ændre netværksarkitekturen. Det er bedst at køre systemet sikkert og omkostningseffektivt for at bestemme dine computerbehov. Det er vigtigt at forstå, at al virksomhedstrafik skal føres gennem en enkelt ekstern node: for at forbinde et lokalt netværk (eller flere netværk) til en VDS med IDS Suricata installeret, kan du bruge SoftEther - En nem at konfigurere VPN-server på tværs af platforme, der giver stærk kryptering. En internetforbindelse på kontoret har muligvis ikke en rigtig IP, så det er bedre at sætte den op på en VPS. Der er ingen færdige pakker i Ubuntu-depotet, du skal enten downloade softwaren fra projekt site, eller fra et eksternt lager på tjenesten Launchpad (hvis du stoler på ham):

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

Du kan se listen over tilgængelige pakker med følgende kommando:

apt-cache search softether

Snork eller Suricata. Del 3: Beskyttelse af Office-netværket

Vi skal bruge softether-vpnserver (serveren i testkonfigurationen kører på VDS), samt softether-vpncmd - kommandolinjeværktøjer til at konfigurere den.

sudo apt-get install softether-vpnserver softether-vpncmd

Et særligt kommandolinjeværktøj bruges til at konfigurere serveren:

sudo vpncmd

Snork eller Suricata. Del 3: Beskyttelse af Office-netværket

Vi vil ikke tale i detaljer om indstillingen: proceduren er ret enkel, den er godt beskrevet i adskillige publikationer og relaterer ikke direkte til artiklens emne. Kort sagt, efter at have startet vpncmd, skal du vælge punkt 1 for at gå til serverstyringskonsollen. For at gøre dette skal du indtaste navnet localhost og trykke på enter i stedet for at indtaste navnet på hubben. Administratoradgangskoden indstilles i konsollen med serverpasswordset-kommandoen, den DEFAULT virtuelle hub slettes (hubdelete-kommandoen), og en ny oprettes med navnet Suricata_VPN, og dens adgangskode indstilles også (hubcreate-kommandoen). Dernæst skal du gå til administrationskonsollen for den nye hub ved hjælp af kommandoen hub Suricata_VPN for at oprette en gruppe og bruger ved at bruge kommandoerne groupcreate og usercreate. Brugeradgangskoden indstilles ved hjælp af userpasswordset.

SoftEther understøtter to trafikoverførselstilstande: SecureNAT og Local Bridge. Den første er en proprietær teknologi til opbygning af et virtuelt privat netværk med sin egen NAT og DHCP. SecureNAT kræver ikke TUN/TAP eller Netfilter eller andre firewall-indstillinger. Routing påvirker ikke kernen af ​​systemet, og alle processer er virtualiserede og fungerer på enhver VPS/VDS, uanset hvilken hypervisor der bruges. Dette resulterer i øget CPU-belastning og langsommere hastighed sammenlignet med Local Bridge-tilstand, som forbinder SoftEther virtuelle hub til en fysisk netværksadapter eller TAP-enhed.

Konfiguration i dette tilfælde bliver mere kompliceret, da routing sker på kerneniveau ved hjælp af Netfilter. Vores VDS er bygget på Hyper-V, så i sidste trin opretter vi en lokal bro og aktiverer TAP-enheden med kommandoen bridgecreate Suricate_VPN -device:suricate_vpn -tap:yes. Efter at have forladt hub-administrationskonsollen, vil vi se en ny netværksgrænseflade i systemet, som endnu ikke er blevet tildelt en IP:

ifconfig

Snork eller Suricata. Del 3: Beskyttelse af Office-netværket

Dernæst bliver du nødt til at aktivere pakkerouting mellem grænseflader (ip forward), hvis den er inaktiv:

sudo nano /etc/sysctl.conf

Fjern kommentarer på følgende linje:

net.ipv4.ip_forward = 1

Gem ændringerne til filen, afslut editoren og anvend dem med følgende kommando:

sudo sysctl -p

Dernæst skal vi definere et undernet til det virtuelle netværk med fiktive IP'er (for eksempel 10.0.10.0/24) og tildele en adresse til grænsefladen:

sudo ifconfig tap_suricata_vp 10.0.10.1/24

Så skal du skrive Netfilter-regler.

1. Tillad om nødvendigt indgående pakker på lytteporte (SoftEther proprietær protokol bruger HTTPS og port 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. Konfigurer NAT fra 10.0.10.0/24 undernettet til hovedserverens IP

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

3. Tillad at sende pakker fra undernettet 10.0.10.0/24

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

4. Tillad at sende pakker til allerede etablerede forbindelser

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

Vi vil overlade automatiseringen af ​​processen, når systemet genstartes ved hjælp af initialiseringsscripts, til læserne som hjemmearbejde.

Hvis du vil give IP til klienter automatisk, skal du også installere en form for DHCP-tjeneste til den lokale bro. Dette fuldender serveropsætningen, og du kan gå til klienterne. SoftEther understøtter mange protokoller, hvis brug afhænger af LAN-udstyrets muligheder.

netstat -ap |grep vpnserver

Snork eller Suricata. Del 3: Beskyttelse af Office-netværket

Da vores testrouter også kører under Ubuntu, lad os installere softether-vpnclient- og softether-vpncmd-pakkerne fra et eksternt lager på den for at bruge den proprietære protokol. Du skal køre klienten:

sudo vpnclient start

For at konfigurere skal du bruge vpncmd-værktøjet og vælge localhost som den maskine, som vpnclienten kører på. Alle kommandoer laves i konsollen: du skal oprette en virtuel grænseflade (NicCreate) og en konto (AccountCreate).

I nogle tilfælde skal du angive godkendelsesmetoden ved hjælp af kommandoerne AccountAnonymousSet, AccountPasswordSet, AccountCertSet og AccountSecureCertSet. Da vi ikke bruger DHCP, indstilles adressen til den virtuelle adapter manuelt.

Derudover skal vi aktivere ip forward (parameteren net.ipv4.ip_forward=1 i filen /etc/sysctl.conf) og konfigurere statiske ruter. Om nødvendigt kan du på VDS med Suricata konfigurere portvideresendelse til at bruge de tjenester, der er installeret på det lokale netværk. På denne kan netværkssammenlægningen betragtes som fuldstændig.

Vores foreslåede konfiguration vil se nogenlunde sådan ud:

Snork eller Suricata. Del 3: Beskyttelse af Office-netværket

Opsætning af Suricata

В forrige artikel vi talte om to driftsformer for IDS: gennem NFQUEUE-køen (NFQ-tilstand) og gennem nul kopi (AF_PACKET-tilstand). Den anden kræver to grænseflader, men er hurtigere - vi vil bruge den. Parameteren er indstillet som standard i /etc/default/suricata. Vi skal også redigere vars-sektionen i /etc/suricata/suricata.yaml, og sætte det virtuelle undernet der som hjem.

Snork eller Suricata. Del 3: Beskyttelse af Office-netværket

For at genstarte IDS skal du bruge kommandoen:

systemctl restart suricata

Løsningen er klar, nu skal du muligvis teste den for modstand mod ondsindede handlinger.

Simulering af angreb

Der kan være flere scenarier for kampbrug af en ekstern IDS-tjeneste:

Beskyttelse mod DDoS-angreb (primært formål)

Det er svært at implementere en sådan mulighed inde i virksomhedens netværk, da pakkerne til analyse skal komme til systemgrænsefladen, der ser på internettet. Selvom IDS'en blokerer dem, kan falsk trafik bringe dataforbindelsen ned. For at undgå dette skal du bestille en VPS med en tilstrækkelig produktiv internetforbindelse, der kan passere al lokal netværkstrafik og al ekstern trafik. Det er ofte nemmere og billigere at gøre dette end at udvide kontorkanalen. Som et alternativ er det værd at nævne specialiserede tjenester til beskyttelse mod DDoS. Prisen på deres tjenester kan sammenlignes med prisen på en virtuel server, og den kræver ikke tidskrævende konfiguration, men der er også ulemper - klienten får kun DDoS-beskyttelse for sine penge, mens hans egen IDS kan konfigureres som du synes godt om.

Beskyttelse mod eksterne angreb af andre typer

Suricata er i stand til at klare forsøg på at udnytte forskellige sårbarheder i virksomhedens netværkstjenester, der er tilgængelige fra internettet (mailserver, webserver og webapplikationer osv.). Normalt, til dette, er IDS installeret inde i LAN efter grænseenhederne, men at tage det udenfor har ret til at eksistere.

Beskyttelse mod insidere

På trods af den bedste indsats fra systemadministratoren kan computere på virksomhedens netværk blive inficeret med malware. Derudover dukker der nogle gange hooligans op i lokalområdet, som forsøger at udføre nogle ulovlige operationer. Suricata kan hjælpe med at blokere sådanne forsøg, selvom det for at beskytte det interne netværk er bedre at installere det inde i perimeteren og bruge det sammen med en administreret switch, der kan spejle trafik til én port. En ekstern IDS er heller ikke ubrugelig i dette tilfælde - i det mindste vil den kunne fange forsøg fra malware, der bor på LAN'et, på at kontakte en ekstern server.

Til at begynde med vil vi oprette endnu en test, der angriber VPS, og på den lokale netværksrouter vil vi hæve Apache med standardkonfigurationen, hvorefter vi videresender den 80. port til den fra IDS-serveren. Dernæst vil vi simulere et DDoS-angreb fra en angribende vært. For at gøre dette skal du downloade fra GitHub, kompilere og køre et lille xerxes-program på den angribende node (du skal muligvis installere gcc-pakken):

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

Resultatet af hendes arbejde var som følger:

Snork eller Suricata. Del 3: Beskyttelse af Office-netværket

Suricata afbryder skurken, og Apache-siden åbner som standard, på trods af vores improviseret angreb og den ret døde kanal på "kontoret" (faktisk hjemmenetværket). Til mere seriøse opgaver bør du bruge Metasploit Framework. Den er designet til penetrationstest og giver dig mulighed for at simulere en række forskellige angreb. Installations instruktioner tilgængelig på projektets hjemmeside. Efter installationen kræves en opdatering:

sudo msfupdate

For at teste, kør msfconsole.

Snork eller Suricata. Del 3: Beskyttelse af Office-netværket

Desværre mangler de seneste versioner af rammeværket muligheden for automatisk at crack, så udnyttelser skal sorteres manuelt og køres ved hjælp af use-kommandoen. Til at begynde med er det værd at bestemme, hvilke porte der er åbne på den angrebne maskine, for eksempel ved hjælp af nmap (i vores tilfælde vil den blive fuldstændig erstattet af netstat på den angrebne vært), og vælg derefter og brug den relevante Metasploit moduler

Der er andre måder at teste modstandsdygtigheden af ​​en IDS mod angreb, herunder onlinetjenester. For nysgerrighedens skyld kan du arrangere stresstest ved hjælp af prøveversionen IP stresser. For at kontrollere reaktionen på interne ubudne gæsters handlinger er det værd at installere specialværktøj på en af ​​maskinerne på det lokale netværk. Der er mange muligheder, og fra tid til anden skal de anvendes ikke kun på det eksperimentelle sted, men også på arbejdssystemer, kun dette er en helt anden historie.

Snork eller Suricata. Del 3: Beskyttelse af Office-netværket

Snork eller Suricata. Del 3: Beskyttelse af Office-netværket

Kilde: www.habr.com

Tilføj en kommentar