Kaip sukonfigūruoti „Fail2ban“, kad apsaugotumėte savo „Linux“ serverį

Paskutiniai pakeitimai: rugsėjo 3 d. 2026 m.
  • Dinaminės IP adresų blokavimo sistemos, pagrįstos prieigos žurnalų analize, įdiegimas.
  • .local konfigūracijos failų naudojimas siekiant išvengti nustatymų praradimo sistemos atnaujinimų metu.
  • Daugiakanalė apsaugos galimybė tokioms svarbioms paslaugoms kaip SSH, žiniatinklio serveriai, duomenų bazės ir FTP.
  • Draudimų ir draudimų panaikinimų valdymas realiuoju laiku naudojant komandinės eilutės įrankį „fail2ban-client“.

IT specialistas dirba su nešiojamuoju kompiuteriu moderniame duomenų centre, idealiai tinkančiame serverio saugumo diegimui.

Turėti „Linux“ serverį atvirą tinklui iš esmės tas pats, kas pritraukti robotus. Jei nesukonfigūravote jokių saugumo priemonių, jūsų žurnaluose greičiausiai jau yra tūkstančiai nepavykusių prisijungimo bandymų; automatinės mašinos nuolat bando vartotojo vardo ir slaptažodžio derinius, bandydamos perimti jūsų kompiuterio valdymą brutalios jėgos atakomis.

Čia praverčia „Fail2ban“ – įrankis, kuris veikia kaip nenuilstamas sargybos šuo. Tai ne užkarda siaurąja prasme, o veikiau analizuoja sistemos žurnalus ir, aptikusi, kad kas nors bando įsiveržti, užtrenkia duris prieš nosį, blokuodama jų IP adresą naudodama tokius įrankius kaip „iptables“ ar „nftables“. Pažiūrėkime, kaip jį sukonfigūruoti, kad jūsų serveris taptų kietu riešutėliu.

Kas tiksliai yra „Fail2ban“ ir kaip jis veikia?

Paprastai tariant, „Fail2ban“ yra demonas, kuris nuolat stebi jūsų paslaugų žurnalų failus. Kai jis aptinka įtartinus modelius, atitinkančius iš anksto nustatytas taisykles, vadinamas filtrais , jis pradeda skaičiuoti klaidas. Jei IP adresas per tam tikrą laiką pasiekia leistinų bandymų ribą, programa atlieka veiksmą , kuris paprastai apima to IP adreso įtraukimą į užkardos juodąjį sąrašą.

Šios konfigūracijos yra suskirstytos į vadinamuosius „jail“ (kalinimus ). „Jail“ iš esmės yra taisyklių rinkinys, taikomas konkrečiai paslaugai (pvz., SSH, „Apache“ arba „MySQL“). Tokiu būdu galite taikyti labai griežtą nuotolinės prieigos politiką ir griežtesnę žiniatinklio serverio politiką, užtikrindami, kad įsilaužėliai būtų automatiškai blokuojami, jums nereikės rankiniu būdu tikrinti žurnalų kas penkias minutes.

  Saugumas viešuosiuose „Wi-Fi“ tinkluose: rizika ir kaip apsisaugoti

Kibernetinės atakos simbolis, kuriame šalia „Linux“ serverių stelažų yra asmuo, laikantis programišiaus kaukę.

Diegimas pagal jūsų Linux distribuciją

Priklausomai nuo naudojamos sistemos, diegimo komanda šiek tiek skiriasi, tačiau ją paprastai galima rasti beveik visose oficialiose saugyklose.

  • „Ubuntu“ ir „Debian“ sistemose: Labai paprasta, tereikia bėgti sudo apt update po to sudo apt install fail2ban.
  • „Rocky Linux“ arba „AlmaLinux“ sistemose: Kadangi tai yra „Enterprise“ platinamos versijos, pirmiausia turite įjungti EPEL saugyklą naudodami sudo dnf install epel-release ir tada įdiekite paketą su sudo dnf install fail2ban fail2ban-firewalld.
  • „Alpine Linux“ sistemoje: Naudokite APK tvarkyklę su sudo apk add fail2ban Ir kadangi jis naudoja „OpenRC“, turite jį įjungti naudodami sudo rc-update add fail2ban default ir pradėkite nuo sudo rc-service fail2ban start.

Profesionali duomenų centro serverių lentynų detalė su mėlynu apšvietimu, vaizduojančia serverių infrastruktūrą.

Pagrindinė konfigūracija: .local failo paslaptis

Labai dažna klaida yra tiesioginis failo redagavimas. jail.confNedarykite to! Atnaujinant sistemą, tas failas gali būti perrašytas. Auksinė taisyklė – sukurti kopiją, vadinamą kalėjimas.vietinėBet kokie parametrai, kuriuos pridėsite prie šio antrojo failo, bus viršesni už originalą, o jūsų pakeitimai bus perrašyti. apsaugotas nuo atnaujinimų.

