# Stabbilixxi Fail2ban għal servers tal-web

> Fail2ban għal Nginx u Apache: attiva jails xierqa, ittestja filtri proprji b'fail2ban-regex, ibblokka rikorrenti u evita li teskludi lilek innifsek.

Sors: https://phpsos.de/mt/blog/fail2ban-fuer-webserver/  
Stat: 25/10/2026  
Fornitur: PHP SOS, Għajnuna ta' emerġenza għal PHP u sigurtà tas-server. Għajnuna immedjata fuq WhatsApp: https://wa.me/491736494914?text=Bongu%20PHP%20SOS%2C%20g%C4%A7andna%20b%C5%BConn%20g%C4%A7ajnuna%20bis-server%20tal-PHP%20tag%C4%A7na.%20Kumpanija%3A%20%E2%80%A6%20Websajt%3A%20%E2%80%A6

**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](https://phpsos.de/mt/blog/automatisierte-massenscans/).

## 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:

```ini
# /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:

```ini
# /etc/fail2ban/filter.d/nginx-php-404.conf
[Definition]
failregex = ^<HOST> -.*"(GET|POST|HEAD) [^"]*\.php[^"]*" 404
ignoreregex =
```

```ini
# Ż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:

```bash
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](https://phpsos.de/mt/ratgeber/brute-force-login-schutz/).
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](https://phpsos.de/mt/blog/firewall-fuer-webserver/).
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à](https://phpsos.de/mt/leistungen/security-monitoring/) 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

- [Fail2ban: jail.conf mogħti](https://github.com/fail2ban/fail2ban/blob/master/config/jail.conf)
- [BSI IT-Grundschutz (Ġermanja)](https://www.bsi.bund.de/DE/Themen/Unternehmen-und-Organisationen/Standards-und-Zertifizierung/IT-Grundschutz/it-grundschutz_node.html)
- [OWASP Cheat Sheets](https://cheatsheetseries.owasp.org/)
