# Fail2ban a shocrú do fhreastalaithe gréasáin

> Fail2ban d'Nginx agus Apache: jails a ghníomhachtú, scagairí féin a thástáil le fail2ban-regex, athchiontóirí a bhlocáil, glasáil amach a sheachaint.

Foinse: https://phpsos.de/ga/blog/fail2ban-fuer-webserver/  
Staid: 25/10/2026  
Soláthraí: PHP SOS, Cabhair éigeandála PHP agus slándáil freastalaí. Cabhair láithreach trí WhatsApp: https://wa.me/491736494914?text=Dia%20duit%2C%20a%20PHP%20SOS%2C%20t%C3%A1%20cabhair%20de%20dh%C3%ADth%20orainn%20len%C3%A1r%20bhfreastala%C3%AD%20PHP.%20Cuideachta%3A%20%E2%80%A6%20Su%C3%ADomh%20gr%C3%A9as%C3%A1in%3A%20%E2%80%A6

**Go achomair:** Léann Fail2ban comhaid logála agus blocálann sé seoltaí sa bhalla dóiteáin a bhíonn le feiceáil ró-mhinic laistigh d'fhuinneog ama. D'Nginx agus Apache tagann jails réidh leis ar nós `nginx-botsearch` nó `apache-noscript`; déanann tú scagairí féin a thástáil le `fail2ban-regex`. Baineann socruithe le `jail.local`, do sheoltaí féin le `ignoreip`, gabhann an jail `recidive` athchiontóirí. In aghaidh ionsaithe spriocdhírithe aonair ní chabhraíonn Fail2ban, in aghaidh mórscanta cabhraíonn.

## Nuair a bhíonn na logaí lán de scanóirí

An té a bhreathnaíonn ar phrótacail rochtana a fhreastalaithe gréasáin sna laethanta seo, is minic a fhaigheann sé iad lán d'iarratais ar chosáin nach bhfuil ann ar chor ar bith: seanchomhéadain riaracháin, comhaid tástála, laigí aitheanta táirgí eile. I gcás cosúil le PHP2Shell cuirtear cuardach spriocdhírithe ar fhreastalaithe leochaileacha leis: thuairiscigh Cloudflare agus Patchstack iarrachtaí ionsaithe, chomhaireamh Unit 42 níos mó ná 22,6 milliún cás nochta, a bhféadfadh a bheith leochaileach.

Is uirlis chruthaithe é Fail2ban in aghaidh an tomhaltais seo. Léann sé comhaid logála, aithníonn sé iontrálacha amhrasacha le scagairí agus blocálann sé seoladh an tseoltóra don am socraithe sa bhalla dóiteáin. Maolaíonn sé sin ualach an fhreastalaí, laghdaíonn sé torann an loga agus déanann sé triail chórasach ó fhoinse amháin níos deacra.

