Snort nebo Suricata. Část 3: Ochrana sítě Office

В předchozí článek probrali jsme, jak spustit stabilní verzi Suricata na Ubuntu 18.04 LTS. Nastavení IDS na jednom uzlu a povolení bezplatných sad pravidel je docela jednoduché. Dnes zjistíme, jak chránit firemní síť pomocí nejběžnějších typů útoků pomocí Suricata nainstalovaného na virtuálním serveru. K tomu potřebujeme VDS na Linuxu se dvěma výpočetními jádry. Velikost paměti RAM závisí na zatížení: někomu stačí 2 GB a pro vážnější úkoly může být potřeba 4 nebo dokonce 6. Výhodou virtuálního stroje je možnost experimentovat: můžete začít s minimální konfigurací a zvýšit zdroje podle potřeby.

Snort nebo Suricata. Část 3: Ochrana sítě Officefoto: Reuters

Propojovací sítě

Odstranění IDS z virtuálního počítače může být nutné pro testy. Pokud jste se s takovými řešeními nikdy nezabývali, neměli byste spěchat s objednáním fyzického hardwaru a změnou síťové architektury. Nejlepší je provozovat systém bezpečně a levně, abyste určili své výpočetní potřeby. Je důležité pochopit, že veškerý firemní provoz bude muset procházet jediným externím uzlem: pro připojení místní sítě (nebo několika sítí) k VDS s nainstalovaným IDS Suricata můžete použít SoftEther - Snadno konfigurovatelný server VPN pro různé platformy, který poskytuje silné šifrování. Internetové připojení v kanceláři nemusí mít skutečnou IP, takže je lepší jej nastavit na VPS. V úložišti Ubuntu nejsou žádné hotové balíčky, budete si muset stáhnout software buď z místo projektunebo z externího úložiště ve službě Launchpad (pokud mu věříš):

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

Seznam dostupných balíčků můžete zobrazit pomocí následujícího příkazu:

apt-cache search softether

Snort nebo Suricata. Část 3: Ochrana sítě Office

Budeme potřebovat softether-vpnserver (server v testovací konfiguraci běží na VDS) a také softether-vpncmd - nástroje příkazového řádku pro jeho konfiguraci.

sudo apt-get install softether-vpnserver softether-vpncmd

Ke konfiguraci serveru se používá speciální nástroj příkazového řádku:

sudo vpncmd

Snort nebo Suricata. Část 3: Ochrana sítě Office

O nastavení se nebudeme podrobně bavit: postup je vcelku jednoduchý, je dobře popsán v četných publikacích a přímo se netýká tématu článku. Stručně řečeno, po spuštění vpncmd musíte vybrat položku 1, abyste se dostali do konzoly pro správu serveru. Chcete-li to provést, musíte zadat název localhost a stisknout enter místo zadání názvu hubu. Heslo administrátora se nastavuje v konzoli příkazem serverpasswordset, virtuální hub DEFAULT se smaže (příkaz hubdelete) a vytvoří se nový s názvem Suricata_VPN a také se nastaví jeho heslo (příkaz hubcreate). Dále musíte přejít do konzoly pro správu nového hubu pomocí příkazu hub Suricata_VPN a vytvořit skupinu a uživatele pomocí příkazů groupcreate a usercreate. Heslo uživatele se nastavuje pomocí sady uživatelských hesel.

SoftEther podporuje dva režimy přenosu provozu: SecureNAT a Local Bridge. První je proprietární technologie pro budování virtuální privátní sítě s vlastním NAT a DHCP. SecureNAT nevyžaduje TUN/TAP nebo Netfilter ani jiná nastavení brány firewall. Směrování neovlivňuje jádro systému a všechny procesy jsou virtualizované a fungují na libovolném VPS / VDS bez ohledu na použitý hypervizor. To má za následek zvýšené zatížení CPU a nižší rychlost ve srovnání s režimem Local Bridge, který připojuje virtuální rozbočovač SoftEther k fyzickému síťovému adaptéru nebo zařízení TAP.

