A Snort IDS telepítésével és beállításával megvédheti hálózatát a behatolóktól és a kéretlen támadásoktól.

Ha komolyan gondolja a hálózat biztonságát, az IPS- vagy IDS-megoldás telepítése elengedhetetlen a hálózat peremének megerõsítéséhez és a potenciálisan nemkívánatos hálózati forgalom eltereléséhez.

A Snort egy ilyen híres, ingyenes személyes használatra és nyílt forráskódú IPS/IDS megoldás. Tanuljuk meg, hogyan telepítheti és állíthatja be a Snortot Linux rendszeren, hogy megvédje hálózatát a kibertámadásoktól.

Mi az a Snort?

A Snort nyílt forráskódú Hálózati behatolás-észlelő és -megelőzési rendszer (NIDS/IPS) szoftver, amely, ahogy a neve is sugallja, segít megvédeni a hálózat peremét azáltal, hogy olyan szabályokat és szűrőket kényszerít ki, amelyek észlelik és eldobják a hálózatba befecskendezett potenciálisan rosszindulatú csomagokat.

A Snort segítségével fejlett hálózati forgalomnaplózást, csomagszimulálást és -elemzést végezhet, valamint egy erős behatolás-megelőzési rendszert, amely megvédi hálózatát a nem kívánt és potenciálisan rosszindulatú anyagoktól forgalom.

instagram viewer

A Snort telepítésének előfeltételei

A Snort telepítése előtt el kell végezni néhány előzetes beállítást. Ez többnyire magában foglalja a rendszer frissítését és frissítését, valamint a Snort által a megfelelő működéshez szükséges függőségek telepítését.

Kezdje a rendszer frissítésével és frissítésével.

Ubuntu- és Debian-alapú Linux disztribúciók:

sudo apt update && apt upgrade -y

Az Arch Linuxon és származékain:

sudo pacman -Syu

A RHEL-en és a Fedorán:

sudo dnf frissítés

A rendszer frissítése után folytassa a Snort által igényelt függőségek telepítését. Itt vannak a futtatandó parancsok:

Ubuntu és Debian rendszeren futtassa:

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

Arch Linuxon futtassa:

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

RHEL és Fedora esetén adja ki a következő parancsot:

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

Ezenkívül manuálisan kell telepítenie a Data Acquisition Library-t, a LibDAQ for Snort-t a megfelelő működéshez, valamint a gperftools-t a build fájlok létrehozásához.

Először töltse le a LibDAQ forrásfájlokat a hivatalos webhelyről a wget paranccsal. Ezután csomagolja ki az archívumot, és lépjen be a könyvtárba a cd segítségével. A könyvtárban futtassa a bootstrap és Beállítás szkriptek, majd folytassa a fájlok előkészítésével a make-val, és telepítse a telepítse parancs.

wget https://www.snort.org/downloads/snortplus/libdaq-3.0.11.tar.gz
tar -xzvf lib*
cd lib*
./bootstrap
./Beállítás
készítsenek
sudo make install

A LibDAQ telepítése után telepítenie kell egy utolsó függőséget: a gperftools-t. Kezdje azzal, hogy megragadja a forrásfájlokat a GitHub-tárhelyből. Bontsa ki a fájlokat, lépjen be a könyvtárba, és futtassa a konfiguráló parancsfájlt. Végül telepítse a csomagot a make és make install parancsokkal.

wget https://github.com/gperftools/gperftools/releases/download/gperftools-2.10/gperftools-2.10.tar.gz
tar -xvzf gper* && cd gper
./Beállítás
készítsenek
sudo make install

A függőségek telepítése után folytathatja a Snort telepítésének következő lépéseit.

Telepítse a Snort From Source programot Linuxra

Miután az előzetes beállítás nincs útban, most a tényleges szoftver telepítésére összpontosíthat. A forrásból fogod megépíteni, ezért először fogd meg a szükséges build fájlokat.

Használja a wget parancsot, vagy töltse le manuálisan a fájlokat a hivatalos letöltési oldalról:

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

Letöltés:Horkant

Miután a build fájlokat tartalmazó archívum letöltése befejeződött, csomagolja ki a tar paranccsal:

tar -xzvf horkant*

Lépjen a kicsomagolt mappába, futtassa a konfigurációs szkriptet, használja a make parancsot a fájlok előkészítéséhez, és végül telepítse telepítse:

cd horkant*
./configure_cmake.sh --prefix=/usr/local --enable-tcmalloc
cd build
készítsenek
sudo make install

A Snort most sikeresen telepítve lesz a rendszerében. Azonban még csak egy lépést kell végrehajtania. Új szoftver manuális telepítése esetén előfordulhat, hogy a telepítési könyvtár és a szükséges könyvtárak nem szerepelnek automatikusan a rendszer alapértelmezett elérési útjában. Így az alkalmazás indításakor hibákba ütközhet.

A probléma elkerülése érdekében futtassa az ldconfig parancsot. Szinkronizálja a rendszer megosztott könyvtárának gyorsítótárát az újonnan telepített könyvtárakkal és binárisokkal. Futtassa az ldconfig parancsot egy gyökérhéjból, vagy használja a sudo előtagot:

sudo ldconfig

Most már leírta a Snort telepítéséhez szükséges összes fontos lépést. A telepítés ellenőrzéséhez futtassa a Snort parancsot a -V zászlót, és látnia kell egy kimenetet, amely visszaadja a verzió nevét és egyéb adatokat.

horkant -V

Miután ellenőrizte a Snort telepítését, folytassa a következő lépésekkel, és állítsa be teljes körű IDS/IPS-ként.

A Snort kezdeti beállítása Linuxon

A Snort hatékonysága szinte teljes mértékben a vele szállított szabálykészletek minőségétől függ.

Mielőtt azonban hozzáfogna a szabályok beállításához, be kell állítania a hálózati kártyákat, hogy működjenek a Snorttal, és azt is meg kell vizsgálnia, hogy a Snort hogyan kezeli az alapértelmezett konfigurációt. Kezdje a hálózati kártyák beállításával.

Állítsa a hálózati interfészt promiszkuális módba:

sudo ip link set dev interface_name promisc on

Az ethtool használatával tiltsa le az Általános vételi offload (GRO) és a Large Receive Offload (LRO) funkciót, hogy megakadályozza a nagyobb hálózati csomagok csonkolását:

sudo ethtool -K interface_name gro off lro off

Tesztelje, hogyan teljesít a Snort az alapértelmezett konfigurációval:

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

Ennek sikeres kimeneti jelzést kell adnia arról, hogy a Snortot megfelelően telepítette és beállította a rendszerben. Mostantól trükközhet a funkcióival, és kísérletezhet különféle konfigurációkkal, hogy megtalálja a legjobb szabálykészletet a hálózat biztonságához.

Állítson be szabályokat, és érvényesítse azokat a Snort segítségével

Az alapbeállításokkal a Snort készen áll a kerület védelmére. Mint tudják, a Snortnak szabálykészletekre van szüksége a forgalom érvényességének meghatározásához. Állítsunk be néhány közösség által készített, ingyenes szabálykészletet a Snort számára.

A Snort meghatározott könyvtárakból olvassa be a szabálykészleteket és konfigurációkat. Tehát először az mkdir és a touch parancsok használatával hozzon létre néhány fontos könyvtárat a szabályok és a Snort egyéb releváns adatainak tárolására:

sudo mkdir -p /usr/local/etc/{listák, so_rules, szabályok} 
sudo touch /usr/local/etc/rules/local.rules
sudo touch /usr/local/etc/lists/default.blocklist

Ezekkel a könyvtárakkal a wget paranccsal letöltheti a közösségi szabályokat a hivatalos webhelyről:

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

Amint a szabálykészlet letöltése befejeződött, bontsa ki, és másolja át a /usr/local/etc/rules/ Könyvtár.

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

A Snort szabálykészlettel történő futtatásához hajtsa végre ezt a parancsot:

sudo snort -c /usr/local/etc/snort/snort.lua -R /usr/local/etc/rules/snort3-community.rules -i interface_name -s 65535 -k nincs

