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 →

Íomhánna oifigiúla PHP Docker: clibeanna, digests agus tógáil as an nua

Is pointeoir é clib den íomhá oifigiúil PHP a ghluaiseann le himeacht ama go staideanna nua. An té a thuigeann cad is clib, leagan agus digest ann, roghnaíonn sé an íomhá cheart agus is féidir leis staid an phaiste a chruthú.

Staid Am léitheoireachta: 6 nóim.Óstáil agus dáiltí

Go achomair: Tá an íomhá oifigiúil PHP ar Docker Hub ar fáil i go leor clibeanna a chomhcheanglaíonn leagan, leagan oibriúcháin (mar shampla cli, fpm, apache) agus bunchóras. Is pointeoir é clib a ghluaiseann go staideanna nua tar éis tógálacha; ní shainíonn ach an digest staid amháin go cruinn. In aghaidh PHP2Shell teastaíonn íomhá le PHP 8.5.12, 8.4.27, 8.3.36 nó 8.2.35 uait, arna seiceáil le php -v, agus tógáil nua de d'íomhánna féin air.

Cén fáth nach n-insíonn an chlib í féin mórán

Scríobhann a lán foirne líne ar nós FROM php:8.3-fpm ina nDockerfile agus déanann siad dearmad uirthi ina dhiaidh sin. Oibríonn sé sin fad is nach ndéanann aon duine fiosrú cén leagan PHP atá ag rith i ndáiríre. Ó PHP2Shell, fiafraíonn gach duine.

Níl an freagra sa Dockerfile. Pointeálann clib ar nós 8.3-fpm ar an staid is nuaí den bhrainse sin ag an am a tharraingítear í. Má tarraingíodh an íomhá roimh an 21 Deireadh Fómhair agus nár athnuaitear ó shin í, tá leagan leochaileach inti cé go bpointeálann an chlib inniu ar staid cheartaithe. De réir threoirlínte na nDocker Official Images, tógtar na híomhánna as an nua go gníomhach, ceartúcháin slándála san áireamh. Ach ní théann sé sin i bhfeidhm ar do staid áitiúil.

Déanann PHP a phaistiú i gcoimeádáin Docker cur síos ar an bpróiseas iomlán ón tógáil nua go dtí an coimeádán nua-chruthaithe. Anseo is í an réamhcheist atá i gceist: cén íomhá is an cheann cheart, agus conas a chruthaíonn tú a staid?

Clibeanna íomhá PHP Docker: conas a thógtar iad

Tá suas le trí chuid i gclibeanna. Taispeánann Docker Hub samplaí ar nós php:8.2-cli, php:8.2-fpm-alpine nó php:8.4.27-zts-alpine3.24.

Comhpháirt Sampla Brí
Leagan 8.4.27 nó 8.4 fanann an leagan iomlán ag an staid seo, gluaiseann an brainse le paistí nua
Leagan oibriúcháin cli, fpm, apache, zts mód oibriúcháin PHP sa choimeádán
Bunchóras alpine3.24, bookworm, trixie leagan Alpine nó Debian ar a bhfuil sé bunaithe

Níl na leaganacha oibriúcháin comhionann i gcás PHP2Shell. Oibríonn fpm PHP-FPM, oibríonn apache PHP mar mhodúl Apache, is é sin mod_php. Measann foireann PHP an mód oibriúcháin seo an ceann is airde, mar léiríodh exploit ann sula ritheann cód an fheidhmchláir fiú. Tuilleadh faoi Cén fáth a bhfuil mod_php i mbaol go háirithe. Tá an leagan cli ceaptha do thascanna líne ordaithe.

Tá impleachtaí ag an mbunchóras freisin. Tá íomhánna Alpine beag, ach úsáideann siad leabharlann C eile ná íomhánna Debian; iompraíonn roinnt eisínteachtaí nó leabharlanna réamhchóimeáilte iad féin go difriúil ansin. Dá bhrí sin ná hathraigh an bunchóras mar chuid den nuashonrú slándála, ach fan ar dtús leis an gceann a bhfuil aithne ag d'fheidhmchlár air.

