Snor eller Suricata. Del 3: Skydda kontorsnÀtverket

В tidigare artikel Vi förklarade hur man kör den stabila versionen av Suricata i Ubuntu 18.04 LTS. Att konfigurera ett IDS pĂ„ en enda nod och aktivera gratis regeluppsĂ€ttningar Ă€r ganska enkelt. Idag ska vi titta pĂ„ hur man skyddar ett företagsnĂ€tverk frĂ„n de vanligaste typerna av attacker med Suricata installerat pĂ„ en virtuell server. För detta behöver vi ett VDS pĂ„ Linux med tvĂ„ datorkĂ€rnor. MĂ€ngden RAM beror pĂ„ arbetsbelastningen: 2 GB kan rĂ€cka för vissa, medan mer krĂ€vande uppgifter kan krĂ€va 4 eller till och med 6. Fördelen med en virtuell maskin Ă€r möjligheten att experimentera: du kan börja med en minimal konfiguration och öka resurserna efter behov.

Snor eller Suricata. Del 3: Skydda kontorsnÀtverketfoto: Reuters

Ansluta nÀtverk

Att ta bort IDS till en virtuell maskin i första hand kan behövas för tester. Om du aldrig har sysslat med sĂ„dana lösningar bör du inte skynda dig att bestĂ€lla fysisk hĂ„rdvara och Ă€ndra nĂ€tverksarkitekturen. Det Ă€r bĂ€st att köra systemet sĂ€kert och kostnadseffektivt för att faststĂ€lla dina datorbehov. Det Ă€r viktigt att förstĂ„ att all företagstrafik mĂ„ste passeras genom en enda extern nod: för att ansluta ett lokalt nĂ€tverk (eller flera nĂ€tverk) till en VDS med IDS Suricata installerat kan du anvĂ€nda SoftEther — en lĂ€ttkonfigurerad VPN-server för flera plattformar som erbjuder sĂ€ker kryptering. Din internetanslutning pĂ„ kontoret kanske inte har en riktig IP-adress, sĂ„ det Ă€r bĂ€st att konfigurera den pĂ„ en VPS. I arkivet Ubuntu Det finns inga fĂ€rdiga paket, programvaran mĂ„ste laddas ner antingen frĂ„n projektplats, eller frĂ„n ett externt arkiv pĂ„ tjĂ€nsten Launchpad (om du litar pĂ„ honom):

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

Du kan se listan över tillgÀngliga paket med följande kommando:

apt-cache search softether

Snor eller Suricata. Del 3: Skydda kontorsnÀtverket

Vi kommer att behöva softether-vpnserver (servern i testkonfigurationen körs pÄ VDS), sÄvÀl som softether-vpncmd - kommandoradsverktyg för att konfigurera den.

sudo apt-get install softether-vpnserver softether-vpncmd

Ett speciellt kommandoradsverktyg anvÀnds för att konfigurera servern:

sudo vpncmd

Snor eller Suricata. Del 3: Skydda kontorsnÀtverket

Vi kommer inte att prata i detalj om installationen: proceduren Àr ganska enkel, den Àr vÀl beskriven i mÄnga publikationer och relaterar inte direkt till artikelns Àmne. Kort sagt, efter att ha startat vpncmd mÄste du vÀlja objekt 1 för att gÄ till serverhanteringskonsolen. För att göra detta mÄste du ange namnet localhost och trycka pÄ enter istÀllet för att ange namnet pÄ hubben. I konsolen, stÀll in administratörslösenordet med serverpasswordset-kommandot, ta bort DEFAULT virtuella navet (hubdelete-kommandot) och skapa ett nytt med namnet Suricata_VPN, och stÀll Àven in dess lösenord (hubcreate-kommandot). DÀrefter mÄste du gÄ till hanteringskonsolen för den nya hubben med kommandot hub Suricata_VPN för att skapa en grupp och anvÀndare med kommandona groupcreate och usercreate. AnvÀndarlösenordet stÀlls in med userpasswordset.

SoftEther stöder tvÄ trafiköverföringslÀgen: SecureNAT och Local Bridge. Den första Àr en egenutvecklad teknik för att bygga ett virtuellt privat nÀtverk med egen NAT och DHCP. SecureNAT krÀver inte TUN/TAP eller Netfilter eller andra brandvÀggsinstÀllningar. Routing pÄverkar inte kÀrnan i systemet, och alla processer Àr virtualiserade och fungerar pÄ vilken VPS/VDS som helst, oavsett vilken hypervisor som anvÀnds. Detta resulterar i ökad CPU-belastning och lÀgre hastighet jÀmfört med Local Bridge-lÀge, som ansluter SoftEthers virtuella hubb till en fysisk nÀtverksadapter eller TAP-enhet.

