Kako nastaviti Fail2Ban v Plesku - varnost s samo nekaj kliki

Fail2Ban Plesk v okolje strežnika Plesk z le nekaj kliki prinaša učinkovito zaščito pred napadi z grobo silo in samodejno blokira sumljive IP-je. Pokazal vam bom korak za korakom, kako namestiti Fail2Ban, aktivirati zapore, prilagoditi pravila in nastaviti obvestila, da bo vaš Strežnik ostane trajno čista.

Osrednje točke

V naslednjih ključnih točkah boste dobili zgoščen pregled, preden jih podrobno predstavim in vam pokažem, kako jih izvajati na plošči. Kako nastaviti pravo Prednostne naloge že od samega začetka.

  • Namestitev prek orodij in nastavitev ter takojšnja aktivacija
  • Zapori Uporabite posebej za SSH, pošto, Plesk panel in WordPress
  • Parametri kot so čas prepovedi, okno za zaznavanje in neuspešni poskusi.
  • Bela lista Vzdrževanje zaupanja vrednih IP-jev in preverjanje blokov
  • Spremljanje dnevnikov za natančne nastavitve in manj lažnih alarmov.

Kaj počne Fail2Ban - na kratko pojasnjeno

Analize Fail2Ban Protokoli storitev, kot so SSH, pošta, spletni strežnik ali plošča Plesk, in prepozna ponavljajoče se neuspešne poskuse. Če IP preseže določene mejne vrednosti, ga samodejno blokiram za določen čas. Na ta način z minimalnim naporom zanesljivo preprečim napade z grobo silo, slovarske napade in samodejna pregledovanja. Odhodki. Plesk ponuja jasen vmesnik, v katerem lahko vklopim ali izklopim zapornice in prilagodim parametre. Za produktivne strežnike je ta zaščita eden najhitrejših ukrepov z opaznim učinkom.

Namestitev v Plesk: Predpogoji in začetek

Uporabljam trenutni Plesk strežnik na Linuxidealno Obsidian in najprej preverite, ali je komponenta Fail2Ban že prisotna. Če je ni, odprem Orodja in nastavitve v Plesku, grem na Posodobitve in nadgradnje ter izberem Dodaj/odstrani komponente. Tam aktiviram vnos Fail2Ban in zaženem Namestitev. Po zaključku se prikaže razdelek Block IP addresses (Fail2Ban), v katerem vklopim in spremljam funkcijo. Za popolno nastavitev združim Fail2Ban z dobro konfiguriranim požarnim zidom; podrobnosti so na voljo na Konfiguracija požarnega zidu Plesk.

Osnovna konfiguracija: izberite razumne privzete vrednosti

Po vklopu preverim globalne parametre, ki določajo učinek in lažne alarme. Z uravnoteženim Čas prepovedi Napadalcem preprečujem dostop, ne da bi trajno izključil legitimne uporabnike. Okno zaznavanja določa, kako dolgo Fail2Ban zbira neuspešne poskuse, največje število neuspešnih poskusov pa določa prag za blokiranje. Vnesem tudi e-poštni naslov za obvestila, da lahko takoj vidim kritične dogodke. Naslednja preglednica prikazuje običajne začetne vrednosti, ki so se izkazale v številnih nastavitvah in jih lahko kadar koli izboljšate.

Parametri Priporočilo Učinek
Čas prepovedi 600-1800 sekund Opazno blokira napadalce, ne da bi trajno blokiral uporabnike.
Okno za prepoznavanje 300-600 sekund Testiranje agregatov v razumnem času
Največ. Neuspešni poskusi 3-5 Zmanjšuje število lažnih pozitivnih rezultatov, vendar ostaja strog.
Obvestilo Aktivacija e-pošte Opozorila o zaporah in pomembnih dogodkih

Poleg tega na samem začetku opredelim Seznam prezrtih (beli seznam) na globalni ravni. V razdelku Orodja in nastavitve > Blokiraj naslove IP vnesem statične pisarniške naslove IP, končne točke VPN ali omrežja za upravljanje. Za IPv6 previdno uporabljam dosledne predpone (npr. /64) in seznam ohranjam vitek, da zaščita ni oslabljena. Za ponavljajoče se povzročitelje težav lahko Čas povečane prepovedi dokazano: S parametri, kot so bantime.increment = true, bantime.factor in . bantime.maxtime Zaklepanja samodejno podaljšam, če se ponavljajo, in tako zagotovim trajen učinek.

Zapori: ciljno usmerjena zaščita storitev

