# Nginx le PHP-FPM a chosaint

> Slándáil Nginx PHP-FPM i ndiaidh PHP2Shell: seiceáil linnte agus leaganacha, atosaigh gach oibrí, socraigh luachanna le php_admin_value agus cruaigh Nginx.

Foinse: https://phpsos.de/ga/server/nginx-php-fpm/  
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:** Le Nginx agus PHP-FPM tá an leochaileacht ó PHP2Shell i PHP-FPM, ní i Nginx. Paistigh gach leagan PHP-FPM, atosaigh gach seirbhís FPM go hiomlán agus cruthaigh é le hamanna tosaithe próisis. Le haghaidh slándáil Nginx PHP-FPM san fhadtéarma, tá linnte scartha, luachanna nach féidir a fhorscríobh agus cumraíocht Nginx nach ritheann comhaid uaslódáilte tábhachtach.

## Conas a oibríonn Nginx agus PHP-FPM le chéile

Seachadann Nginx comhaid statacha é féin agus cuireann sé iarratais ar scripteanna PHP ar aghaidh chuig PHP-FPM trí FastCGI. Tá PHP-FPM comhdhéanta de phríomhphróiseas agus de roinnt próiseas oibre, grúpáilte i linnte. Láimhseálann oibrí a lán iarratas ceann i ndiaidh a chéile.

Is é sin go beacht an rud atá ábhartha do PHP2Shell. Le CVE-2026-109619 is féidir le staid inmheánach iarratais maireachtáil tar éis an chuimhne a scaoileadh agus úsáid a bhaint aisti ag iarratas níos déanaí san oibrí céanna. Le CVE-2026-109618 is féidir le staid Out of Memory PHP a idirbhriseadh i lár thús iarratais. Tá CVSS v4.0 9.2 ag an mbeirt acu agus tá siad ceartaithe i PHP 8.5.12, 8.4.27, 8.3.36 agus 8.2.35.

## An stoc a sheiceáil: leaganacha, linnte, próisis

Tá roinnt leaganacha PHP-FPM taobh le taobh ar a lán freastalaithe. Ní léann na horduithe seo a leanas ach; is samplaí do Debian/Ubuntu agus don teaghlach RHEL iad ainmneacha pacáistí agus seirbhísí.

```bash
# Cé na seirbhísí FPM atá ag rith?
systemctl list-units --type=service | grep -i fpm

# Cén leagan atá taobh thiar díobh? (sampla Debian/Ubuntu)
php-fpm8.3 -v
# Teaghlach RHEL
php-fpm -v

# Chuig cé na soicéid nó poirt a gcuireann Nginx ar aghaidh?
nginx -T 2>/dev/null | grep -E 'fastcgi_pass'

# Linnte agus a n-úsáideoirí
grep -RhE '^\[|^user|^listen' /etc/php/*/fpm/pool.d/ 2>/dev/null
```

Cuir gach iontráil `fastcgi_pass` i gcomparáid le linn atá ag rith. Mar sin feiceann tú cén leagan PHP a fhreastalaíonn ar cén suíomh gréasáin. I gcás pacáistí dáilte, is é an changelog le huimhreacha CVE a chruthaíonn an paiste, ní uimhir an leagain amháin.

Toradh coitianta ar stocaireachtaí den chineál seo is ea freastalaithe ar a bhfuil roinnt leaganacha PHP suiteáilte thar na blianta, nach n-úsáidtear ach ceann amháin díobh i ndáiríre. Leanann na seirbhísí FPM eile ag rith mar sin féin, go minic le gnáthlinnte a éisteann ar shoicéad nó port áitiúil. De ghnáth ní bhíonn siad inrochtana go díreach ón taobh amuigh, ach fanann siad ina riosca gan ghá agus fadaíonn siad gach nuashonrú éigeandála. Díghníomhachtaigh agus bain leaganacha nach n-úsáideann aon suíomh gréasáin, tar éis duit an sannadh a sheiceáil trí na hiontrálacha `fastcgi_pass`.

