Chraňte svou síť před vetřelci a nevyžádanými útoky instalací a nastavením Snort IDS.

Pokud to se zabezpečením sítě myslíte vážně, instalace řešení IPS nebo IDS je nutností pro posílení perimetru sítě a odklonění potenciálně nežádoucího síťového provozu.

Snort je jedním z takových slavných řešení IPS/IDS s otevřeným zdrojovým kódem, které je zdarma pro osobní použití. Pojďme se naučit, jak můžete nainstalovat a nastavit Snort na Linuxu, abyste ochránili svou síť před kybernetickými útoky.

Co je Snort?

Snort je open-source Systém detekce a prevence narušení sítě (NIDS/IPS), který, jak název napovídá, pomáhá při zabezpečení perimetru vaší sítě vynucováním pravidel a filtrů, které detekují a zahazují potenciálně škodlivé pakety vložené do vaší sítě.

Se Snortem budete moci provádět pokročilé protokolování síťového provozu, sniffování a analýzu paketů a nastavení vytvořit silný systém prevence narušení, který chrání vaši síť před nechtěnými a potenciálně škodlivými provoz.

Předpoklady pro instalaci Snortu

instagram viewer

Než nainstalujete Snort, je třeba provést určité předběžné nastavení. To většinou zahrnuje aktualizaci a upgrade vašeho systému a instalaci závislostí, které Snort vyžaduje ke správnému fungování.

Začněte aktualizací a upgradem systému.

Na Ubuntu- a Linuxové distribuce založené na Debianu:

sudo apt update && apt upgrade -y

Na Arch Linuxu a jeho derivátech:

sudo pacman -Syu

Na RHEL a Fedoře:

upgrade sudo dnf

S upgradovaným systémem pokračujte v instalaci závislostí požadovaných Snortem. Zde jsou příkazy, které musíte spustit:

Na Ubuntu a Debianu spusťte:

sudo apt install -y build-essential autotools-dev libdumbnet-dev libluajit-5.1-dev libpcap-dev zlib1g-dev pkg-config libhwloc-dev cmake liblzma-dev openssl libssl-dev cpputest libsqlite3-dev libtool uuid-dev git autoconf bison flex libcmocka-dev libnetfilter-queue-dev libunwind-dev libmnl-dev ethtool libjemalloc-dev libpcre++-dev

V Arch Linuxu spusťte:

sudo pacman -S gperftools hwloc hyperscan ibdaqlibdnet libmnl libpcap libunwind luajit lz4 openssl pcre pullporkxz zlib cmake pkgconf

Pro RHEL a Fedoru zadejte následující příkaz:

sudo dnf install gcc gcc-c++ libnetfilter_queue-devel git flex bison zlib zlib-devel pcre pcredevel libdnet tcpdump libnghttp2 wget xz-devel -y

Kromě toho také musíte ručně nainstalovat knihovnu Data Acquisition Library, LibDAQ pro Snort, aby správně fungovaly, a také gperftools pro generování souborů sestavení.

Nejprve si stáhněte zdrojové soubory LibDAQ z oficiálních stránek pomocí příkazu wget. Poté rozbalte archiv a přesuňte se do adresáře pomocí cd. Uvnitř adresáře spusťte soubor bootstrap a konfigurovat skripty pak pokračujte v přípravě souborů pomocí make a nainstalujte je pomocí příkazu provést instalaci příkaz.

wget https://www.snort.org/downloads/snortplus/libdaq-3.0.11.tar.gz
tar -xzvf lib*
cd lib*
./bootstrap
./configure
udělat
sudo make install

S nainstalovaným LibDAQ musíte nainstalovat poslední závislost: gperftools. Začněte tím, že vezmete zdrojové soubory z úložiště GitHub. Extrahujte soubory, přesuňte se do adresáře a spusťte konfigurační skript. Nakonec nainstalujte balíček pomocí příkazů make a make install.

wget https://github.com/gperftools/gperftools/releases/download/gperftools-2.10/gperftools-2.10.tar.gz
tar -xvzf gper* && cd gper
./configure
udělat
sudo make install

Jakmile jsou tyto závislosti nainstalovány, můžete přejít k dalším krokům k instalaci Snortu.

Nainstalujte Snort From Source na Linux

