Р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.
foto: 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 â 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 , eller frĂ„n ett externt arkiv pĂ„ tjĂ€nsten (om du litar pĂ„ honom):
sudo add-apt-repository ppa:paskal-07/softethervpn
sudo apt-get updateDu kan se listan över tillgÀngliga paket med följande kommando:
apt-cache search softether 
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-vpncmdEtt speciellt kommandoradsverktyg anvÀnds för att konfigurera servern:
sudo vpncmd 
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 
DÀrefter mÄste du aktivera paketrouting mellan grÀnssnitt (ip forward), om den Àr inaktiv:
sudo nano /etc/sysctl.confAvkommentera följande rad:
net.ipv4.ip_forward = 1Spara Àndringarna i filen, avsluta redigeraren och tillÀmpa dem med följande kommando:
sudo sysctl -pDÀ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/24DÄ 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 ACCEPT2. 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.1403. 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 ACCEPT4. TillÄt överföring av paket för redan etablerade anslutningar
sudo iptables -A FORWARD -p all -m state --state ESTABLISHED,RELATED -j ACCEPTVi 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 
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 startFö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:

Konfigurera Suricata
Р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.

För att starta om IDS, anvÀnd kommandot:
systemctl restart suricataLö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 80Resultatet av hennes arbete blev följande:

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 . Den Àr designad för penetrationstestning och lÄter dig simulera en mÀngd olika attacker. Installations instruktioner pÄ projektets hemsida. Efter installationen krÀvs en uppdatering:
sudo msfupdateFör att testa, kör msfconsole.

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 .
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 . 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.
KĂ€lla: will.com