Tábhachtach le tuiscint: san íomhá oifigiúil, ní as pacáistí an bhundháilte a thagann PHP. Míníonn Docker Hub go bhfuil na foinsí PHP san íomhá agus go ndéantar eisínteachtaí a chur isteach trí scripteanna cabhrach ar nós docker-php-ext-install. Dá bhrí sin ní athraíonn nuashonrú pacáiste den bhunchóras i do Dockerfile féin an leagan PHP. Is é an rud cinntitheach amháin ná cén staid den íomhá oifigiúil a bhfuil tú ag tógáil air.

Clib nó digest: cad a athraíonn agus cathain

Is suim sheiceála é digest ar ábhar íomhá, scríofa mar sha256: agus teaghrán fada carachtar. Athraíonn sé le gach tógáil nua. Dá bhrí sin tá sé oiriúnach mar chruthúnas: an té a bhfuil an digest ar eolas aige, tá a fhios aige go beacht cén staid atá ag rith.

San úsáid phraiticiúil oibríonn roinnt na n-oibreacha go maith:

  • Sa Dockerfile úsáid an chlib brainse, mar shampla php:8.4-fpm, ionas go bhfaigheann tógáil nua an paiste is nuaí den bhrainse sin go huathoibríoch.
  • Sa scaoileadh úsáid digest d'íomhá féin atá tógtha, ionas go bhfuil sé soiléir cad a sheachadtar.
  • Sa doiciméadúchán coinnigh an dá cheann ar taifead: clib, digest agus an leagan arna sheiceáil le php -v.

An té a shocraíonn clib leagain iomlán ar nós 8.3.35-fpm ina ionad, ní fhaigheann paiste go huathoibríoch riamh. Is féidir go bhfuil sé sin ar intinn, ach teastaíonn próiseas uaidh a ardaíonn an chlib le gach fógra slándála.

PHP2Shell: íomhá a sheiceáil roimh úsáid

Tarraingíonn na horduithe seo íomhá agus léann siad faisnéis. Ní athraíonn siad aon choimeádán atá ag rith.

# An staid reatha den chlib brainse a tharraingt
docker pull php:8.4-fpm

# Cén leagan PHP atá san íomhá?
docker run --rm php:8.4-fpm php -v

# Digest na híomhá tarraingthe a thaispeáint
docker image inspect php:8.4-fpm --format '{{index .RepoDigests 0}}'

# Digest agus ardáin a fhiafraí go díreach sa chlárlann
docker buildx imagetools inspect php:8.4-fpm

Taispeánann an cheist le imagetools, i gcás íomhánna il-ardáin, digest uachtarach agus faoina bhun digest ar leith do gach ardán, mar shampla linux/amd64 nó linux/arm64. Doiciméadaigh an digest a tharraingíonn do fhreastalaithe i ndáiríre, agus tabhair faoi deara go bhfaigheann ríomhairí forbróra le ailtireacht eile digest ardáin eile.

Mura dtaispeánann php -v ar a laghad an leagan ceartaithe den bhrainse, tá an íomhá as dáta nó tagann sí ó thaisce idirmheánach. Seiceáil ansin an úsáideann do thimpeallacht scáthán clárlainne a sheachadann seanstaideanna.

Do PHP 8.1 agus níos sine ní sholáthraíonn tionscadal PHP eisiúintí oifigiúla a thuilleadh. Dá bhrí sin ní féidir le híomhá oifigiúil de na brainsí seo leagan ceartaithe rialta a bheith aici. Fanann clibeanna nach gcothaítear a thuilleadh inghlactha de réir treoirlínte Docker, ach ní nuashonraítear iad a thuilleadh.

Leid

