Sitwazzjoni attwali: PHP2Shell. Żewġ vulnerabbiltajiet kritiċi ta' PHP (CVSS 9,2) jippermettu kodiċi malizzjuż mingħajr login. Patches mill-21/10/2026.X'għandu jsir issa →

Stabbilixxi Fail2ban għal servers tal-web

Fail2ban jibblokka indirizzi li jidhru ripetutament fil-logs. Għal servers tal-web jiġi b'filtri lesti, u b'ftit linji tiżdied tiegħek stess. Hekk tistabbilih mingħajr ma teskludi lilek innifsek jew lill-klijenti.

Stat 6 min. qariTisħiħ u konfigurazzjoni

Fil-qosor: Fail2ban jaqra fajls tal-log u jibblokka fil-firewall indirizzi li jidhru wisq drabi f'firxa ta' ħin. Għal Nginx u Apache jiġi b'jails lesti bħal nginx-botsearch jew apache-noscript; filtri proprji tittestjahom b'fail2ban-regex. L-issettjar jappartjeni f'jail.local, l-indirizzi tiegħek stess f'ignoreip, rikorrenti jaqbadhom il-jail recidive. Kontra attakki individwali immirati Fail2ban ma jgħinx, kontra skans massivi iva.

Meta l-logs ikunu mimlija skanners

Min f'dawn il-jiem iħares lejn il-protokolli tal-aċċess tas-servers tal-web tiegħu jsibhom ħafna drabi mimlija talbiet għal mogħdijiet li ma jeżistux: interfaces qodma tal-amministrazzjoni, fajls ta' test, vulnerabbiltajiet magħrufa ta' prodotti oħra. F'sitwazzjoni bħal PHP2Shell jiżdied tiftix immirat għal servers vulnerabbli: Cloudflare u Patchstack irrapportaw tentattivi ta' attakk, Unit 42 għodd aktar minn 22,6 miljun istanza esposta u potenzjalment vulnerabbli.

Fail2ban huwa għodda ppruvata kontra din il-massa. Jaqra fajls tal-log, jagħraf b'filtri daħliet suspettużi u jibblokka l-indirizz tal-mittent għal żmien stabbilit fil-firewall. Dan itaffi s-server, inaqqas il-ħoss fil-logs u jagħmel tfittxija sistematika minn sors wieħed aktar tqila.

X'ma jistax jagħmel Fail2ban huwa importanti bl-istess mod: talba waħda li tisfrutta vulnerabbiltà ma tiġix evitata. Kontra PHP2Shell jgħin biss l-aġġornament ta' PHP. Kif jimxu attakki awtomatizzati tiddeskrivih Skans massivi wara PHP mhux ippatchjat.

Fail2ban għal Nginx u Apache: il-jails mogħtija

Jail jgħaqqad filtru ma' fajl tal-log u azzjoni ta' blokk. Il-jail.conf mogħtija diġà fiha jails għal servers tal-web. Huma mitfija b'mod standard u jiġu attivati individwalment.

Jail Server tal-web Jagħraf
nginx-http-auth Nginx logins HTTP Basic li fallew
nginx-limit-req Nginx talbiet li jaqbżu r-rate-limit ta' Nginx
nginx-botsearch Nginx tiftix għal mogħdijiet tipiċi li ma jeżistux
nginx-bad-request Nginx talbiet difettużi
apache-auth Apache logins li fallew
apache-badbots Apache identifikaturi magħrufa ta' bots malizzjużi
apache-noscript Apache sejħiet ta' skripts li ma jeżistux
apache-overflows Apache talbiet twal żżejjed
apache-botsearch Apache tiftix għal mogħdijiet tipiċi li ma jeżistux
php-url-fopen it-tnejn ċerti mudelli ta' tentattivi ta' inklużjoni ta' URL
recidive it-tnejn indirizzi li Fail2ban diġà ibblokka ripetutament

Il-valuri standard tal-konfigurazzjoni mogħtija huma pjuttost ħfief: blokk għal 10 minuti wara 5 hits f'10 minuti. Għal servers tal-web b'ħafna traffiku ta' skans jixraq blokk itwal u fattur li jikber għal ripetizzjonijiet.