S předběžným nastavením mimo cestu se nyní můžete soustředit na instalaci skutečného softwaru. Budete to sestavovat ze zdroje, takže si nejprve vezměte požadované soubory sestavení.

Použijte příkaz wget nebo stáhněte soubory ručně z oficiální stránky pro stahování:

wget https://www.snort.org/downloads/snortplus/snort3-3.1.58.0.tar.gz

Stažení:Šňupat

Jakmile se archiv obsahující soubory sestavení dokončí stahování, rozbalte jej pomocí příkazu tar:

tar -xzvf snort*

Přesuňte se do extrahované složky, spusťte konfigurační skript, použijte příkaz make k přípravě souborů a nakonec je nainstalujte pomocí provést instalaci:

cd snort*
./configure_cmake.sh --prefix=/usr/local --enable-tcmalloc
sestavení cd
udělat
sudo make install

Snort bude nyní úspěšně nainstalován do vašeho systému. Zbývá však dokončit ještě jeden krok. Při ruční instalaci nového softwaru nemusí být instalační adresář a požadované knihovny automaticky zahrnuty do výchozí cesty systému. Při spouštění aplikace tedy můžete narazit na chyby.

Chcete-li se tomuto problému vyhnout, musíte spustit příkaz ldconfig. Synchronizuje mezipaměť sdílených knihoven systému s nově nainstalovanými knihovnami a binárními soubory. Buď spusťte příkaz ldconfig z kořenového shellu, nebo použijte předponu sudo:

sudo ldconfig

Nyní jste probrali všechny důležité kroky potřebné k instalaci Snortu. Pro ověření instalace spusťte příkaz Snort s -PROTI příznak a měli byste vidět výstup, který vrací název verze a další data.

odfrknout -V

Jakmile ověříte instalaci Snortu, přejděte k dalším krokům a nastavte ji jako plnohodnotné IDS/IPS.

Počáteční konfigurace Snortu na Linuxu

Účinnost Snortu téměř zcela závisí na kvalitě sad pravidel, se kterými je dodáván.

Než se však dostanete k nastavení pravidel, musíte nakonfigurovat síťové karty tak, aby fungovaly se Snortem, a také musíte vyzkoušet, jak Snort zvládá výchozí konfiguraci. Začněte konfigurací síťových karet.

Nastavte síťové rozhraní na promiskuitní režim:

sudo ip link set dev interface_name promisc on

Pomocí ethtool vypněte Generic Receive Offload (GRO) a Large Receive Offload (LRO), abyste zabránili zkrácení větších síťových paketů:

sudo ethtool -K interface_name gro off lro off

Vyzkoušejte, jak si Snort vede s výchozí konfigurací:

snort -c /usr/local/etc/snort/snort.lua

To by mělo vrátit úspěšnou výstupní signalizaci, že jste správně nainstalovali a nastavili Snort ve vašem systému. Nyní si můžete pohrát s jeho funkcemi a experimentovat s různými konfiguracemi, abyste našli tu nejlepší sadu pravidel pro zabezpečení vaší sítě.

Nastavte pravidla a prosazujte je pomocí Snortu

Se základními nastaveními je nyní Snort připraven bránit váš perimetr. Jak víte, Snort potřebuje sady pravidel k určení platnosti provozu, pojďme nastavit několik komunitou vytvořených bezplatných sad pravidel pro Snort.

Snort čte sady pravidel a konfigurace z konkrétních adresářů. Nejprve tedy pomocí příkazů mkdir a touch vytvořte několik důležitých adresářů pro ukládání pravidel a dalších relevantních dat pro Snort:

sudo mkdir -p /usr/local/etc/{seznamy, so_pravidla, pravidla} 
sudo touch /usr/local/etc/rules/local.rules
sudo touch /usr/local/etc/lists/default.blocklist

S těmito vytvořenými adresáři si můžete stáhnout sadu pravidel komunity z oficiálních webových stránek pomocí příkazu wget:

wget https://www.snort.org/downloads/community/snort3-community-rules.tar.gz

Jakmile se sada pravidel dokončí stahování, extrahujte ji a zkopírujte do /usr/local/etc/rules/ adresář.