Is fiú freisin súil a chaitheamh ar úsáideoir na linnte. Má ritheann gach linn mar `www-data` nó `nginx`, níl an scaradh idir na suíomhanna gréasáin ann ach ar pháipéar. An té a thógann suíomh gréasáin, is féidir leis ansin comhaid na gcinn eile go léir a léamh, mar shampla comhaid chumraíochta le pasfhocail bunachair sonraí. Cruthaíonn úsáideoirí córais ar leith do gach linn agus cearta comhad oiriúnacha teorainn fhíor anseo. Ní leigheas é seo ar PHP2Shell, ach cuireann sé teorainn shuntasach leis an damáiste féideartha ó ionsaí rathúil.

## An paiste a chur isteach agus gach oibrí a athnuachan

Tar éis an nuashonraithe pacáiste, atosaigh gach seirbhís PHP-FPM. Cuireann athlódáil na hoibrithe in ionad a chéile, ach athnuann atosú iomlán an príomhphróiseas freisin agus is é an bealach sábháilte tar éis nuashonruithe slándála.

```bash
# Sampla Debian/Ubuntu, do gach leagan suiteáilte
systemctl restart php8.3-fpm
# Teaghlach RHEL
systemctl restart php-fpm

# Rialú: am tosaithe an phríomhphróisis agus na n-oibrithe
ps -eo pid,lstart,cmd | grep -E 'php-fpm' | grep -v grep
```