An rud nach féidir le Fail2ban, tá sé chomh tábhachtach: ní chuirtear cosc ar iarratas aonair a bhainfeadh leas as leochaileacht. In aghaidh PHP2Shell ní chabhraíonn ach an nuashonrú PHP. Conas a oibríonn ionsaithe uathoibrithe, déanann [Mórscanadh tar éis PHP gan phaiste](https://phpsos.de/ga/blog/automatisierte-massenscans/) cur síos air.

## Fail2ban d'Nginx agus Apache: na jails seachadta

Ceanglaíonn jail scagaire le comhad logála agus le gníomh bloca. Tá jails do fhreastalaithe gréasáin sa `jail.conf` seachadta cheana féin. Tá siad múchta de réir réamhshocraithe agus gníomhachtaítear iad ina n-aonar.

| Jail | Freastalaí gréasáin | Aithníonn |
|---|---|---|
| `nginx-http-auth` | Nginx | logálacha isteach HTTP Basic a theip orthu |
| `nginx-limit-req` | Nginx | iarratais a sháraíonn teorainn rátaí Nginx |
| `nginx-botsearch` | Nginx | cuardach ar chosáin thipiciúla nach bhfuil ann |
| `nginx-bad-request` | Nginx | iarratais lochtacha |
| `apache-auth` | Apache | logálacha isteach a theip orthu |
| `apache-badbots` | Apache | aitheantóirí bot díobhálacha aitheanta |
| `apache-noscript` | Apache | glaonna ar scripteanna nach bhfuil ann |
| `apache-overflows` | Apache | iarratais rófhada |
| `apache-botsearch` | Apache | cuardach ar chosáin thipiciúla nach bhfuil ann |
| `php-url-fopen` | an bheirt | patrúin áirithe d'iarrachtaí ionchuimsithe URL |
| `recidive` | an bheirt | seoltaí a bhlocáil Fail2ban arís agus arís eile |

Tá réamhshocruithe na cumraíochta seachadta measartha séimh: bac ar feadh 10 nóiméad tar éis 5 amais laistigh de 10 nóiméad. I gcás freastalaithe gréasáin le go leor tráchta scanta is fiú bac níos faide agus fachtóir méadaitheach d'athrá.

## An bhunchumraíocht sa jail.local

Deir an `jail.conf` féin nár cheart í a athrú, mar go gcuireann nuashonruithe ina hionad í. Baineann luachanna féin le `/etc/fail2ban/jail.local`. Socraíonn an sampla seo a leanas d'Nginx réamhshocruithe ciallmhara agus gníomhachtaíonn sé jails oiriúnacha:

```ini
# /etc/fail2ban/jail.local
[DEFAULT]
# Iontráil do sheoltaí seasta féin (cuir ionad ar an seoladh samplach)
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
```

D'Apache gníomhachtaíonn tú `apache-auth`, `apache-noscript` agus `apache-botsearch` ina ionad. Tugann Fail2ban na cosáin logála leis de réir dáilte; má tá do chosáin difriúil, socraigh `logpath` sa jail ábhartha. Má léann do chóras logaí tríd an dialann amháin, cabhraíonn `backend = systemd`.

## Scagaire dá chuid féin d'iarratais mhóra ar chomhaid PHP

Patrún tipiciúil sa chás reatha is ea go leor iarratas i gcéin ghearr ama ar chomhaid PHP nach bhfuil ann. Aithníonn scagaire dá chuid féin sin ón gcód stádais 404. Ní chuireann sé síos ach ar an méid atá i do log féin:

```ini
# /etc/fail2ban/filter.d/nginx-php-404.conf
[Definition]
failregex = ^<HOST> -.*"(GET|POST|HEAD) [^"]*\.php[^"]*" 404
ignoreregex =
```

```ini
# Forlíonadh i /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
```

Sula ngníomhachtaíonn tú an scagaire, seiceáil é i gcoinne an fhíorloga. Ar an gcaoi sin feiceann tú cé mhéad líne a bhuaileann sé agus an bhfuil rochtana dlisteanacha ina measc:

```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
# Seoladh a bhlocáladh de thaisme a scaoileadh
sudo fail2ban-client set nginx-php-404 unbanip 203.0.113.25
```

Roghnaigh an tairseach go flaithiúil. Níor cheart crawlálaí a oibríonn trí sheannaisc, nó seirbhís mhonatóireachta, a bheith sa bhac.

## Na gaistí is coitianta

Suiteáiltear Fail2ban go tapa, ach úsáidtear go héasca go mícheart é. Ba cheart duit na pointí seo a sheiceáil sula n-úsáideann tú sa táirgeadh é:

1. **Tú féin a ghlasáil amach:** Baineann seoltaí oifige, VPN agus monatóireachta le `ignoreip` sula mbíonn jails gníomhach.
2. **Seirbhísí roimh-nasctha:** Taobh thiar de CDN nó cothromóir ualaigh ní fheiceann Fail2ban gan oiriúnú ach a seoltaí. Tuilleadh sa treoir [Logálacha isteach riaracháin a chosaint in aghaidh Brute Force](https://phpsos.de/ga/ratgeber/brute-force-login-schutz/).
3. **Rothlú loga:** Tar éis an comhad logála a athrú, ní mór do Fail2ban an comhad nua a léamh. Seiceáil tar éis an chéad rothlaithe an leanann na jails ag comhaireamh amais.
4. **Idirghníomhú balla dóiteáin:** Iontrálann Fail2ban bacanna sa bhalla dóiteáin. An té a bhainistíonn a bhalla dóiteáin le hathluchtú iomlán na rialacha, is féidir leis na hiontrálacha seo a scriosadh leis sin. Conas a thógann tú an balla dóiteáin féin, tá sé ag [Balla dóiteáin do fhreastalaithe gréasáin: ná hosclaíodh ach poirt is gá](https://phpsos.de/ga/blog/firewall-fuer-webserver/).
5. **IPv6:** Tagann ionsaithe tríd IPv6 freisin. Seiceáil an gclúdaíonn do ghníomh bloca an dá phrótacal.

> **Leid:**
> Déan na liostaí bacanna a mheas go rialta. Má bhíonn bacanna ó líonraí áirithe nó ar chosáin áirithe ag carnadh, is leid é sin ar chuardach spriocdhírithe agus cúis chun breathnú níos géire ar an bhfeidhmchlár lena mbaineann.

## Conclúid: uirlis in aghaidh an mhais, ní in aghaidh gach rud

Socraítear Fail2ban go tapa agus baineann sé cuid den bhuamáil leanúnach de fhreastalaithe gréasáin. Clúdaíonn na jails seachadta patrúin thipiciúla, is féidir scagairí féin a thástáil go sábháilte i gcoinne fíorlogaí le `fail2ban-regex`, agus cinntíonn an jail `recidive` go bhfanann foinsí righne amuigh níos faide.

Níor cheart é a mheas thar a luach. Freagraíonn Fail2ban d'athrá, ní don chéad amas, agus ní fheiceann sé ach an méid atá sna logaí. In aghaidh leochaileachta ar nós PHP2Shell ní chabhraíonn ach an nuashonrú, in aghaidh ionsaithe dáilte ó go leor seoltaí is beag a chabhraíonn Fail2ban. Faigheann sé a luach mar chiseal amháin i measc roinnt: taobh le balla dóiteáin caol, cumraíocht fhreastalaí gréasáin chruaite, fíordheimhniú dhá fhachtóir agus monatóireacht nach mblocálann neamhghnáthaíochtaí amháin, ach a thuairiscíonn iad freisin.

## Conas a chabhraíonn PHP SOS go nithiúil?

- **Logaí a mheas:** Féachaimid ar na patrúin a tharlaíonn i do phrótacail rochtana agus roghnaímid jails oiriúnacha.
- **Socrú agus tástáil:** Socraímid Fail2ban le scagairí féin, déanaimid tástáil ar gach scagaire i gcoinne fíorlogaí agus iontrálaimid do sheoltaí seasta mar eisceacht.
- **An t-idirghníomhú a shoiléiriú:** Comhordaímid CDN, cothromóir ualaigh, balla dóiteáin agus rothlú loga ionas go mbuaileann bacanna na seoltaí cearta.
- **Faire:** Faoi chuimsiú [mhonatóireacht slándála](https://phpsos.de/ga/leistungen/security-monitoring/) measaimid bacanna agus neamhghnáthaíochtaí go leanúnach.


## Ceisteanna coitianta

**An gcosnaíonn Fail2ban in aghaidh PHP2Shell?**  
Ní chosnaíonn. Ní fhreagraíonn Fail2ban ach tar éis do sheoladh a bheith le feiceáil sna logaí go minic. Ní chuirtear cosc ar ionsaí rathúil aonair leis. Ach laghdaíonn Fail2ban an t-ualach ó scanóirí agus déanann sé iarrachtaí athchleachtacha ón bhfoinse chéanna níos costasaí.

**Cén fáth nár cheart dom jail.conf a athrú go díreach?**  
Cuirtear an comhad ina ionad le nuashonruithe pacáiste, agus deir sé é sin féin. Baineann socruithe féin le jail.local nó le comhaid faoi jail.d. Scríobhann siad os cionn na réamhshocruithe go sonrach ansin.

**Cad é an jail recidive?**  
Jail a mheasann prótacal Fail2ban féin. An té a bhlocáltar arís agus arís eile, faigheann sé bac i bhfad níos faide. Sa chumraíocht seachadta is seachtain amháin é.

**An n-oibríonn Fail2ban taobh thiar de Cloudflare nó de chothromóir ualaigh?**  
Le cumraíocht bhreise amháin. Gan í, tá seoladh an tseirbhís roimh-nasctha sna logaí, agus bhuailfeadh bac gach cuairteoir. Ansin ní mór don fhreastalaí gréasáin fíorsheoladh an chuairteora a ghlacadh, agus socraítear bacanna níos fearr ag an tseirbhís roimh-nasctha.

## Foinsí

- [Fail2ban: jail.conf seachadta](https://github.com/fail2ban/fail2ban/blob/master/config/jail.conf)
- [BSI IT-Grundschutz](https://www.bsi.bund.de/DE/Themen/Unternehmen-und-Organisationen/Standards-und-Zertifizierung/IT-Grundschutz/it-grundschutz_node.html)
- [Bileoga cleas OWASP](https://cheatsheetseries.owasp.org/)