Konfigurationen i detta fall blir mer komplicerad, eftersom routing sker pÄ kÀrnnivÄ med Netfilter. VÄra VDS Àr byggda pÄ Hyper-V, sÄ i det sista steget skapar vi en lokal brygga och aktiverar TAP-enheten med kommandot bridgecreate Suricate_VPN -device:suricate_vpn -tap:yes. Efter att ha avslutat navhanteringskonsolen kommer vi att se ett nytt nÀtverksgrÀnssnitt i systemet som Ànnu inte har tilldelats en IP:

ifconfig

Snor eller Suricata. Del 3: Skydda kontorsnÀtverket

DÀrefter mÄste du aktivera paketrouting mellan grÀnssnitt (ip forward), om den Àr inaktiv:

sudo nano /etc/sysctl.conf

Avkommentera följande rad:

net.ipv4.ip_forward = 1

Spara Àndringarna i filen, avsluta redigeraren och tillÀmpa dem med följande kommando:

sudo sysctl -p

DÀrefter mÄste vi definiera ett subnÀt för det virtuella nÀtverket med fiktiva IP-adresser (till exempel 10.0.10.0/24) och tilldela en adress till grÀnssnittet:

sudo ifconfig tap_suricata_vp 10.0.10.1/24

DÄ mÄste du skriva Netfilter-regler.

