An cás reatha: PHP2Shell. Ceadaíonn dhá leochaileacht chriticiúla PHP (CVSS 9.2) cód mailíseach gan logáil isteach. Paistí ar fáil ón 21 Deireadh Fómhair 2026.Cad atá le déanamh anois →

Linnte PHP-FPM a leithlisiú do gach suíomh gréasáin

Is é linn ar leith do gach suíomh gréasáin an tús, ní an deireadh. Seo conas a sheiceálann tú linnte atá ann agus a chruaíonn tú sockets, iarmhíreanna, leathanaigh stádais, acmhainní agus logaí.

Staid Am léitheoireachta: 6 nóim.Cruatú agus cumraíocht

Go achomair: Ba cheart linn PHP-FPM dá chuid féin, le húsáideoir córais agus socket dá chuid féin, a bheith ag gach suíomh gréasáin ar fhreastalaí. Ní éiríonn leis an scaradh ach leis na sonraí: cearta socket don fhreastalaí gréasáin amháin, security.limit_extensions ar .php, gan leathanaigh stádais inrochtana go poiblí, teorainneacha dá gcuid féin do phróisis agus ama rite, chomh maith le logaí scartha. Ní chosnaíonn ach an nuashonrú in aghaidh PHP2Shell féin; cuireann linnte teorainn leis an gcéad a théann ionsaí.

Freastalaí amháin, a lán suíomhanna gréasáin, riosca comhroinnte

Ar go leor freastalaithe d'fhás thar na blianta rud nár phleanáil aon duine ar an gcaoi sin. Ritheann suíomh gréasáin na cuideachta, an siopa, leathanach feachtais ó 2019 agus córas tástála taobh le taobh, go minic faoin úsáideoir céanna agus sa linn chéanna. Má dhéantar comhréiteach ar an leathanach feachtais dearmadta, tá sonraí custaiméirí an tsiopa oscailte freisin.

Réitíonn PHP-FPM, bainisteoir próisis FastCGI PHP, é seo le linnte: grúpaí de phróisis worker le socruithe dá gcuid féin. Míníonn PHP-FPM mínithe: bainisteoir próisis, linnte agus workers conas a oibríonn an bunphrionsabal. Déanann an treoir open_basedir agus leithlisiú do gach suíomh gréasáin cur síos ar thógáil linnte scartha le húsáideoir dá gcuid féin, fillteán sealadach dá gcuid féin agus open_basedir. Téann an t-alt seo céim níos faide: conas a sheiceálann tú linnte atá ann, agus cé na socruithe a fhágann an scaradh iontaofa?

Tábhachtach le haicmiú: i gcás PHP2Shell tá na leochaileachtaí CVE-2026-109618 agus CVE-2026-109619 san ateangaire PHP, a roinneann gach linn de leagan PHP. Ní chuireann linn ar leith cosc ar úsáid na leochaileachta. Ach cinneann sé an dtagann ionsaitheoir ina dhiaidh sin ar shuíomh gréasáin amháin nó ar gach ceann.

Linnte PHP-FPM le húsáideoir ar leith: an stoc a sheiceáil

Sula n-athraíonn tú aon rud, faigh forbhreathnú. Ní léann na horduithe seo a leanas ach. Athraíonn cosáin agus uimhreacha leaganacha de réir dáilte:

# Gach linn le húsáideoir agus socket
grep -HE '^\s*(\[|user|group|listen)\s*' /etc/php/*/fpm/pool.d/*.conf

# Linnte reatha agus a n-úsáideoirí
ps -eo user,pid,cmd | grep '[p]hp-fpm: pool'

# Sockets agus a gcearta
ls -l /run/php/

# Cumraíocht a sheiceáil ar earráidí (ní athraíonn sé tada)
sudo php-fpm8.3 -t

Tabhair aird ar thrí phatrún: roinnt suíomhanna gréasáin sa linn chéanna, linnte a ritheann mar www-data nó fiú mar root, agus sockets atá inscríofa do gach úsáideoir. Lagaíonn gach ceann acu an scaradh.

Má ritheann roinnt leaganacha PHP ar an bhfreastalaí, tá seirbhís FPM dá chuid féin ag gach ceann le heolairí linne dá gcuid féin. Seiceáil iad go léir, ní hamháin an leagan a shocraigh tú go deireanach. Go háirithe is riosca iad seanleaganacha le linnte dearmadta, mar is minic nach gcothaítear iad ná nach n-atosaítear tar éis nuashonruithe. Tá leideanna ina leith sin ag Leaganacha PHP éagsúla ar fhreastalaí amháin. Taifead an toradh i dtábla beag: suíomh gréasáin, linn, úsáideoir, socket, leagan PHP. Is é an forbhreathnú seo an bunús d'aon athrú níos déanaí freisin.

Na príomhshocruithe do gach linn

Tá an forbhreathnú seo a leanas bunaithe ar chumraíocht FPM i lámhleabhar PHP. Braitheann luachanna do phróisis agus amanna ar do ualach agus ar d'fheidhmchlár:

Socrú Cuspóir Moladh
user, group úsáideoir na workers úsáideoir ar leith do gach suíomh gréasáin, riamh root
listen.owner, listen.group, listen.mode cearta ar an socket grúpa an fhreastalaí gréasáin amháin, mód 0660
listen.acl_users rochtain trí ACL in ionad úinéara úsáideoir an fhreastalaí gréasáin amháin a iontráil
security.limit_extensions iarmhíreanna inrithe teorainn le .php (réamhshocrú .php .phar)
clear_env athróga timpeallachta a fholmhú fág ar an réamhshocrú yes
pm.max_children uaslíon workers teorainn ionas nach n-úsáideann suíomh amháin an freastalaí ar fad
request_terminate_timeout iarratais crochta a chur ar ceal socraigh de réir an iarratais dhlisteanaigh is faide
pm.status_path, ping.path leathanach stádais agus ping ná socraigh ach má bhíonn gá leo, agus cosain go hinmheánach
slowlog, request_slowlog_timeout prótacal iarratas mall i gcomhad ar leith do gach linn

Tá sliocht do linn chruaite cosúil leis seo:

; /etc/php/8.3/fpm/pool.d/shop.conf (sliocht)
[shop]
user = shop
group = shop
listen = /run/php/shop.sock
listen.owner = www-data
listen.group = www-data
listen.mode = 0660

pm = dynamic
pm.max_children = 20
pm.start_servers = 4
pm.min_spare_servers = 2
pm.max_spare_servers = 6
request_terminate_timeout = 60s

security.limit_extensions = .php
clear_env = yes

slowlog = /var/log/php/shop.slow.log
request_slowlog_timeout = 10s
php_admin_value[error_log] = /var/log/php/shop.error.log

Socraíonn tú socruithe ar nós memory_limit nó session.upload_progress.enabled do gach linn le php_admin_value agus php_admin_flag. De réir an lámhleabhair ní féidir na luachanna seo a scríobh os a gcionn le ini_set(). Tuilleadh ag php_admin_value: socruithe a chosc ar scríobh os a gcionn.

Leathanaigh stádais agus athrú workers a aicmiú i gceart

Ní bhíonn pm.status_path agus ping.path gníomhach ach má tá siad socraithe. Taispeánann an leathanach stádais iarratais reatha, próisis agus ualach. Is cabhrach é sin don mhonatóireacht, ach má tá sé inrochtana go poiblí is foinse faisnéise gan ghá d'ionsaitheoirí é. Seol na cosáin seo ar aghaidh sa fhreastalaí gréasáin do sheoltaí inmheánacha amháin. Déanann Nginx a chruachan le PHP-FPM cur síos ar conas a oibríonn Nginx agus PHP-FPM le chéile go slán.

Socraíonn pm.max_requests tar éis cé mhéad iarratas a atosaíonn worker; is é 0 an réamhshocrú, is é sin riamh. Cabhraíonn luach níos mó ná nialas in aghaidh úsáide cuimhne a fhásann go mall. Níl sé beartaithe mar chosaint in aghaidh PHP2Shell: ní luann php.net é i measc na mbeart idirthréimhseach agus cuireann sé béim ar nach gcosnaíonn ach an nuashonrú go hiomlán. Tar éis an nuashonraithe tá sé seo fíor freisin: ní mór gach worker de gach linn a atosú, mar leanann seanphróisis ag rith leis an gcód leochaileach ar shlí eile.

Leid

Coinnigh teimpléad do linnte nua agus cruthaigh gach suíomh gréasáin nua leis. Ar an gcaoi sin tagann an scaradh chun cinn go huathoibríoch in ionad é a chur leis blianta ina dhiaidh sin.

Earráidí tipiciúla le linn an aistrithe

Is é an earráid is coitianta linn nua a ritheann faoi úsáideoir dá chuid féin, ach a mbaineann a comhaid fós le www-data. Ansin ní féidir leis an linn scríobh san áit ar gá, agus socraíonn duine éigin na cearta ró-fhlaithiúil. Soiléirigh roimh ré cé na fillteáin a chaithfidh a bheith inscríofa. Is é an dara earráid tascanna sceidealaithe a ritheann fós faoin seanúsáideoir agus a chruthaíonn comhaid le húinéir mícheart. Is é an tríú ná fillteán seisiún comhroinnte do gach linn, a chuireann deireadh leis an scaradh arís.

Tar éis gach aistrithe, déan tástáil ar logáil isteach, ar uaslódálacha, ar thaisceanna agus ar thascanna sceidealaithe an tsuímh gréasáin agus bí ag faire ar log earráidí na linne.

Conas a chabhraíonn PHP SOS go nithiúil?

  • Taifeadaimid gach linn, úsáideoir, socket agus socrú agus léirímid cá roinneann suíomhanna gréasáin próisis nó cearta inniu.
  • Socraímid linn chruaite do gach suíomh gréasáin, le cearta socket, teorainn iarmhíre, teorainneacha acmhainne agus logaí dá gcuid féin.
  • Cosnaímid leathanaigh stádais, atosaímid gach worker ar bhealach rialaithe agus déanaimid tástáil ar gach suíomh gréasáin.
  • Faoi chuimsiú chruachan an fhreastalaí doiciméadaímid an scaradh mar theimpléad do thionscadail amach anseo.

Ceisteanna coitianta

Cén fáth ar cheart linn PHP-FPM dá chuid féin a bheith ag gach suíomh gréasáin?

Scarann linn ar leith le húsáideoir córais dá chuid féin na suíomhanna gréasáin ar leibhéal na bpróiseas agus cearta comhad. Má dhéantar comhréiteach ar shuíomh amháin, ní féidir leis an gcód comhaid na gceann eile a léamh gan stró. Ina theannta sin is féidir teorainneacha agus socruithe a shocrú ar leith do gach suíomh gréasáin.

An gcosnaíonn linn ar leith in aghaidh PHP2Shell?

Ní chosnaíonn. Tá na leochaileachtaí san ateangaire PHP féin, a roinneann gach linn. Ní thugann cosaint ach an nuashonrú go leagan ceartaithe agus atosú gach worker. Ach cuireann linnte scartha teorainn leis an gcéad a théann ionsaí rathúil.

Cad a dhéanann security.limit_extensions?

De réir lámhleabhar PHP, cuireann an socrú teorainn leis na hiarmhíreanna comhad a ritheann PHP-FPM mar phríomhscript. Is é an réamhshocrú ná .php agus .phar. An té a theorannaíonn go dtí .php é, cuireann sé cosc ar chomhaid íomhá uaslódáilte, mar shampla, a rith mar PHP, má tá an freastalaí gréasáin cumraithe go mícheart.

An bhfuil leathanach stádais PHP-FPM contúirteach?

Nochtann sé sonraí faoi phróisis agus iarratais reatha. Má tá sé inrochtana go poiblí gan chosaint, éascaíonn sé treoshuíomh d'ionsaitheoirí. De réir an lámhleabhair, níl sé gníomhach ach má tá pm.status_path socraithe. Ansin ba cheart don fhreastalaí gréasáin an cosán a theorannú do sheoltaí inmheánacha.

Foinsí

Teagmháil láithreach

Cuireann gach uair an chloig leis. Scríobh chugainn anois.

Déan cur síos gearr ar an gcóras, leagan PHP agus an rud a thug tú faoi deara. Cuirfimid scéala chugat, soiléireoimid an cás agus oibreoimid go cianda go dtí go mbeidh an teagmhas dúnta agus doiciméadaithe.

Cabhair láithreach