Norėdami pradėti, galite klonuoti originalų failą naudodami sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local ir atidarykite jį naudodami mėgstamą redaktorių, pvz., „nano“ arba „vim“. Skyriuje [Numatytasis] Čia apibrėžiate bendrą sistemos elgesį:

  • draudimo laikas: Laikotarpis, kurį kenkėjiškas IP adresas išliks užšaldytas. Tai gali būti sekundės arba naudojant „m“ minutėms (pvz., 10 m).
  • radimo laikas: Laiko intervalas, per kurį „Fail2ban“ tikrina, ar nėra klaidų. Jei kas nors patikrina, ar nėra klaidų, 5 kartus per valandą, bet paieškos laikas yra 10 minučių, jis nebus užblokuotas.
  • maksretrija: Leidžiamų nesėkmingų bandymų skaičius, kol sistema praneša Užteks ir užblokuok IP adresą.
  • ignoruoti: Svarbu, kad neužsiblokuotumėte. Čia turite įvesti savo viešas IP adresas arba jūsų VPN diapazoną.
  Namų apsaugos sistemos: apsaugokite savo namus nepažeisdami banko

Prie įmonės serverio prijungtų šviesolaidinio tinklo kabelių stambus planas, iliustruojantis tinklo ryšį ir saugumą.

Žingsnis po žingsnio apsaugokite konkrečias paslaugas

Sukonfigūravus bendruosius nustatymus, laikas aktyvuoti jums labiausiai svarbių paslaugų apsaugos zonas. Kad apsauga veiktų, turite nustatyti enabled = true atitinkamame skyriuje jail.local.

SSH prieiga (svarbiausias taškas)

22 prievadas yra svarbiausias taikinys. Tvirta konfigūracija apibrėžtų maxretry = 3 ir bantime = 3600 (viena valanda). „Fail2ban“ nuskaitys failą. /var/log/auth.log (Debian/Ubuntu sistemose) arba / var / log / secure (sistemoje „CentOS“ / „RHEL“), kad būtų aptiktos autentifikavimo klaidos ir užkirstas kelias užpuoliko prieigai.

Žiniatinklio serveriai („Apache“ ir „Nginx“)

Jei turite svetainę ar internetinę parduotuvę, robotai bandys pasiekti jautrius maršrutus, pvz. /wp-admin o /login.phpGalite kurti pasirinktinius filtrus /etc/fail2ban/filter.d/ aptikti šiuos modelius. Pavyzdžiui, Apsaugokite „WordPress“403 klaidos arba nepavykę bandymai yra stebimi wp-login.php, blokuojant IP adresą, jei jis viršija „Apache“ arba „Nginx“ jail nustatytas ribas.

Duomenų bazės ir FTP

„MySQL“ atveju galite stebėti frazės klaidų žurnalą Prieiga vartotojui uždraustaFTP (pvz., ProFTPD) atveju labai svarbu užtikrinti, kad logpath suderinkite tikrąjį kelią su savo žurnalų failais, nes jei „Fail2ban“ neras žurnalų failo, apsauga tiesiog neveiks.

Išplėstinis valdymas naudojant „fail2ban“ klientą

Ne visada reikia redaguoti failus ir paleisti paslaugą iš naujo, kad atliktumėte greitus pakeitimus. Komanda fail2ban-client Tai leidžia valdyti sistemą iš konsolės akimirksniu.

Norėdami pamatyti, kurie kalėjimai yra aktyvūs ir kiek IP adresų yra užblokuota, naudokite sudo fail2ban-client statusJei norite išsamiau susipažinti su paslauga, pvz., SSH, paleiskite sudo fail2ban-client status sshdBe to, jei per klaidą Užblokavote kolegą Arba galite greitai atlaisvinti IP adresą patys naudodami komandą sudo fail2ban-client set sshd unbanip IP_A_DESBLOQUEAR.

Mantenimiento y Resolución de problems

Jei pastebėsite, kad „Fail2ban“ neblokuoja taip, kaip turėtų, pirmiausia reikėtų patikrinti paties įrankio žurnalo failą. /var/log/fail2ban.log. Naudojant tail -f Galite realiu laiku matyti, kas ir kodėl yra užblokuotas.

  El. pašto saugumo sprendimas: išsamus ir išsamus vadovas

Atminkite, kad „Fail2ban“ saugo užrakinimo būseną „SQLite“ duomenų bazėje /var/lib/fail2ban/fail2ban.sqlite3Todėl, jei paleisite serverį iš naujo, užblokuoti IP adresai bus panaikinti. liks užblokuotas kol pasibaigs jūsų baudos laikotarpis. Kai keičiate konfigūracijos failus, nepamirškite pritaikyti pakeitimų naudodami sudo systemctl restart fail2ban.

Įdiegus šį įrankį, jūsų serveris iš lengvo taikinio tampa automatizuota tvirtove, sumažindamas procesoriaus apkrovą, pašalindamas kenkėjišką srautą tinklo lygmenyje ir leisdamas jums ramiai miegoti žinant, kad robotai negalės įsiveržti jėga. Derindami .local failų naudojimą, konkrečių kalėjimų valdymą ir nuolatinį žurnalų stebėjimą, sukuriate išsamią gynybos sistemą , būtiną bet kuriam „Linux“ sistemos administratoriui.