V zavihku Jame aktiviram pravila zaščite za najpomembnejše Storitve: sshd, dovecot, proftpd, plesk-apache, plesk-panel in plesk-wordpress. Vsak zapor spremlja ustrezne dnevniške datoteke, prepozna vzorce in blokira očitne IP-je. Za strežnike z instancami WordPress vklopim plesk-wordpress, da blokiram napade s prijavo na wp-login in xmlrpc. Če se ne izvaja protokol FTP, deaktiviram pripadajoči zapor, tako da strežnik ne izvaja nepotrebnih preverjanj. Nato preverim, ali bloki delujejo zanesljivo, in prilagodim vrednosti praga, če je preveč lažno pozitivnih rezultatov.

Za orientacijo: sshd običajno bere iz /var/log/auth.log (Debian/Ubuntu) ali /var/log/secure (RHEL/Alma/Rocky) se prijave v pošto končajo v /var/log/maillog oz. /var/log/mail.logpanel se prijavi /var/log/plesk/panel.log. Za spletne napade Pleskova zapora dostopa do dnevnikov navideznih gostiteljev pod /var/www/vhosts/system//logs/ za. Če uporabljate samo NGINX ali nastavitev Apache+NGINX, bodo Pleskovi filtri še naprej delovali, saj so ustrezne poti že shranjene.

Čisto ustvarjanje lastnih zaporov in filtrov

Ali potrebujem dodatne Zaščita za aplikacijo ustvarim nov zapor in se sklicujem na povezane dnevnike. Določim jasno časovno okno, nastavim mejo napake in določim želeni čas prepovedi. Za posebne aplikacije napišem filtre z regularnimi izrazi, ki prepoznajo določena sporočila o napakah. Ko pravilo aktiviram, ga preizkusim s simulacijo neuspešnega poskusa in nato preverim dnevnike. Če opazim vzorec, ki ga lahko napadalci obidejo, izboljšam filter in spremembo zabeležim za svoje Dokumentacija.

Da bi zagotovil, da prilagoditve ostanejo varne pred posodobitvami, ustvarim Lastne konfiguracije na spletni strani . /etc/fail2ban/jail.d/ kot ločene datoteke (npr. custom-wordpress.local) namesto spreminjanja standardnih datotek. Na ta način posodobitev Pleska ali paketa ne prepiše mojih pravil. Pravila za filtriranje preizkušam z fail2ban-regex proti vzorčnim dnevnikom, preden preklopim zapornico na produktivno. Po spremembah se systemctl reload fail2banda bi jih aktivirali brez trdega ponovnega zagona.

bela lista, odblokiranje in razumevanje blokiranih IP-jev

Če sebe ali člana ekipe blokiram, odprem seznam blokiranih naslovov IP in naslov znova odblokirate. Za trajno zaupanja vredne vire uporabljam beli seznam in tako preprečim prihodnje Blokade. V pregledu lahko vidim, katera zapora je blokirala IP in za katero pravilo je bil zaznan. Te informacije mi pomagajo pri prepoznavanju napačno konfiguriranih aplikacij ali botov. Beli seznam je vitek, vnose pa ohranjam le, če za to obstaja utemeljen razlog. Razlog tam.

Ali delate za Proxy/CDNPosebno pozornost posvečam belemu seznamu: Če so prijave in spletni dostopi z vidika strežnika za IP-ji povratnega posrednika, bo neprevidno konfigurirana zapora v najslabšem primeru blokirala posrednika in ne dejanskega napadalca. V tem primeru poskrbim, da spletni strežnik v dnevnike pravilno zapiše "pravi" IP odjemalca (mehanizem X-Forwarded-For/Actual Real-IP), in ohranim omrežja posrednikov kot zaupanja vredna. To zagotavlja, da bloki ostanejo natančni.

Izogibajte se napakam: smiselno uglaševanje iz prakse

Začnem z zmerno Pragovi in vrednosti zaostriti šele, ko poznam tipične profile obremenitve in uporabe. Pri gostiteljih v skupni rabi z veliko uporabniki se tveganje lažnih blokad poveča, zato nastavim višjo vrednost MaxRetry in natančneje spremljam dnevnike. Če boti dosegajo vaše obrazce, si velja ogledati dnevnike spletnega strežnika in dodatna pravila v zaporu plesk-apache. Za prijave upraviteljev sem nastavil 2FA in tako razbremenil Fail2Ban, saj na ploščo prispe manj poskusov prijave. Redni pogled na seznam blokad mi pokaže, ali je posameznik Vir: je še posebej opazen in zahteva več ukrepov.

Kombinacija požarnega zidu in utrditev WordPressa

Fail2Ban blokira napadalce po neuspelih poskusih, požarni zid pa vnaprej zmanjša območje napada. Oba skupaj zagotavljata občutno več Varnostzlasti z izpostavljenimi vrati SSH ali poštnimi vrati. Za WordPress omejim xmlrpc, nastavim omejitev hitrosti prijave na ravni aplikacije in pustim, da plesk-wordpress opravi preostalo delo. To vam namesto ene same ovire zagotavlja obrambo v globino. Podrobnejšo primerjavo najdete v tem članku: Fail2Ban in požarni zid v primerjaviki vam bo pomagal uskladiti ukrepe.