Ní mór do gach próiseas a bheith tosaithe tar éis an nuashonraithe. Tá cur síos mionsonraithe air faoi [PHP-FPM agus gach oibrí a atosú](https://phpsos.de/ga/php2shell/php-fpm-neustart/).

> **Tábhachtach:**
> Ní bhaineann paiste bogearraí mailíseacha a cuireadh isteach roimhe sin. Coinnigh logaí rochtana agus earráide Nginx ón 20.10.2026 i leith agus seiceáil na suíomhanna gréasáin le haghaidh rianta.

## Luachanna idirthréimhseacha a shocrú sa linn

Fad nach bhfuil leagan paistithe, molann php.net bearta idirthréimhseacha. Ní thugann siad cosaint iomlán. In PHP-FPM, leagann tú síos na luachanna le `php_admin_value` nó `php_admin_flag` sa linn, agus ansin ní féidir le feidhmchláir iad a fhorscríobh le `ini_set()`.

```ini
; Sampla: /etc/php/8.3/fpm/pool.d/website.conf
php_admin_flag[session.upload_progress.enabled] = off
php_admin_value[post_max_size] = 32M
php_admin_value[upload_max_filesize] = 24M
```

Gan feidhm uaslódála, luann php.net `post_max_size = 8M`. Ar PHP 8.5 cuirtear `fatal_error_backtraces=0` leis. Don nóta faoi `memory_limit=-1` teastaíonn teorainn chuimhne ag leibhéal cgroup uait, mar shampla trí `MemoryMax` i gcomhlánú systemd don tseirbhís FPM. Oiriúnaigh `client_max_body_size` in Nginx don `post_max_size` nua, ionas go bhfaighidh úsáideoirí teachtaireachtaí earráide intuigthe. Ina dhiaidh sin FPM a atosú.

## Slándáil Nginx PHP-FPM a fheabhsú go buan

Thar an gcás géar, cabhraíonn roinnt bunrialacha le damáiste a theorannú i gcás leochaileachtaí amach anseo:

- **Linn amháin do gach suíomh gréasáin** le húsáideoir córais, soicéad agus teorainn `open_basedir` dá gcuid féin. Tuilleadh faoi [open_basedir agus scaradh do gach suíomh gréasáin](https://phpsos.de/ga/ratgeber/open-basedir/).
- **Cearta soicéid** a shocrú ionas nach bhfuil rochtain ach ag Nginx, gan poirt FPM a oscailt amach.
- **Scripteanna atá ann amháin a rith:** Sa PHP-location socraigh `try_files $uri =404;` ionas nach gcuireann Nginx cosáin ar aghaidh chuig PHP nach bhfuil ann.
- **Uaslódálacha gan a rith:** Cosc a chur ar rith PHP i bhfillteáin uaslódála. Tá leideanna faoi [Uaslódálacha comhad a chur i bhfeidhm go slán](https://phpsos.de/ga/ratgeber/datei-upload-sicher/).
- **Leathanaigh stádais a chosaint:** `pm.status_path` agus `ping.path` a dhéanamh inrochtana go hinmheánach amháin.

```nginx
# Sampla: gan rith PHP san fhillteán uaslódála
location ~* ^/uploads/.*\.php$ {
    deny all;
}
```

Seiceáil gach athrú le `nginx -t` sula n-athlódálann tú Nginx. Taifead freisin cé na linnte, leaganacha agus rialacha speisialta atá ar an bhfreastalaí. Sábhálann an doiciméadú gearr seo am luachmhar nuair a thagann an chéad leochaileacht chriticiúil eile, mar ní gá d'aon duine cuardach a dhéanamh ar dtús cén suíomh gréasáin atá ceangailte le cén linn.

## Conas a chabhraíonn PHP SOS go nithiúil?

- Cuirimid gach suíomh gréasáin lena linn agus lena leagan PHP agus seiceálaimid an fhíorstaid phacáiste.
- Paistímid, atosaímid gach seirbhís FPM agus déanaimid amanna tosaithe próisis a dhoiciméadú mar chruthúnas.
- Go dtí go mbeidh paiste ann, leagaimid síos na luachanna idirthréimhseacha do gach linn agus cuirimid teorainn leis an gcuimhne trí cgroup.
- Mar chuid de [chruatú freastalaí](https://phpsos.de/ga/leistungen/server-haertung/) scaraimid linnte, cearta agus fillteáin uaslódála i gceart.
- Má tá amhras ann faoi bhriseadh isteach, glacaimid leis an [Incident Response](https://phpsos.de/ga/leistungen/incident-response/).


## Ceisteanna coitianta

**An leor systemctl reload do PHP-FPM tar éis nuashonraithe?**  
Athnuaitear na hoibrithe le hathlódáil, ach d'fhéadfadh an príomhphróiseas an seanchód a choinneáil. Tar éis nuashonraithe slándála is é atosú iomlán na seirbhíse an bealach sábháilte. Rialaigh ina dhiaidh sin am tosaithe an phríomhphróisis agus na n-oibrithe.

**An gcaithfear Nginx a atosú tar éis nuashonraithe PHP?**  
Níl PHP ann do Nginx féin agus ní gá é a atosú don phaiste PHP. Ní mór gach seirbhís PHP-FPM a atosú. Má athraíonn tú cumraíocht Nginx ag an am céanna, seiceáil í le nginx -t sula n-athlódálann tú.

**Cén fáth linn ar leith do gach suíomh gréasáin?**  
Ritheann gach linn lena húsáideoir féin agus lena teorainneacha féin. Má chuirtear suíomh gréasáin i mbaol, ní fhaigheann an t-ionsaitheoir comhaid na gcinn eile gan stró. Ina theannta sin, is féidir luachanna idirthréimhseacha a leagan síos go sonrach do gach linn.

**An cosaint i gcoinne PHP2Shell é pm.max_requests?**  
Ní hea, ní thagann sé in ionad paiste. Cuireann an luach teorainn leis an méid iarratas a láimhseálann oibrí sula gcuirtear ceann eile ina áit. Is féidir leis seo saolré na staideanna sa phróiseas a ghiorrú, ach ní leigheas é a luann php.net.

## Foinsí

- [php.net: fógraí slándála](https://www.php.net/)
- [PHP 8 ChangeLog](https://www.php.net/ChangeLog-8.php)
- [OWASP Cheat Sheets](https://cheatsheetseries.owasp.org/)
- [BSI](https://www.bsi.bund.de/)
