IPS ehk sissetungi vältimise süsteem on võrgu turvalisuses kasutatav tehnoloogia võrguliikluse uurimiseks ja erinevate rünnakute ennetamiseks pahatahtlike sisendite tuvastamisega. Lisaks lihtsalt pahatahtlike sisendite avastamisele nagu sissetungimise tuvastamise süsteem, hoiab see võrku ära ka pahatahtlike rünnakute eest. See võib takistada võrgu toorest jõudu, DoS (teenuse keelamine), DDoS (jaotatud teenuse keelamine), ärakasutamist, usse, viirusi ja muid levinumaid rünnakuid. IPS paigutatakse otse tulemüüri taha ja nad saavad saata häireid, visata pahatahtlikke pakette ja blokeerida rikkuvaid IP-aadresse. Selles õpetuses kasutame Fail2bani, mis on sissetungimise ennetamise tarkvarapakett, turvakihi lisamiseks erinevate toore jõu rünnakute vastu.
Kuidas Fail2ban töötab
Fail2ban loeb logifaile (nt.g. / var / log / apache / error_log) ja saab rikkuvad IP-d, kes üritavad liiga palju ebaõnnestunud paroole või otsivad ärakasutamist. Põhimõtteliselt värskendab Fail2ban tulemüüri reegleid, et blokeerida erinevad IP-d serveris. Fail2ban pakub ka filtreid, mida saame kasutada konkreetse teenuse jaoks (nt.g., apache, ssh jne.).
Fail2bani installimine
Fail2ban ei ole Ubuntu eelinstallitud, nii et enne selle kasutamist peame selle installima.
[meiliga kaitstud]: ~ $ sudo apt-get update -y[meiliga kaitstud]: ~ $ sudo apt-get install fail2ban
Pärast Fail2bani installimist käivitage ja lubage Fail2bani teenus käsurea abil.
[meiliga kaitstud]: ~ $ sudo systemctl start fail2ban[meiliga kaitstud]: ~ $ sudo systemctl lubab fail2bani
Nüüd kontrollige fail2ban-teenuse olekut, et kontrollida, kas see algas või mitte.
Fail2bani konfigureerimine SSH jaoks
Fail2bani saab konfigureerida, muutes faili / etc / fail2ban / jail.konf fail. Enne selle muutmist tehke sellest failist varukoopia.
[meiliga kaitstud]: ~ $ sudo cp / etc / fail2ban / jail.conf / etc / fail2ban / jail.kohalik
Nüüd konfigureerime Fail2bani, et vältida sshd-teenuse pahatahtlikke sisendeid. Avage / etc / fail2ban / jail.kohalik fail oma lemmikredaktoris.
[meiliga kaitstud]: ~ $ sudo nano / etc / fail2ban / jail.kohalikMingevaikimisi] sektsiooni ja sisestage [vaikimisi] jaotis.
[DEFAULT]ignoreip = 127.0.0.1/8 192.168.18.10/32
bantime = 300
maxretry = 2
leidmise aeg = 600
ignoreip on tühikuga eraldatud cidr-maski, ip-aadressi või DNS-i hostide loend. Lisage sellesse loendisse oma usaldusväärsed IP-d ja need IP-d lisatakse lubatud loendisse ning fail2ban ei blokeeri neid isegi siis, kui nad serveril toore jõu rünnaku sooritavad.
bantime on aeg, mil IP blokeeritakse pärast konkreetse nurjunud katse tegemist serverile.
maxretry on maksimaalselt ebaõnnestunud katsete arv, mille järel fail2ban blokeerib IP teatud aja jooksul.
leidmisaeg on ajavahemik, mille jooksul peremees teeb maxretry ebaõnnestunud katsed, see blokeeritakse.
Pärast ülaltoodud parameetrite konfigureerimist konfigureerime nüüd teenuse, millele ülaltoodud reeglid kehtivad. Vaikimisi on Fail2banil erinevate teenuste jaoks eelnevalt määratletud filtrid, nii et me ei pea teenuste jaoks konkreetseid kirjeid sisestama. Lubame või keelame konfiguratsioonifailis ainult erinevad teenused. Avage / etc / fail2ban / jail.kohalik fail oma lemmikredaktoris.
[meiliga kaitstud]: ~ $ sudo nano / etc / fail2ban / jail.kohalikLeidkesshd] jaotises ja sisestage jaotisse järgmised parameetrid.
[sshd]enable = true
port = ssh
filter = sshd
logirada = / var / log / auth.logi
maxretry = 3
lubatud määratleb, kas seda teenust kaitseb fail2ban või mitte. Kui lubatud on tõene, on teenus kaitstud; muidu pole see kaitstud.
sadam määratleb teenindussadama.
filter viitab konfiguratsioonifailile fail2ban, mida kasutab. Vaikimisi kasutab see faili / etc / fail2ban / filter.d / sshd.conf-fail ssh-teenuse jaoks.
logirada määratleb tee logideni, fail2ban jälgib teenuse kaitsmist erinevate rünnakute eest. Ssh-teenuse jaoks leiate autentimislogid aadressilt / var / log / auth.logi, nii et fail2ban jälgib seda logifaili ja värskendab tulemüüri, tuvastades ebaõnnestunud sisselogimiskatsed.
maxretry määratleb nurjunud sisselogimiskatsete arvu enne fail2bani blokeerimist.
Pärast ülaltoodud konfiguratsiooni rakendamist fail2bani jaoks taaskäivitage teenus muudatuste salvestamiseks.
[meiliga kaitstud]: ~ $ sudo systemctl taaskäivitage fail2ban.teenus[meiliga kaitstud]: ~ $ sudo systemctl olek fail2ban.teenus
Fail2bani testimine
Oleme konfigureerinud fail2bani, et kaitsta oma süsteemi jõhkrate rünnakute eest ssh-teenusele. Nüüd teeme ebaõnnestunud sisselogimiskatseid oma süsteemile teisest süsteemist, et kontrollida, kas fail2ban töötab või mitte. Pärast ebaõnnestunud sisselogimiskatsete tegemist kontrollime fail2bani logisid.
[meiliga kaitstud]: ~ $ cat / var / log / fail2ban.logi
Näeme, et pärast ebaõnnestunud sisselogimiskatseid on fail2ban blokeerinud IP.
Järgmise käsu abil saame nimekirja kõigist teenustest, mille jaoks fail2ban on lubatud.
[meiliga kaitstud]: ~ $ sudo fail2ban-kliendi olek
Ülaltoodud joonis näitab, et oleme fail2bani lubanud ainult sshd-teenuse jaoks. Lisateavet sshd-teenuse kohta saame, kui määrate teenuse nime ülaltoodud käsus.
Fail2ban tühistab keelatud IP-aadressi pärast bantimist automaatselt, kuid saame käsurea abil igal ajal IP-de blokeerimise tühistada. See annab fail2bani üle suurema kontrolli. IP-aadressi tühistamiseks kasutage järgmist käsku.
[meiliga kaitstud]: ~ $ sudo fail2ban-klient määras sshd unbanip 192.168.43.35
Kui proovite blokeerida IP-aadressi, mida fail2ban ei blokeeri, ütleb see teile lihtsalt, et IP pole blokeeritud.
[meiliga kaitstud]: ~ $ sudo fail2ban-klient määras sshd unbanip 192.168.43.35
Järeldus
Süsteemiadministraatori või turvainseneri jaoks on serverite turvalisuse säilitamine suur väljakutse. Kui teie server on kaitstud parooliga, mitte avaliku ja privaatvõtme paariga, on teie server toore jõu ründajate suhtes haavatavam. Nad saavad teie süsteemi siseneda, kasutades erinevaid paroolikombinatsioone. Fail2ban on tööriist, mis võib piirata ründajaid mitmesuguste rünnakute käivitamisel, sealhulgas toore jõu rünnakud ja DDoS-rünnakud teie serveris. Selles õpetuses arutasime, kuidas saaksime Fail2bani kasutada oma serveri kaitsmiseks erinevate rünnakute eest. Fail2bani saame kasutada ka teiste teenuste, näiteks apache, nginx jne, kaitsmiseks.