Šioje pamokoje pateikiame fail2ban programinės įrangos diegimo instrukcijas Debian, Ubuntu aplinkoje. Taip pat pateikiame esminius konfigūracinių parametrų paaiškinimus, kurių suvokimas yra reikalingas siekiant tiksliai aprašyti taikomas blokavimo taisykles.
Fail2ban programinė įranga skirta žurnalų išrašų filtravimui, pagal kurių gautus rezultatus yra atnaujinamos serverio ugniasienės (iptables) taisyklės.
fail2ban diegimas
Prieš įdiegiant įrankį yra rekomenduotina atnaujinti sistemą:
sudo apt update
Įdiegiame fail2ban įrankį:
sudo apt install fail2ban
Visa fail2ban konfigūracija yra laikoma /etc/fail2ban/ kataloge, pagal nutylėjimą taikomas prieigos blokavimo taisykles talpinantis failas yra jail.conf.
Atliekame pradinių taisyklių išsaugojimą, sukuriant naują konfigūracinį failą:
cd /etc/fail2ban
cp jail.conf jail.local
nano jail.local
jail.local faile atliekame pageidaujamus konfigūracijos pakeitimus, kuriuos norime pakeisti lyginant su pagal nutylėjimą numatytais.
Pagal nutylėjimą numatyta konfigūracija
Poskyriai nurodyti su [DEFAULT] prefiksu yra pagal nutylėjimą numatyti konfigūracinio failo parametrai, kuriuos gali pakeisti vėliau aprašomi parametrai. Bet kuriuo atveju yra pakankamai svarbu konfigūraciniame faile turėti pakankamai tvirtai apibrėžtus pagal nutylėjimą numatytus parametrus.
Blokavimo taisyklės
"fail2ban" taikomas blokavimo taisyklės yra pritaikomos koreguojant pageidaujamus taisyklių parametrus.
Vieni iš svarbesnių parametrų būtų šie:
ignoreip - Šis parametras tikrina sąrašą IP adresų, kuriems neturi būti taikomos aprašytos fail2ban taisyklės. IP adresai ar IP adresų ruožai yra atskiriami tarpo simboliu.
bantime - Šis parametras nurodo kuriam laikui nekorektiškai prisijungimą atlikusiam vartotojui bus taikomos blokavimo taisyklės. Parametro vertė pateikiama sekundėmis. Pagal nutylėjimą numatyta vertė yra 10 minučių.
maxretry - Šis parametras nurodo maksimalų bandymų prisijungti kiekį iki nurodytam vartotojui bus pritaikytas blokavimas.
Blokavimo veiksmai
Blokavimo atveju, fail2ban gali imtis prevencinių veiksmų keliais skirtingais būdais. Šie būdai yra aprašomi šių parametrų:
banaction - Šis parametras nurodo konfigūracinį failą kuris yra naudojamas atliekant blokavimą. Šio parametro vertė atitinka failą "/etc/fail2ban/action.d/" kataloge, kuris ir atlieka patį blokavimo procesą. Pagal nutylėjimą ši vertė yra nurodyta naudojant iptables blokuoti specifiniam IP adresui prieigą visais prievadais.
action - Šis parametras iš esmės yra sutrumpintas kelias iki prieš tai aprašyto "banaction" skripto, kartu pateikiant šiam parametrui reikalingą blokavimui informaciją. Pagal nutylėjimą numatyta vertė perduoda "action_"
El. pašto pranešimų konfigūravimas incidento atveju
Pageidaujant sukonfigūruoti fail2ban siųsti el. pašto laiškus į pasirinktą el. pašto dėžutę, tai galime nurodyti pagal nutylėjimą taikomose konfigūracijos parametrų vertėse.
Žinoma siekiant, kad el. pašto tarnyba siųsti pranešimus į išoriškai prieinamą el. pašto dėžutę yra būtinas el. pašto tarnybos sukonfigūravimas. Kitu atveju laiškų pristatymas būtų galimas tik sisteminiams serverio vartotojams.
Pranešimų į el. paštą siuntimo konfigūracijoje yra esminiai šie du parametrai:
destemail - Šis parametras nurodo el. pašto adresą į kurį bus pristatomi pranešimai apie blokavimo pritaikymą. Pagal nutylėjimą taikoma vertė yra "root@localhost", kuri nurodo laiškų pristatymą "root" sistemos vartotojui.
mta - Šis parametras nurodo kuris el. pašto agentas/tarnyba (MTA) bus naudojama pranešimų siuntimui.
Specifinės aplikacijos jail aprašymas
Konfigūraciniame faile, žemiau pagal nutylėjimą nurodytų konfigūracijos parametrų matyti specifinių aplikacijų jail parametrų nustatymai.
Kiekvienas atskiras jail yra aprašomas žemiau tokia sintakse pažymėtų poskyrių:
[aplikacijos_pavadinimas]
Naudojami pagrindiniai parametrai:
enabled - Šis parametras nurodo ar pasirinktas specifinės aplikacijos jail aprašymas bus taikomas.
filter - parametras nurodo failą "/etc/fail2ban/filter.d/" kataloge, į kurį yra kreipiamasi siekiant identifikuoti metodą pagal kurį yra nuskaitomi nepavykusių prisijungimų žurnalų išrašai.
logpath - parametras nurodo kelią iki pageidaujamos tarnybos žurnalo išrašo, kuris yra tikrinamas pagal prieš tai nurodytą filtrą.
Specifinės aplikacijos jail aprašyme yra galimybė nurodyti specifinius pagal nutylėjimą taikomus parametrus (pvz. maxretry), kuriuos nurodžius specifinės aplikacijos taikomose taisyklėse bus ignoruojami prieš tai nurodyti [DEFAULT] parametrai.
Atlikus bet kokius fail2ban taikomų filtrų ar blokavimo veiksmų konfigūracijos pakeitimus, yra būtinas fail2ban tarnybos perkrovimas - tam paleiskite šią komandą:
systemctl restart fail2ban
Siekiant patikrinti pritaikytas blokavimo taisykles, įvykdome šią komandą:
iptables -L -n