tar -xvzf snort3-com*
cd snort3-com*
cp * /usr/local/etc/rules/

Chcete-li spustit Snort se sadou pravidel, proveďte tento příkaz:

sudo snort -c /usr/local/etc/snort/snort.lua -R /usr/local/etc/rules/snort3-community.rules -i název_rozhraní -s 65535 -k žádné

Rozdělení příkazu:

  • -C nastaví cestu k výchozímu konfiguračnímu souboru
  • -R nastavuje cestu k pravidlu, které se má vynutit
  • -i nastavuje rozhraní
  • -s vyřadí snaplen limit
  • -k ignoruje kontrolní součty

To by mělo ověřit konfiguraci a vynutit všechny sady pravidel na Snortu. Jakmile zaznamená jakékoli rušení sítě, upozorní vás zprávou na konzole.

Pokud si přejete vytvořit a vynutit vlastní sadu pravidel, můžete se o ní dozvědět více na stránky oficiální dokumentace.

Nastavte protokolování pomocí Snortu

Ve výchozím nastavení Snort nevydává žádné protokoly. Musíte specifikovat s -L příznak pro spuštění Snortu v režimu protokolování, definujte typ souboru protokolu a -l flag pro nastavení adresáře protokolování pro Snort, aby vypsal protokoly.

Zde je příkaz pro spuštění Snortu s povoleným protokolováním:

sudo snort -c /usr/local/etc/snort/snort.lua -R /usr/local/etc/rules/snort3-community.rules -i název_rozhraní -s 65535 -k žádné -L typ_souboru -l /var/log /šňupat

Rozdělení příkazu:

  • -C nastaví cestu k výchozímu konfiguračnímu souboru
  • -R nastavuje cestu k pravidlu, které se má vynutit
  • -i nastavuje rozhraní
  • -s vyřadí snaplen limit
  • -k ignoruje kontrolní součty
  • -L umožňuje režim protokolování a definuje typ souboru protokolu
  • -l definuje cestu k ukládání protokolů

Všimněte si, že v příkladu příkazu je adresář protokolování nastaven na /var/log/snort. Ačkoli se jedná o doporučený postup, můžete své protokoly ukládat jinde.

Soubory protokolu ze Snortu můžete číst z adresáře, který jste definovali, nebo je předat do softwaru SIEM, jako je Splunk, pro další analýzu.

Přidejte Snort jako spouštěcího démona systému

Přestože jste nainstalovali a nastavili Snort, musíte se ujistit, že se spouští při spuštění a běží jako démon na pozadí. Přidáte-li ji jako službu automatického spouštění systému, zajistíte, že Snort bude v provozu a bude bránit váš systém po celou dobu, kdy je online.

Zde je návod, jak přidat spouštěcího démona Snort na Linux:

  1. Začněte vytvořením nového souboru služby systemd:
    dotkněte se /lib/systemd/system/snort.service
  2. Otevřete soubor v textovém editoru dle vašeho výběru a naplňte jej následujícími daty. Příznaky můžete upravit tak, aby vyhovovaly vašim potřebám:
    [Jednotka]
    Description=Snort Daemon
    After=syslog.target network.target
    [Servis]
    Typ = jednoduchý
    ExecStart=/usr/local/bin/snort -c /usr/local/etc/snort/snort.lua -R /usr/local/etc/rules/snort3-community.rules -s 65535 -k none -l /var /log/snort -D -L pcap -i ens33
    [Nainstalujte]
    WantedBy=multi-user.target
  3. Uložte a ukončete soubor. Poté pomocí služby a příkazy systemctl, povolte a spusťte skript:
    sudo systemctl povolit snort.service
    sudo snort start

Démon pozadí Snort by nyní měl být spuštěn a spuštěn. Stav skriptu můžete ověřit pomocí systemctl status odfrknout příkaz. Měl by vrátit kladný výstup.

Nyní víte, jak chránit svou síť pomocí Snort IDS

I když je implementace IDS dobrou praxí, je to pasivní opatření než aktivní. Nejlepším způsobem, jak zlepšit a zaručit zabezpečení vaší sítě, je její neustálé testování a hledání nedostatků, které by se daly opravit.

Penetrační testování je skvělý způsob, jak najít zneužitelná zranitelnost a opravit je.