1. TillÄt vid behov inkommande paket pÄ lyssningsportar (SoftEthers proprietÀra protokoll anvÀnder HTTPS och 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. StÀll in NAT frÄn undernÀtet 10.0.10.0/24 till huvudserverns IP

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

3. TillÄt att paket skickas frÄn undernÀtet 10.0.10.0/24

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

4. TillÄt överföring av paket för redan etablerade anslutningar

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

Vi lÀmnar automatiseringen av processen nÀr systemet startas om med initialiseringsskript till lÀsarna som hemlÀxa.

Om du vill ge IP till klienter automatiskt mÄste du ocksÄ installera nÄgon form av DHCP-tjÀnst för den lokala bryggan. Detta slutför serverinstallationen och du kan gÄ till klienterna. SoftEther stöder mÄnga protokoll, vars anvÀndning beror pÄ LAN-utrustningens kapacitet.

netstat -ap |grep vpnserver

Snor eller Suricata. Del 3: Skydda kontorsnÀtverket

Eftersom vÄr testrouter ocksÄ fungerar under UbuntuInstallera paketen softether-vpnclient och softether-vpncmd frÄn ett externt arkiv för att anvÀnda det proprietÀra protokollet. Du mÄste köra klienten:

sudo vpnclient start

För att konfigurera, anvÀnd vpncmd-verktyget och vÀlj localhost som den maskin pÄ vilken vpnclienten körs. Alla kommandon görs i konsolen: du mÄste skapa ett virtuellt grÀnssnitt (NicCreate) och ett konto (AccountCreate).

I vissa fall mÄste du ange autentiseringsmetoden med kommandona AccountAnonymousSet, AccountPasswordSet, AccountCertSet och AccountSecureCertSet. Eftersom vi inte anvÀnder DHCP stÀlls adressen för den virtuella adaptern in manuellt.

Dessutom mÄste vi aktivera ip forward (alternativet net.ipv4.ip_forward=1 i filen /etc/sysctl.conf) och konfigurera statiska rutter. Om det behövs, pÄ VDS med Suricata, kan du konfigurera portvidarebefordran för att anvÀnda tjÀnsterna installerade pÄ det lokala nÀtverket. PÄ detta kan nÀtverkssammanslagningen anses vara fullstÀndig.

VÄr föreslagna konfiguration kommer att se ut ungefÀr sÄ hÀr:

Snor eller Suricata. Del 3: Skydda kontorsnÀtverket

Konfigurera Suricata

В tidigare artikel vi pratade om tvĂ„ driftslĂ€gen för IDS: genom NFQUEUE-kön (NFQ-lĂ€ge) och genom nollkopiering (AF_PACKET-lĂ€ge). Det andra krĂ€ver tvĂ„ grĂ€nssnitt, men Ă€r snabbare - vi kommer att anvĂ€nda det. Parametern Ă€r instĂ€lld som standard i /etc/default/suricata. Vi behöver ocksĂ„ redigera vars-sektionen i /etc/suricata/suricata.yaml, stĂ€lla in det virtuella subnĂ€tet dĂ€r som hem.

Snor eller Suricata. Del 3: Skydda kontorsnÀtverket

För att starta om IDS, anvÀnd kommandot:

systemctl restart suricata

Lösningen Àr klar, nu kan du behöva testa den för motstÄnd mot skadliga handlingar.

Simulerar attacker

Det kan finnas flera scenarier för stridsanvÀndning av en extern IDS-tjÀnst:

Skydd mot DDoS-attacker (primÀrt syfte)

Det Ă€r svĂ„rt att implementera ett sĂ„dant alternativ i företagets nĂ€tverk, eftersom paketen för analys mĂ„ste komma till systemgrĂ€nssnittet som tittar pĂ„ Internet. Även om IDS blockerar dem, kan falsk trafik fĂ„ ner datalĂ€nken. För att undvika detta behöver du bestĂ€lla en VPS med en tillrĂ€ckligt produktiv internetuppkoppling som kan passera all lokal nĂ€tverkstrafik och all extern trafik. Det Ă€r ofta enklare och billigare att göra detta Ă€n att utöka kontorskanalen. Som ett alternativ Ă€r det vĂ€rt att nĂ€mna specialiserade tjĂ€nster för skydd mot DDoS. Kostnaden för deras tjĂ€nster Ă€r jĂ€mförbar med kostnaden för en virtuell server, och den krĂ€ver ingen tidskrĂ€vande konfiguration, men det finns ocksĂ„ nackdelar - klienten fĂ„r bara DDoS-skydd för sina pengar, medan hans egen IDS kan konfigureras som du tycka om.

Skydd mot yttre angrepp av andra slag

Suricata kan hantera försök att utnyttja olika sÄrbarheter i företagsnÀtverkstjÀnster tillgÀngliga frÄn Internet (e-postserver, webbserver och webbapplikationer, etc.). Vanligtvis, för detta, installeras IDS inuti LAN efter grÀnsenheterna, men att ta den utanför har rÀtt att existera.

Skydd frÄn insiders

Trots systemadministratörens bÀsta anstrÀngningar kan datorer i företagets nÀtverk infekteras med skadlig programvara. Dessutom dyker det ibland upp huliganer i nÀromrÄdet, som försöker utföra en del illegala operationer. Suricata kan hjÀlpa till att blockera sÄdana försök, Àven om det för att skydda det interna nÀtverket Àr bÀttre att installera det innanför omkretsen och anvÀnda det tillsammans med en hanterad switch som kan spegla trafik till en port. En extern IDS Àr inte heller vÀrdelös i det hÀr fallet - Ätminstone kommer den att kunna fÄnga försök av skadlig programvara som bor pÄ LAN:et att kontakta en extern server.

Till att börja med kommer vi att skapa ytterligare ett test som attackerar VPS, och pÄ den lokala nÀtverksroutern kommer vi att höja Apache med standardkonfigurationen, varefter vi vidarebefordrar den 80:e porten till den frÄn IDS-servern. DÀrefter kommer vi att simulera en DDoS-attack frÄn en attackerande vÀrd. För att göra detta, ladda ner frÄn GitHub, kompilera och kör ett litet xerxes-program pÄ den attackerande noden (du kan behöva installera gcc-paketet):

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 av hennes arbete blev följande:

Snor eller Suricata. Del 3: Skydda kontorsnÀtverket

Suricata skÀr av skurken, och Apache-sidan öppnas som standard, trots vÄr improviserade attack och den ganska döda kanalen för "kontorets" (egentligen hemmanÀtverket). För mer seriösa uppgifter bör du anvÀnda Metasploit Framework. Den Àr designad för penetrationstestning och lÄter dig simulera en mÀngd olika attacker. Installations instruktioner tillgÀnglig pÄ projektets hemsida. Efter installationen krÀvs en uppdatering:

sudo msfupdate

För att testa, kör msfconsole.

Snor eller Suricata. Del 3: Skydda kontorsnÀtverket

TyvĂ€rr saknar de senaste versionerna av ramverket förmĂ„gan att automatiskt knĂ€cka, sĂ„ exploateringar mĂ„ste sorteras manuellt och köras med kommandot use. Till att börja med Ă€r det vĂ€rt att bestĂ€mma vilka portar som Ă€r öppna pĂ„ den attackerade maskinen, till exempel med hjĂ€lp av nmap (i vĂ„rt fall kommer den att helt ersĂ€ttas av netstat pĂ„ den attackerade vĂ€rden), och vĂ€lj sedan och anvĂ€nd lĂ€mplig Metasploit-moduler. 

Det finns andra sÀtt att testa motstÄndskraften hos en IDS mot attacker, inklusive onlinetjÀnster. För nyfikenhetens skull kan du ordna stresstester med hjÀlp av testversionen IP-stressare. För att kontrollera reaktionen pÄ interna inkrÀktares handlingar Àr det vÀrt att installera specialverktyg pÄ en av maskinerna pÄ det lokala nÀtverket. Det finns mÄnga alternativ och frÄn tid till annan bör de tillÀmpas inte bara pÄ experimentplatsen utan ocksÄ pÄ fungerande system, bara det hÀr Àr en helt annan historia.

Snor eller Suricata. Del 3: Skydda kontorsnÀtverket

Snor eller Suricata. Del 3: Skydda kontorsnÀtverket

KĂ€lla: will.com

Köp pĂ„litlig hosting för webbplatser med DDoS-skydd, VPS VDS-servrar đŸ”„ Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar | ProHoster