Praktično preverjanje za Plesk administratorje

Po nastavitvi preverim, ali se zaklepi pojavijo v pričakovanem časovnem oknu in ali prispejo e-poštna obvestila. Nato preizkusim SSH z namerno napačnimi gesli in preverim dnevnike, da preverim učinkovitost Zapori za potrditev. Za ploščo Plesk simuliram več neuspešnih prijav in opazujem, ali je IP takoj blokiran. Če se pojavi preveč legitimnih blokad, postopoma povečam MaxRetry in zmerno podaljšam okno zaznavanja. S tem doslednim pristopom zmanjšam število lažnih alarmov na najmanjšo možno mero in zagotovim mirno Operacija.

Integracija gostovanja: na kaj sem pozoren

Močna namestitev gostovanja zagotavlja Fail2Ban, požarni zid, varnostne kopije in spremljanje na usklajen način. Pozoren sem na neposredno integracijo Plesk, kratke odzivne čase v podpori in jasen Dokumentacija. ponudniki z izoliranimi vsebniki storitev in doslednimi posodobitvami jedra mi zagotavljajo dodatno varnost. Pri produktivnih projektih se zanašam tudi na varnostne kopije zunaj lokacije, da lahko v nujnih primerih hitro vzpostavim delovanje. S tem ustvarim raven varnosti, ki precej otežuje napade in jo je mogoče uresničiti z razumno stopnjo varnosti. Odhodki se lahko ohrani.

Spremljanje in odpravljanje težav: kako ostati na tekočem

Redno analiziram pregled Fail2Ban, preverjam blokirane Naslovi in prepoznajte ponavljajoče se vire. Če najdem vzorce, prilagodim pravila filtriranja in dokumentiram spremembe, da jih lahko kasneje spremljam. Če se v dnevnikih pokažejo veliki viški obremenitve, v spletnem strežniku nastavim dodatne omejitve in poostrim požarni zid. Hkrati skrbim za svežino Pleska, sistemskih paketov in vtičnikov, da čim bolj zmanjšam površine za napade; preizkušene nasvete najdete v tem vodniku za Zapolnite varnostne vrzeli v Plesku. Tako bo vaša zaščita posodobljena in Fail2Ban bo potreboval manj Delo za izvedbo.

Protokolne zaledne strani in poti v Plesku

Za zanesljivo odkrivanje je ključnega pomena, da ima Fail2Ban pravilno Viri protokola bere. V Linuxu uporabljam datotečne dnevnike ali zaledni sistem systemd, odvisno od distribucije. Sodobne nastavitve imajo koristi od backend = systemdsaj Fail2Ban bere dnevnik neposredno in ustvarja manj vhodno-izhodnih podatkov v dnevniških datotekah. Plesk ima za to že razumne privzete nastavitve. Kljub temu naključno preverim, ali se poti do dnevnikov v žakljih ujemajo z resničnostjo: SSH v /var/log/auth.log (Debian/Ubuntu) ali /var/log/secure (RHEL/Alma/Rocky), Mail in /var/log/maillog ali /var/log/mail.logPlošča Plesk v /var/log/plesk/panel.logWeb v imenikih gostiteljev. Če poti ali imena dnevnikov niso pravilna, popravim vnose v ločenem .local-datoteka. Na ta način se izognemo slepim točkam, kjer napadi ostanejo neodkriti.

IPv6, prepovedi in požarni zid

Številne namestitve ne filtrirajo več samo IPv4. Prepričam se, da je Banactions so primerni za IPv6 (npr. večportne različice za iptables/firewalld). Če sistem uporablja Firewalld, sem pozoren na dejanja, kot so firewallcmd-multiportza klasične nastavitve iptables na iptables-multiport ali ukrepe na podlagi ipset za boljšo zmogljivost. Pomembno je, da se akcija, uporabljena v Fail2Ban, ujema z aktivnim Pleskovim požarnim zidom - sicer se bloki znajdejo v napačni verigi ali pa sploh ne začnejo učinkovati. Po spremembah posebej testiram: simulirani neuspešni poskusi iz testnega IP-ja, poizvedba o stanju zapora, nato test povezave. Če bloki IPv6 delujejo zanesljivo, sem odpravil pomembno vrzel, ki je v mešanih omrežjih pogosto spregledana.

Vse pogostejše zapore in dolgotrajne blokade (povratništvo).