A parancs bontása:

  • -c beállítja az alapértelmezett konfigurációs fájl elérési útját
  • -R beállítja az érvényesítendő szabály elérési útját
  • -én beállítja az interfészt
  • -s eldobja a snaplen limitet
  • -k figyelmen kívül hagyja az ellenőrző összegeket

Ennek érvényesítenie kell a konfigurációt, és érvényesítenie kell a Snort összes szabálykészletét. Amint bármilyen hálózati zavart észlel, konzolüzenettel figyelmezteti Önt.

Ha saját szabálykészletet szeretne létrehozni és érvényesíteni, többet megtudhat róla a következő helyen: hivatalos dokumentációs oldalakon.

Naplózás beállítása Snort segítségével

Alapértelmezés szerint a Snort nem ad ki semmilyen naplót. Meg kell adni a -L jelölje be a Snort naplózási módban történő elindításához, adja meg a naplófájl típusát, és -l jelölőnégyzetet a naplózási könyvtár beállításához a Snort számára, hogy kiírja a naplókat.

Íme a parancs a Snort elindításához, ha a naplózás engedélyezett:

sudo snort -c /usr/local/etc/snort/snort.lua -R /usr/local/etc/rules/snort3-community.rules -i interface_name -s 65535 -k nincs -L fájltípus -l /var/log /horkant

A parancs bontása:

  • -c beállítja az alapértelmezett konfigurációs fájl elérési útját
  • -R beállítja az érvényesítendő szabály elérési útját
  • -én beállítja az interfészt
  • -s eldobja a snaplen limitet
  • -k figyelmen kívül hagyja az ellenőrző összegeket
  • -L engedélyezi a naplózási módot és meghatározza a naplófájl típusát
  • -l meghatározza a naplók tárolásának elérési útját

Vegye figyelembe, hogy a példa parancsban a naplózási könyvtár a következőre van állítva /var/log/snort. Bár ez ajánlott gyakorlat, szabadon tárolhatja naplóit máshol.

A Snort naplófájljait elolvashatja a megadott könyvtárból, vagy átadhatja azokat a SIEM-szoftvereknek, például a Splunknak további elemzés céljából.

Adja hozzá a Snortot rendszerindítási démonként

Bár telepítette és beállította a Snortot, meg kell győződnie arról, hogy az indításkor elindul, és háttérdémonként fut. Ha automatikus indítású rendszerszolgáltatásként adja hozzá, akkor a Snort működésben van, és megvédi a rendszert, amikor az online állapotban van.

A következőképpen adhat hozzá Snort indítódémont Linuxon:

  1. Kezdje egy új systemd szolgáltatásfájl létrehozásával:
    érintse meg a /lib/systemd/system/snort.service elemet
  2. Nyissa meg a fájlt egy választott szövegszerkesztőben, és töltse fel a következő adatokkal. A zászlókat az igényeinek megfelelően módosíthatja:
    [Mértékegység]
    Description=Snort Daemon
    After=syslog.target network.target
    [Szolgáltatás]
    Típus=egyszerű
    ExecStart=/usr/local/bin/snort -c /usr/local/etc/snort/snort.lua -R /usr/local/etc/rules/snort3-community.rules -s 65535 -k nincs -l /var /log/snort -D -L pcap -i ens33
    [Telepítés]
    WantedBy=multi-user.target
  3. Mentse el és lépjen ki a fájlból. Ezután a szolgáltatás igénybevételével és systemctl parancsok, engedélyezze és indítsa el a szkriptet:
    sudo systemctl engedélyezi a snort.service-t
    sudo snort start

A Snort háttérdémonnak most már működnie kell. A szkript állapotát a következővel ellenőrizheti systemctl állapot snort parancs. Pozitív kimenetet kell visszaadnia.

Most már tudja, hogyan védheti meg hálózatát a Snort IDS segítségével

Bár az IDS megvalósítása jó gyakorlat, passzív intézkedés, mint aktív. A hálózat biztonságának javításának és garantálásának legjobb módja az, ha folyamatosan teszteli, és keresi a javítandó hibákat.

A penetrációs tesztelés nagyszerű módja a kihasználható sebezhetőségek megtalálásának és javításának.