Az IPS vagy a behatolásmegelőző rendszer a hálózat biztonságában használt technológia, amely megvizsgálja a hálózati forgalmat és megakadályozza a különböző támadásokat a rosszindulatú bemenetek felismerésével. Amellett, hogy csak a rosszindulatú bemeneteket észleli, ahogyan azt a behatolás-észlelő rendszer teszi, megakadályozza a hálózatot is a rosszindulatú támadásokban. Megakadályozhatja a hálózat brutális erőszakát, DoS (Denial of Service), DDoS (Distributed Denial of Service), kihasználásokat, férgeket, vírusokat és más gyakori támadásokat. Az IPS-t közvetlenül a tűzfal mögött helyezik el, és riasztásokat küldhetnek, rosszindulatú csomagokat dobhatnak le és blokkolhatják a sértő IP-címeket. Ebben az oktatóanyagban a Fail2ban programot használjuk, amely egy behatolásmegelőző szoftvercsomag, hogy biztonsági réteget adjunk a különféle erőszakos támadások ellen.
Hogyan működik a Fail2ban
A Fail2ban beolvassa a naplófájlokat (pl.g. / var / log / apache / error_log) és megkapja azokat a sértő IP-ket, amelyek túl sok meghiúsult jelszót próbálnak meg, vagy kihasználást keresnek. Alapvetően a Fail2ban frissíti a tűzfalszabályokat, hogy blokkolja a kiszolgáló különböző IP-jeit. A Fail2ban olyan szűrőket is biztosít, amelyek segítségével egy adott szolgáltatáshoz használhatók (pl.g., apache, ssh stb.).
A Fail2ban telepítése
A Fail2ban nincs előre telepítve az Ubuntura, ezért a használat előtt telepítenünk kell.
[e-mail védett]: ~ $ sudo apt-get update -y[email protected]: ~ $ sudo apt-get install fail2ban
A Fail2ban telepítése után indítsa el és engedélyezze a Fail2ban szolgáltatást a parancssor használatával.
[email protected]: ~ $ sudo systemctl start fail2ban[e-mail védett]: ~ $ sudo systemctl enable fail2ban
Most ellenőrizze a fail2ban szolgáltatás állapotát, hogy meggyőződjön arról, hogy elindult-e vagy sem.
A Fail2ban konfigurálása az SSH számára
A Fail2ban konfigurálható az / etc / fail2ban / jail módosításával.conf fájl. A módosítás előtt készítsen biztonsági másolatot a fájlról.
[e-mail védett]: ~ $ sudo cp / etc / fail2ban / jail.conf / etc / fail2ban / jail.helyi
Most konfiguráljuk a Fail2ban-t, hogy megakadályozzuk az sshd szolgáltatást rosszindulatú bemenetekben. Nyissa meg az / etc / fail2ban / jail fájlt.helyi fájlt a kedvenc szerkesztőjében.
[e-mail védett]: ~ $ sudo nano / etc / fail2ban / jail.helyiMenj a [alapértelmezett] szakaszban, és adja meg a konfigurációs paramétereket a [alapértelmezett] szakasz.
[DEFAULT]ignoreip = 127.0.0.192 1/8.168.18.10/32
bantime = 300
maxretry = 2
keresési idő = 600
ignoreip a szóköz karakterrel elválasztott cidr maszk, IP-cím vagy DNS-gazdagép listája. Adja hozzá megbízható IP-jeit ehhez a listához, és ezek az IP-címek engedélyezőlistára kerülnek, és a fail2ban akkor sem blokkolja őket, ha durva erőszakos támadást hajtanak végre a szerveren.
bantime az az idő, amikor egy IP-t blokkolnak, miután meghatározott számú sikertelen kísérletet hajtott végre a szerveren.
maxretry a maximális sikertelen próbálkozások száma, amelyek után egy IP-t a fail2ban blokkol egy meghatározott ideig.
találási idő az az időtartam, amely alatt, ha a gazdagép tesz maxretry sikertelen próbálkozások, akkor blokkolva lesz.
A fenti paraméterek konfigurálása után most konfiguráljuk azt a szolgáltatást, amelyre a fenti szabályok érvényesek lesznek. Alapértelmezés szerint a Fail2ban előre meghatározott szűrőket tartalmaz a különböző szolgáltatásokhoz, ezért nem kell külön bejegyzést adnunk a szolgáltatásokhoz. Csak a konfigurációs fájlban engedélyezzük vagy tiltsuk le a különböző szolgáltatásokat. Nyissa meg az / etc / fail2ban / jail fájlt.helyi fájlt a kedvenc szerkesztőjében.
[e-mail védett]: ~ $ sudo nano / etc / fail2ban / jail.helyiTaláld meg [sshd] szakaszát a fájlban, és írja be a következő paramétereket a szakaszba.
[sshd]enable = true
port = ssh
szűrő = sshd
logpath = / var / log / auth.napló
maxretry = 3
engedélyezve meghatározza, hogy ezt a szolgáltatást a fail2ban védi-e vagy sem. Ha az Engedélyezve érték igaz, akkor a szolgáltatás védett; különben nem védik.
kikötő meghatározza a szerviz portot.
szűrő a fail2ban által használt konfigurációs fájlra utal. Alapértelmezés szerint az / etc / fail2ban / filter fájlt fogja használni.d / sshd.conf fájl az ssh szolgáltatáshoz.
naplóút meghatározza a naplók elérési útját, a fail2ban figyeli, hogy megvédje a szolgáltatást a különböző támadásoktól. Az ssh szolgáltatáshoz a hitelesítési naplók megtalálhatók a / var / log / auth helyen.napló, így a fail2ban figyelni fogja ezt a naplófájlt, és a sikertelen bejelentkezési kísérletek észlelésével frissíti a tűzfalat.
maxretry meghatározza a sikertelen bejelentkezési kísérletek számát, mielőtt a fail2ban blokkolná őket.
A fail2ban fenti konfigurációjának alkalmazása után indítsa újra a szolgáltatást a változások mentéséhez.
[email protected]: ~ $ sudo systemctl indítsa újra a fail2ban fájlt.szolgáltatás[email protected]: ~ $ sudo systemctl állapot fail2ban.szolgáltatás
A Fail2ban tesztelése
Úgy konfiguráltuk a fail2ban-t, hogy megvédje rendszerünket az ssh szolgáltatás elleni erőszakos támadásoktól. Most sikertelen bejelentkezési kísérleteket teszünk a rendszerünkre egy másik rendszerből, hogy ellenőrizzük, működik-e a fail2ban. Néhány sikertelen bejelentkezési kísérlet után most ellenőrizzük a fail2ban naplókat.
[e-mail védett]: ~ $ cat / var / log / fail2ban.napló
Láthatjuk, hogy a sikertelen bejelentkezési kísérletek után a fail2ban blokkolta az IP-t.
A következő paranccsal megkaphatjuk az összes olyan szolgáltatás listáját, amelyeknél a fail2ban engedélyezve van.
[email protected]: ~ $ sudo fail2ban-client állapot
A fenti ábra azt mutatja, hogy a fail2ban funkciót csak az sshd szolgáltatáshoz engedélyeztük. További információt kaphatunk az sshd szolgáltatásról, ha megadjuk a szolgáltatás nevét a fenti parancsban.
A Fail2ban automatikusan kikapcsolja a tiltott IP-cím bantime után, de bármikor feloldhatunk minden IP-t a parancssor használatával. Ez nagyobb ellenőrzést biztosít a fail2ban felett. Az alábbi paranccsal törölheti az IP-cím letiltását.
[e-mail védett]: ~ $ sudo fail2ban-client set sshd unbanip 192.168.43.35
Ha megpróbálja letiltani egy IP-címet, amelyet a fail2ban nem blokkol, akkor az csak azt fogja mondani, hogy az IP nincs blokkolva.
[e-mail védett]: ~ $ sudo fail2ban-client set sshd unbanip 192.168.43.35
Következtetés
A rendszergazda vagy a biztonsági mérnök számára nagy kihívást jelent a szerverek biztonságának fenntartása. Ha szerverét jelszó védi, nem nyilvános és privát kulcspár, akkor kiszolgálója sebezhetőbb a nyers erőszakos támadókkal szemben. Különböző jelszó kombinációk alkalmazásával juthatnak be a rendszerébe. A Fail2ban egy olyan eszköz, amely korlátozhatja a támadókat abban, hogy különféle támadásokat indítsanak, beleértve a durva erő támadásait és a DDoS támadásokat a szerveren. Ebben az oktatóanyagban megvitattuk, hogyan használhatnánk a Fail2ban-t arra, hogy megvédjük szerverünket a különböző támadásoktól. A Fail2ban-t használhatjuk egyéb szolgáltatások, például apache, nginx stb. Védelmére is.