Pri ponavljajočih se napadalcih povečam pritisk: pri časi postopne prepovedi (bantime.increment) se ključavnice samodejno podaljšajo - približno podvojijo z bantime.factor = 2 - do razumnega maksimuma (bantime.maxtime). Uporabljam tudi recidivni zapor ki zazna IP-je, ki se v daljšem časovnem obdobju večkrat pojavijo v različnih zaporih. Konfiguracija z findtime od nekaj ur do nekaj dni, večdnevna prepoved pa se je izkazala za učinkovito. Ta stopnja ima trajen učinek proti botom, ki se redno vračajo, ne da bi trajno izključila legitimne uporabnike. Še vedno je pomembno, da uporabljate zaupanja vredna omrežja prek Ignoreip in spremljati učinke prek črnega seznama.

Delovni postopek CLI: preverjanje, ponovno nalaganje, odklepanje

Čeprav Plesk ponuja priročen vmesnik, rešujem veliko hitro prek konzole. S spletno stranjo fail2ban-client status Vidim aktivne zapore, fail2ban-client status seznam blokiranih IP-jev in števcev. Nova pravila nalagam z systemctl reload fail2banPo potrebi znova zaženem storitev. Izbrišem posamezne naslove IP (fail2ban-client set unbanip), ne da bi to vplivalo na celoten sistem. Za odpravljanje težav journalctl -u fail2banin si preberite najnovejše dogodke, vključno z informacijami o okvarjenih filtrih. To mi omogoča, da ohranjam vitko poslovanje, na kratko dokumentiram posege in ugotovitve vključim nazaj v pravila.

Delovanje za proxy/CDN, ModSecurity in WordPress podrobnosti

Številna spletna mesta danes visijo za Obrnjeni posredniki ali CDN. Da bi zagotovil, da Fail2Ban oceni pravega odjemalca, poskrbim, da spletni strežnik v dnevniku zabeleži pravilen IP in da so posredniška omrežja na beli listi. V nasprotnem primeru tvegam nenamerno blokiranje celotnih robnih omrežij. V programu Plesk uporabljam tudi ModSecurity (WAF): ModSecurity blokira znane vzorce napadov na ravni HTTP, Fail2Ban pa sankcionira neuspešne poskuse prijave ali ponavljajoče se vzorce 4xx/5xx. Za WordPress uporabljam dvotirni pristop: omejim ali zavarujem xmlrpc, nastavim omejitve hitrosti prijav na ravni aplikacije in uporabim plesk-wordpress-zapor je aktiven. Na ta način odpravim šum v dnevniku in omogočim, da Fail2Ban obravnava težje primere.

Vzdrževanje, varnostne kopije in strategija posodabljanja

Da bi zagotovil dolgoročno obstojnost prilagoditev, hranim vse lastna pravila v ločenih datotekah pod /etc/fail2ban/jail.d/ in dokumentirajte spremembe v različicah. Pred večjimi posodobitvami Plesk ali sistema ustvarim posnetek/zaščitno kopijo, nato pa naključno preverim, ali so zapornice še vedno aktivne in ali so poti pravilne. Upoštevam tudi rotacije dnevnikov: po izvedeni rotaciji (nova datoteka dnevnika) mora zaledni sistem še naprej zanesljivo brati - s sistemom systemd-Journal je ta skrb v veliki meri odpravljena. Vzpostavim kratke SOP za ekipe: kako se odjavijo IP-ji, prilagodijo pragovi in preverijo obvestila. To zagotavlja, da ravnanje ostane dosledno, tudi če se odgovornosti spremenijo.

Pravna presoja: protokoli in shranjevanje

Varnost je treba tudi Dimenzija. Shranjujem samo podatke, ki so potrebni za obrambo in diagnozo, določim jasna obdobja hrambe in redno brišem stare podatke. Sam Fail2Ban ne shranjuje nobenih dolgoročnih podatkov; osnova so vaši sistemski in spletni dnevniki. Znižana raven dnevnika pri rednem delovanju (npr. INFO) ohranja obvladljivo količino podatkov, za analize pa jo začasno zvišam na DEBUG in nato spet preklopim nazaj. Na ta način združujem učinkovito zaščito z vitko in sledljivo podatkovno sledjo.

Na kratko: varno izvajanje z nekaj kliki

Prek Pleska aktiviram Fail2Ban, nastavim uravnotežene parametre, vklopim ustrezno Zapori in vzdržujte vitek beli seznam. Z dodatnim požarnim zidom, 2FA in čistimi posodobitvami dosežem visoko raven zaščite brez balasta. Prilagojeni filtri mi omogočajo nadzor nad posebnimi primeri, obvestila in dnevniki pa mi poenostavljajo vsakodnevno delo. Če si boste te korake vzeli k srcu, boste opazno zmanjšali poskuse grobe sile in učinkovito zaščitili prijave upravitelja, pošto in SSH. Kako poskrbeti za varnost strežnika Plesk z Fail2Ban trajno odporen in enostaven za uporabo.

Aktualni članki