De réir Docker Hub, tagann php.ini-development agus php.ini-production leis an íomhá, agus molann sé go láidir an leagan táirgeachta le haghaidh oibriú táirgeachta. Cuir do shocruithe féin mar chomhad in $PHP_INI_DIR/conf.d/, na luachanna idirthréimhseacha ó php.net san áireamh.

Botúin choitianta i roghnú íomhá

  • Leagan as nós: Roghnaítear an leagan apache toisc go dtosaíonn sé go simplí, cé go mbeadh fpm indéanta le freastalaí gréasáin ar leith.
  • Gan tógáil as an nua d'íomhánna féin: Tá an bun-íomhá cothrom le dáta, ach níl an íomhá feidhmchláir a tógadh uaithi.
  • Tógálacha il-chéime a chaill tú: I nDockerfile le roinnt línte FROM, ní athraítear ach ceann amháin.
  • Taobh-íomhánna a dhearmad: Úsáideann oibrithe, coimeádáin cron agus uirlisí riaracháin clibeanna dá gcuid féin.
  • Bheith ag brath ar latest amháin: Ní insíonn an chlib aon ní faoin mbrainse ná faoin leagan oibriúcháin agus is féidir léi léim gan choinne le príomhbhrainse nua.

Conas tógálacha nua a uathoibriú ionas nach mbíonn íomhá as dáta ag rith ar chor ar bith ar feadh i bhfad, tá sé le fáil in CI/CD: íomhánna PHP a thógáil as an nua go huathoibríoch. Míníonn PHP i gcoimeádáin na bunghnéithe maidir le PHP i gcoimeádáin.

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

  • An stoc a sheiceáil: Léimid cé na clibeanna, digests agus leaganacha PHP atá i d'íomhánna agus i do choimeádáin atá ag rith.
  • An leagan a mheas: Seiceálaimid an bhfuil gá le mod_php nó an laghdaíonn fpm le freastalaí gréasáin ar leith an riosca.
  • Tógáil as an nua agus cruthú: Leis an tSeirbhís Phaisteála PHP tógaimid íomhánna as an nua ar bhonn ceartaithe agus doiciméadaímid clib, digest agus leagan.
  • An próiseas a bhunú: Socraímid Dockerfiles agus scaoileadh ionas go dtagann an chéad phaiste eile ar bhealach intuartha.

Ceisteanna coitianta

Cad é an difríocht idir clib agus digest?

Is ainm é clib ar nós php:8.4-fpm a fhéadann pointeáil ar staid nua tar éis gach tógála. Is suim sheiceála é digest a shainíonn staid amháin nach n-athraíonn. Do chruthúnas agus do scaoileadh inathchruthaithe is é an digest an sonra is iontaofa.

Cén chlib a bhfuil ceartúchán PHP2Shell inti?

Tá PHP 8.5.12, 8.4.27, 8.3.36 agus 8.2.35 ceartaithe. Taispeánann clib le huimhir leagain iomlán an staid go díreach. I gcás clibeanna níos giorra ar nós 8.4-fpm, seiceáil le php -v tar éis é a tharraingt cén leagan atá inti i ndáiríre.

An bhfuil íomhá oifigiúil paistithe ann do PHP 8.1?

Ní sholáthraíonn tionscadal PHP eisiúintí oifigiúla do 8.1 agus níos sine a thuilleadh. Dá bhrí sin ní féidir le híomhá oifigiúil de na brainsí seo leagan ceartaithe rialta a bheith aici. Pleanáil an t-athrú go brainse tacaithe.

An bhfuil an leagan apache níos riosca ná fpm?

Oibríonn an leagan apache PHP mar mhodúl Apache, is é sin mod_php. Measann foireann PHP an mód oibriúcháin seo an ceann is airde i gcás PHP2Shell. Teastaíonn an nuashonrú ón dá leagan; i gcás mod_php tá práinn ag baint leis go háirithe.

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