Konfigurace je v tomto případě složitější, protože směrování probíhá na úrovni jádra pomocí Netfilter. Naše VDS jsou postaveny na Hyper-V, takže v posledním kroku vytvoříme místní most a aktivujeme zařízení TAP pomocí příkazu bridgecreate Suricate_VPN -device:suricate_vpn -tap:yes. Po opuštění konzoly pro správu rozbočovače uvidíme v systému nové síťové rozhraní, kterému dosud nebyla přidělena IP:

ifconfig

Snort nebo Suricata. Část 3: Ochrana sítě Office

Dále budete muset povolit směrování paketů mezi rozhraními (ip forward), pokud je neaktivní:

sudo nano /etc/sysctl.conf

Odkomentujte následující řádek:

net.ipv4.ip_forward = 1

Uložte změny do souboru, ukončete editor a použijte je následujícím příkazem:

sudo sysctl -p

Dále musíme definovat podsíť pro virtuální síť s fiktivními IP adresami (například 10.0.10.0/24) a přiřadit adresu rozhraní:

sudo ifconfig tap_suricata_vp 10.0.10.1/24

Poté musíte napsat pravidla Netfilter.

1. V případě potřeby povolte příchozí pakety na naslouchacích portech (proprietární protokol SoftEther používá HTTPS a 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. Nastavte NAT z podsítě 10.0.10.0/24 na IP hlavního serveru

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

3. Povolte procházení paketů z podsítě 10.0.10.0/24

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

4. Povolit procházení paketů pro již vytvořená připojení

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

Automatizaci procesu při restartu systému pomocí inicializačních skriptů necháme na čtenářích jako domácí úkol.

Pokud chcete přidělovat IP klientům automaticky, budete také muset nainstalovat nějakou službu DHCP pro místní most. Tím je nastavení serveru dokončeno a můžete přejít ke klientům. SoftEther podporuje mnoho protokolů, jejichž použití závisí na možnostech zařízení LAN.

netstat -ap |grep vpnserver

Snort nebo Suricata. Část 3: Ochrana sítě Office

Protože náš testovací router také běží pod Ubuntu, nainstalujme na něj balíčky softether-vpnclient a softether-vpncmd z externího úložiště, abychom mohli používat proprietární protokol. Budete muset spustit klienta:

sudo vpnclient start

Ke konfiguraci použijte obslužný program vpncmd a jako počítač, na kterém běží vpnclient, vyberte localhost. Všechny příkazy se provádějí v konzole: budete muset vytvořit virtuální rozhraní (NicCreate) a účet (AccountCreate).

V některých případech musíte zadat metodu ověřování pomocí příkazů AccountAnonymousSet, AccountPasswordSet, AccountCertSet a AccountSecureCertSet. Protože nepoužíváme DHCP, adresa pro virtuální adaptér se nastavuje ručně.

Kromě toho musíme povolit ip forward (volba net.ipv4.ip_forward=1 v souboru /etc/sysctl.conf) a nakonfigurovat statické cesty. V případě potřeby můžete na VDS se Suricatou nakonfigurovat přesměrování portů pro použití služeb nainstalovaných v místní síti. V tomto případě lze sloučení sítě považovat za dokončené.

Naše navrhovaná konfigurace bude vypadat nějak takto:

Snort nebo Suricata. Část 3: Ochrana sítě Office

Nastavení Suricaty

В předchozí článek hovořili jsme o dvou režimech provozu IDS: prostřednictvím fronty NFQUEUE (režim NFQ) a prostřednictvím nulového kopírování (režim AF_PACKET). Druhý vyžaduje dvě rozhraní, ale je rychlejší - použijeme ho. Parametr je standardně nastaven v /etc/default/suricata. Musíme také upravit sekci vars v /etc/suricata/suricata.yaml a nastavit tam virtuální podsíť jako domovskou.

Snort nebo Suricata. Část 3: Ochrana sítě Office

Chcete-li restartovat IDS, použijte příkaz:

systemctl restart suricata

Řešení je připraveno, nyní možná budete muset otestovat jeho odolnost vůči škodlivým akcím.

Simulace útoků

Pro bojové použití externí služby IDS může existovat několik scénářů:

Ochrana proti DDoS útokům (primární účel)

Je obtížné implementovat takovou možnost uvnitř podnikové sítě, protože pakety pro analýzu se musí dostat do rozhraní systému, které se dívá na Internet. I když je IDS zablokuje, falešný provoz může přerušit datové spojení. Abyste tomu zabránili, musíte si objednat VPS s dostatečně produktivním internetovým připojením, které dokáže přenést veškerý místní síťový provoz a veškerý externí provoz. Často je to jednodušší a levnější než rozšířit kancelářský kanál. Jako alternativu stojí za zmínku specializované služby na ochranu před DDoS. Cena jejich služeb je srovnatelná s cenou virtuálního serveru a nevyžaduje časově náročnou konfiguraci, má však i nevýhody – klient za své peníze dostane pouze DDoS ochranu, zatímco jeho vlastní IDS lze nakonfigurovat jako vy jako.

Ochrana proti vnějším útokům jiných typů

Suricata si dokáže poradit s pokusy o zneužití různých zranitelností ve službách podnikové sítě přístupných z internetu (mailový server, webový server a webové aplikace atd.). Obvykle se za tímto účelem IDS instaluje do LAN za hraničními zařízeními, ale vyjmutí zvenčí má právo na existenci.

Ochrana před zasvěcenými osobami

Přes veškerou snahu správce systému mohou být počítače v podnikové síti infikovány malwarem. V místní části se navíc občas objevují chuligáni, kteří se snaží o nějaké nelegální operace. Suricata může pomoci takové pokusy zablokovat, i když pro ochranu vnitřní sítě je lepší ji nainstalovat uvnitř perimetru a používat ji v tandemu se spravovaným přepínačem, který dokáže zrcadlit provoz na jeden port. Externí IDS v tomto případě také není k ničemu – alespoň bude schopno zachytit pokusy malwaru žijícího v LAN kontaktovat externí server.

Pro začátek vytvoříme další test útočící na VPS a na routeru lokální sítě zvedneme Apache s výchozí konfigurací, načež na něj přepošleme 80. port z IDS serveru. Dále budeme simulovat DDoS útok z útočícího hostitele. Chcete-li to provést, stáhněte si z GitHubu, zkompilujte a spusťte malý program xerxes na útočícím uzlu (možná budete muset nainstalovat balíček 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

Výsledek její práce byl následující:

Snort nebo Suricata. Část 3: Ochrana sítě Office

Suricata odřízne padoucha a stránka Apache se otevře standardně, navzdory našemu improvizovanému útoku a poněkud mrtvému ​​kanálu "kancelářské" (ve skutečnosti domácí) sítě. Pro vážnější úkoly byste měli použít Metasploit Framework. Je určen pro penetrační testování a umožňuje simulovat různé útoky. Instrukce k instalaci k dispozici na webu projektu. Po instalaci je vyžadována aktualizace:

sudo msfupdate

Pro testování spusťte msfconsole.

Snort nebo Suricata. Část 3: Ochrana sítě Office

Bohužel nejnovější verze frameworku postrádají možnost automatického crackování, takže exploity bude nutné třídit ručně a spouštět pomocí příkazu use. Pro začátek se vyplatí určit porty otevřené na napadeném počítači, např. pomocí nmap (v našem případě jej na napadeném hostiteli zcela nahradí netstat) a poté vybrat a použít vhodné Moduly Metasploit

Existují další způsoby, jak otestovat odolnost IDS proti útokům, včetně online služeb. Pro zajímavost si můžete domluvit zátěžové testování pomocí zkušební verze IP zdůrazňovač. Chcete-li zkontrolovat reakci na akce vnitřních vetřelců, vyplatí se nainstalovat speciální nástroje na jeden ze strojů v místní síti. Možností je spousta a čas od času by se měly aplikovat nejen na experimentální web, ale i na fungující systémy, jen tohle je úplně jiný příběh.

Snort nebo Suricata. Část 3: Ochrana sítě Office

Snort nebo Suricata. Část 3: Ochrana sítě Office

Zdroj: www.habr.com

Přidat komentář