Il-konfigurazzjoni bażika fil-jail.local

Il-jail.conf tgħid hi stess li m'għandhiex tinbidel, għax l-aġġornamenti jissostitwuha. Valuri proprji jappartjenu f'/etc/fail2ban/jail.local. L-eżempju li ġej għal Nginx jissettja standards sensibbli u jattiva jails xierqa:

# /etc/fail2ban/jail.local
[DEFAULT]
# Daħħal l-indirizzi fissi tiegħek stess (issostitwixxi l-indirizz ta' eżempju)
ignoreip = 127.0.0.1/8 ::1 203.0.113.10
bantime  = 1h
findtime = 10m
maxretry = 5
bantime.increment = true

[nginx-http-auth]
enabled = true

[nginx-botsearch]
enabled = true

[recidive]
enabled  = true
bantime  = 1w
findtime = 1d

Għal Apache tattiva minflok pereżempju apache-auth, apache-noscript u apache-botsearch. Il-mogħdijiet tal-logs Fail2ban iġibhom skont id-distribuzzjoni; jekk il-mogħdijiet tiegħek ivarjaw, issettja logpath fil-jail rispettiv. Jekk is-sistema tiegħek taqra logs biss permezz tal-journal, backend = systemd jgħin.

Filtru proprju għal talbiet massivi għal fajls PHP

Mudell tipiku fis-sitwazzjoni attwali huwa ħafna talbiet fi żmien qasir għal fajls PHP li ma jeżistux. Filtru proprju jagħrafhom mill-kodiċi tal-istatus 404. Jiddeskrivi biss dak li jinsab fil-log tiegħek stess:

# /etc/fail2ban/filter.d/nginx-php-404.conf
[Definition]
failregex = ^<HOST> -.*"(GET|POST|HEAD) [^"]*\.php[^"]*" 404
ignoreregex =
# Żieda f'/etc/fail2ban/jail.local
[nginx-php-404]
enabled  = true
port     = http,https
filter   = nginx-php-404
logpath  = /var/log/nginx/access.log
maxretry = 20
findtime = 1m
bantime  = 1h

Qabel ma tattiva l-filtru, ivverifikah kontra l-log veru. Hekk tara kemm-il linja jaqbad u jekk hemmx aċċessi leġittimi fosthom:

fail2ban-regex /var/log/nginx/access.log /etc/fail2ban/filter.d/nginx-php-404.conf
sudo systemctl restart fail2ban
sudo fail2ban-client status
sudo fail2ban-client status nginx-php-404
# Illibera indirizz li ġie mblukkat bi żball
sudo fail2ban-client set nginx-php-404 unbanip 203.0.113.25

Agħżel il-limitu b'mod ġenerus. Crawler li jaħdem fuq links skaduti, jew servizz ta' monitoraġġ, m'għandux jispiċċa fil-blokk.

L-iżbalji l-aktar komuni

Fail2ban jiġi installat malajr, imma jintuża ħażin faċilment. Dawn il-punti għandek tivverifikahom qabel l-użu produttiv:

  1. Esklużjoni ta' lilek innifsek: indirizzi tal-uffiċċju, tal-VPN u tal-monitoraġġ jappartjenu f'ignoreip qabel ma jiġu attivati l-jails.
  2. Servizzi quddiem: wara CDN jew load balancer, Fail2ban mingħajr adattament jara biss l-indirizzi tagħhom. Aktar dwar dan fil-gwida Ipproteġi l-logins tal-amministraturi kontra brute force.
  3. Rotazzjoni tal-logs: wara l-bidla tal-fajl tal-log, Fail2ban irid jaqra l-fajl il-ġdid. Ivverifika wara l-ewwel rotazzjoni jekk il-jails jibqgħux jgħoddu hits.
  4. Interazzjoni mal-firewall: Fail2ban jikteb blokki fil-firewall. Min jamministra l-firewall tiegħu b'reload sħiħ tar-regolament jista' jħassar dawn id-daħliet. Kif tibni l-firewall innifsha jinsab taħt Firewall għal servers tal-web: iftaħ biss il-ports meħtieġa.
  5. IPv6: l-attakki jaslu wkoll permezz ta' IPv6. Ivverifika jekk l-azzjoni tal-blokk tkoprix iż-żewġ protokolli.
Suġġeriment

Evalwa l-listi tal-blokki regolarment. Jekk jinġabru blokki minn ċerti netwerks jew fuq ċerti mogħdijiet, dan huwa ħjiel ta' tiftix immirat u raġuni biex tħares aktar mill-qrib lejn l-applikazzjoni affettwata.

Konklużjoni: għodda kontra l-massa, mhux kontra kollox

Fail2ban jiġi stabbilit malajr u jneħħi minn fuq servers tal-web parti mill-bombardament kostanti. Il-jails mogħtija jkopru mudelli tipiċi, filtri proprji jistgħu jiġu ttestjati bla periklu kontra logs veri b'fail2ban-regex, u l-jail recidive jieħu ħsieb li sorsi aggressivi jibqgħu barra itwal.

Tistmahx żżejjed. Fail2ban jirreaġixxi għal ripetizzjoni, mhux għall-ewwel hit, u jara biss dak li jinsab fil-logs. Kontra vulnerabbiltà bħal PHP2Shell jgħin biss l-aġġornament, kontra attakki mqassma minn ħafna indirizzi Fail2ban jgħin ftit. Il-valur tiegħu jiżvolġi bħala saff wieħed fost bosta: maġenb firewall rqiqa, konfigurazzjoni issaħħa tas-server tal-web, awtentikazzjoni b'żewġ fattur u monitoraġġ li mhux biss jibblokka l-anomaliji imma jirrapportahom ukoll.

Kif tgħin PHP SOS b'mod konkret?

  • Nevalwaw il-logs: inħarsu liema mudelli jidhru fil-protokolli tal-aċċess tiegħek u nagħżlu jails xierqa.
  • Nistabbilixxu u nittestjaw: nistabbilixxu Fail2ban b'filtri proprji, nittestjaw kull filtru kontra logs veri u ndaħħlu l-indirizzi fissi tiegħek bħala eċċezzjoni.
  • Niċċaraw l-interazzjoni: CDN, load balancer, firewall u rotazzjoni tal-logs nikkoordinawhom b'mod li l-blokki jolqtu l-indirizzi t-tajba.
  • Nosservaw: bħala parti mill-Monitoraġġ tas-sigurtà nevalwaw kontinwament blokki u anomaliji.

Mistoqsijiet frekwenti

Fail2ban jipproteġi minn PHP2Shell?

Le. Fail2ban jirreaġixxi biss wara li indirizz ikun deher diversi drabi fil-logs. Attakk wieħed b'suċċess ma jiġix evitat b'hekk. Madankollu Fail2ban inaqqas it-tagħbija mill-iskanners u jagħmel tentattivi ripetuti mill-istess sors aktar għaljin.

Għaliex m'għandix nibdel jail.conf direttament?

Il-fajl jiġi sostitwit mal-aġġornamenti tal-pakketti, u jgħid dan innifsu. Issettjar proprju jappartjeni f'jail.local jew f'fajls taħt jail.d. Hemmhekk jegħlbu l-valuri standard b'mod immirat.

X'inhu l-jail recidive?

Jail li jevalwa l-protokoll ta' Fail2ban innifsu. Min jiġi mblukkat ripetutament jirċievi blokk ferm itwal. Fil-konfigurazzjoni mogħtija dan huwa ġimgħa.

Fail2ban jaħdem wara Cloudflare jew load balancer?

Biss b'konfigurazzjoni addizzjonali. Mingħajrha fil-logs jidher l-indirizz tas-servizz quddiem, u blokk jolqot il-viżitaturi kollha. Is-server tal-web imbagħad irid jieħu l-indirizz veru tal-viżitatur, u l-blokki aħjar jiġu ssettjati fis-servizz quddiem.

Sorsi

Kuntatt immedjat

Kull siegħa tgħodd. Iktbu lilna issa.

Iddeskrivu fil-qosor is-sistema, il-verżjoni ta' PHP u dak li osservajtu. Nikkuntattjawkom, niċċaraw is-sitwazzjoni u naħdmu mill-bogħod sakemm l-inċident jingħalaq u jiġi ddokumentat.

Għajnuna immedjata