Chráňte svoju sieť pred votrelcami a nevyžiadanými útokmi inštaláciou a nastavením Snort IDS.
Ak to s bezpečnosťou siete myslíte vážne, inštalácia IPS alebo IDS riešenia je nevyhnutnosťou na posilnenie perimetra siete a odklonenie potenciálne nechcenej sieťovej prevádzky.
Snort je jedným z takýchto slávnych riešení IPS/IDS s otvoreným zdrojovým kódom, ktoré sú bezplatné na osobné použitie. Poďme sa naučiť, ako môžete nainštalovať a nastaviť Snort v systéme Linux, aby ste ochránili svoju sieť pred kybernetickými útokmi.
Čo je Snort?
Snort je open-source Systém detekcie a prevencie sieťového narušenia (NIDS/IPS), ktorý, ako už názov napovedá, pomáha pri zabezpečení perimetra vašej siete presadzovaním pravidiel a filtrov, ktoré zisťujú a zahadzujú potenciálne škodlivé pakety vložené do vašej siete.
So službou Snort budete môcť vykonávať pokročilé protokolovanie sieťovej prevádzky, snímanie a analýzu paketov a nastavovať vytvoriť silný systém prevencie narušenia, ktorý chráni vašu sieť pred nechcenými a potenciálne škodlivými dopravy.
Predpoklady na inštaláciu Snortu
Pred inštaláciou Snortu je potrebné vykonať niekoľko predbežných nastavení. To väčšinou zahŕňa aktualizáciu a aktualizáciu vášho systému a inštaláciu závislostí, ktoré Snort vyžaduje na správne fungovanie.
Začnite aktualizáciou a aktualizáciou systému.
Na Ubuntu- a Linuxové distribúcie založené na Debiane:
sudo apt update && apt upgrade -y
Na Arch Linuxe a jeho derivátoch:
sudo pacman -Syu
Na RHEL a Fedore:
upgrade sudo dnf
Keď je váš systém inovovaný, pokračujte v inštalácii závislostí, ktoré vyžaduje Snort. Tu sú príkazy, ktoré musíte spustiť:
Na Ubuntu a Debiane spustite:
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
Na Arch Linuxe spustite:
sudo pacman -S gperftools hwloc hyperscan ibdaqlibdnet libmnl libpcap libunwind luajit lz4 openssl pcre pullporkxz zlib cmake pkgconf
Pre RHEL a Fedoru zadajte nasledujúci prí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
Okrem toho musíte manuálne nainštalovať knižnicu získavania údajov, LibDAQ pre Snort, aby správne fungovali, a tiež gperftools na generovanie súborov zostavy.
Najprv si stiahnite zdrojové súbory LibDAQ z oficiálnej webovej stránky pomocou príkazu wget. Potom rozbaľte archív a presuňte sa do adresára pomocou cd. Vo vnútri adresára spustite bootstrap a nakonfigurovať skripty, potom pokračujte v príprave súborov pomocou make a nainštalujte ich pomocou súboru vykonať inštaláciu príkaz.
wget https://www.snort.org/downloads/snortplus/libdaq-3.0.11.tar.gz
tar -xzvf lib*
cd lib*
./bootstrap
./configure
urobiť
sudo make install
S nainštalovaným LibDAQ musíte nainštalovať poslednú závislosť: gperftools. Začnite uchopením zdrojových súborov z úložiska GitHub. Extrahujte súbory, presuňte sa do adresára a spustite konfiguračný skript. Nakoniec nainštalujte balík pomocou príkazov 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
urobiť
sudo make install
Po nainštalovaní týchto závislostí môžete prejsť na ďalšie kroky na inštaláciu Snortu.
Nainštalujte Snort From Source v systéme Linux
S predbežným nastavením mimo cesty sa teraz môžete sústrediť na inštaláciu skutočného softvéru. Budete ho zostavovať zo zdroja, takže najprv si vezmite požadované súbory na zostavenie.
Použite príkaz wget alebo stiahnite súbory ručne z oficiálnej stránky na stiahnutie:
wget https://www.snort.org/downloads/snortplus/snort3-3.1.58.0.tar.gz
Stiahnuť ▼:Odfrknite si
Po dokončení sťahovania archívu obsahujúceho súbory zostavy ho rozbaľte pomocou príkazu tar:
tar -xzvf snort*
Presuňte sa do extrahovaného priečinka, spustite konfiguračný skript, použite príkaz make na prípravu súborov a nakoniec ich nainštalujte pomocou vykonať inštaláciu:
cd snort*
./configure_cmake.sh --prefix=/usr/local --enable-tcmalloc
zostava CD
urobiť
sudo make install
Snort bude teraz úspešne nainštalovaný do vášho systému. Je tu však ešte jeden krok, ktorý musíte dokončiť. Keď je nový softvér manuálne nainštalovaný, inštalačný adresár a požadované knižnice nemusia byť automaticky zahrnuté do predvolenej cesty systému. Pri spustení aplikácie sa teda môžete stretnúť s chybami.
Ak sa chcete tomuto problému vyhnúť, musíte spustiť príkaz ldconfig. Synchronizuje vyrovnávaciu pamäť zdieľanej knižnice systému s novo nainštalovanými knižnicami a binárnymi súbormi. Spustite príkaz ldconfig z koreňového prostredia alebo použite predponu sudo:
sudo ldconfig
Teraz ste prebrali všetky dôležité kroky potrebné na inštaláciu Snortu. Na overenie inštalácie spustite príkaz Snort s -V príznak a mali by ste vidieť výstup, ktorý vracia názov verzie a ďalšie údaje.
smrkať -V
Po overení inštalácie Snort prejdite na ďalšie kroky a nastavte ju ako plnohodnotné IDS/IPS.
Počiatočná konfigurácia Snortu v systéme Linux
Účinnosť Snortu takmer úplne závisí od kvality súborov pravidiel, s ktorými je dodávaný.
Predtým, ako sa dostanete k nastaveniu pravidiel, musíte nakonfigurovať sieťové karty tak, aby fungovali so Snortom a tiež musíte vyskúšať, ako Snort spracováva predvolenú konfiguráciu. Začnite konfiguráciou sieťových kariet.
Nastavte sieťové rozhranie na promiskuitný režim:
sudo ip link set dev interface_name promisc on
Pomocou nástroja ethtool zakážte zníženie záťaže všeobecného príjmu (GRO) a zníženie záťaže veľkého príjmu (LRO), aby ste zabránili skráteniu väčších sieťových paketov:
sudo ethtool -K interface_name gro off lro off
Otestujte, ako funguje Snort s predvolenou konfiguráciou:
snort -c /usr/local/etc/snort/snort.lua
Toto by malo vrátiť úspešnú výstupnú signalizáciu, že ste správne nainštalovali a nastavili Snort vo vašom systéme. Teraz si môžete pohrať s jeho funkciami a experimentovať s rôznymi konfiguráciami, aby ste našli najlepšiu sadu pravidiel na zabezpečenie vašej siete.
Nastavte pravidlá a presadzujte ich pomocou Snortu
So základnými nastaveniami je teraz Snort pripravený brániť váš obvod. Ako viete, Snort potrebuje sady pravidiel na určenie platnosti návštevnosti, poďme nastaviť niekoľko bezplatných sád pravidiel vytvorených komunitou pre Snort.
Snort číta sady pravidiel a konfigurácie zo špecifických adresárov. Najprv teda pomocou príkazov mkdir a touch vytvorte niekoľko dôležitých adresárov na ukladanie pravidiel a iných relevantných údajov pre Snort:
sudo mkdir -p /usr/local/etc/{zoznamy, so_pravidlá, pravidlá}
sudo touch /usr/local/etc/rules/local.rules
sudo touch /usr/local/etc/lists/default.blocklist
Po vytvorení týchto adresárov si môžete stiahnuť súbor pravidiel komunity z oficiálnej webovej stránky pomocou príkazu wget:
wget https://www.snort.org/downloads/community/snort3-community-rules.tar.gz
Po dokončení sťahovania sady pravidiel ju rozbaľte a skopírujte do /usr/local/etc/rules/ adresár.
tar -xvzf snort3-com*
cd snort3-com*
cp * /usr/local/etc/rules/
Ak chcete spustiť Snort so sadou pravidiel, vykonajte tento príkaz:
sudo snort -c /usr/local/etc/snort/snort.lua -R /usr/local/etc/rules/snort3-community.rules -i interface_name -s 65535 -k none
Rozdelenie príkazu:
- -c nastaví cestu k predvolenému konfiguračnému súboru
- -R nastavuje cestu k množine pravidiel, ktoré sa majú vynútiť
- -i nastavuje rozhranie
- -s zahodí snaplen limit
- -k ignoruje kontrolné súčty
Toto by malo potvrdiť konfiguráciu a vynútiť všetky sady pravidiel na Snorte. Akonáhle zaznamená akékoľvek rušenie siete, upozorní vás správou na konzole.
Ak si želáte vytvoriť a presadzovať vlastný súbor pravidiel, môžete sa o ňom dozvedieť viac na stránke stránky oficiálnej dokumentácie.
Nastavte protokolovanie pomocou aplikácie Snort
V predvolenom nastavení Snort nevytvára žiadne protokoly. Musíte špecifikovať s -L príznak na spustenie Snortu v režime protokolovania, definujte typ súboru protokolu a -l flag na nastavenie protokolovacieho adresára pre Snort na výpis protokolov.
Tu je príkaz na spustenie Snort s povoleným protokolovaním:
sudo snort -c /usr/local/etc/snort/snort.lua -R /usr/local/etc/rules/snort3-community.rules -i názov_rozhrania -s 65535 -k žiadne -L typ_súboru -l /var/log /frčal
Rozdelenie príkazu:
- -c nastaví cestu k predvolenému konfiguračnému súboru
- -R nastavuje cestu k množine pravidiel, ktoré sa majú vynútiť
- -i nastavuje rozhranie
- -s zahodí snaplen limit
- -k ignoruje kontrolné súčty
- -L aktivuje režim protokolovania a definuje typ súboru protokolu
- -l definuje cestu k ukladaniu protokolov
Všimnite si, že v príklade príkazu je protokolovací adresár nastavený na /var/log/snort. Aj keď je to odporúčaný postup, môžete svoje protokoly uložiť inde.
Súbory denníka zo Snortu si môžete prečítať z adresára, ktorý ste definovali, alebo ich odovzdať do softvéru SIEM, ako je Splunk, na ďalšiu analýzu.
Pridajte Snort ako démona spustenia systému
Aj keď ste nainštalovali a nastavili Snort, musíte sa uistiť, že sa spúšťa pri spustení a beží ako démon na pozadí. Pridanie ako systémovej služby s automatickým spustením zabezpečí, že Snort bude zapnutý a bude brániť váš systém vždy, keď je online.
Tu je návod, ako pridať spúšťacieho démona Snort v systéme Linux:
- Začnite vytvorením nového servisného súboru systemd:
dotknite sa /lib/systemd/system/snort.service
- Otvorte súbor v textovom editore podľa vášho výberu a vyplňte ho nasledujúcimi údajmi. Príznaky môžete upraviť tak, aby vyhovovali vašim potrebám:
[Jednotka]
Description=Snort Daemon
After=syslog.target network.target
[Služba]
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
[Inštalácia]
WantedBy=multi-user.target - Uložte a ukončite súbor. Potom pomocou služby a príkazy systemctl, povoľte a spustite skript:
sudo systemctl povoliť snort.service
sudo snort štart
Démon pozadia Snort by teraz mal byť spustený. Stav skriptu môžete overiť pomocou systemctl status snort príkaz. Mal by vrátiť kladný výstup.
Teraz viete, ako chrániť svoju sieť pomocou Snort IDS
Zatiaľ čo implementácia IDS je dobrou praxou, je to pasívne opatrenie ako aktívne. Najlepším spôsobom, ako zlepšiť a zaručiť bezpečnosť vašej siete, je jej neustále testovanie a hľadanie nedostatkov, ktoré je možné opraviť.
Penetračné testovanie je skvelý spôsob, ako nájsť zneužiteľné zraniteľnosti a opraviť ich.