Fil-qosor: L-image uffiċjali ta' PHP fuq Docker Hub jeżisti f'ħafna tags li jgħaqqdu verżjoni, varjant (pereżempju cli, fpm, apache) u sistema bażi. Tag huwa indikatur li wara bini mill-ġdid jimxi lejn stati ġodda; biss id-digest jindika eżattament stat wieħed. Kontra PHP2Shell għandek bżonn image b'PHP 8.5.12, 8.4.27, 8.3.36 jew 8.2.35, ivverifikat b'php -v, u bini mill-ġdid tal-images proprji tiegħek fuqu.
Għaliex it-tag waħdu jgħid ftit
Ħafna timijiet jiktbu fid-Dockerfile tagħhom linja bħal FROM php:8.3-fpm u wara jinsewha. Dan jaħdem sakemm ħadd ma jistaqsi liema verżjoni ta' PHP verament qed taħdem. Minn PHP2Shell kulħadd jistaqsi.
It-tweġiba ma tinsabx fid-Dockerfile. Tag bħal 8.3-fpm fil-mument li tiġbdu jindika l-aħħar stat ta' dik il-fergħa. Jekk l-image inġibed qabel il-21 ta' Ottubru u minn dak iż-żmien ma ġiex imġedded, fih verżjoni vulnerabbli, għalkemm it-tag illum jindika stat rranġat. Skont il-linji gwida tad-Docker Official Images, l-images jinbnew mill-ġdid b'mod attiv, anke f'korrezzjonijiet tas-sigurtà. L-istat lokali tiegħek ma jaffettwah xejn minn dan.
Il-proċess kollu mill-bini mill-ġdid sal-container maħluq mill-ġdid jiddeskrivih Kif tippatcja PHP f'containers ta' Docker. Hawnhekk titratta l-mistoqsija preliminari: liema image huwa t-tajjeb, u kif tipprova l-istat tiegħu?
Tags tal-images Docker ta' PHP: kif huma mibnija
It-tags jikkonsistu minn sa tliet partijiet. Docker Hub juri eżempji bħal php:8.2-cli, php:8.2-fpm-alpine jew php:8.4.27-zts-alpine3.24.
| Komponent | Eżempju | Tifsira |
|---|---|---|
| Indikazzjoni tal-verżjoni | 8.4.27 jew 8.4 |
verżjoni sħiħa tibqa' f'dan l-istat, indikazzjoni tal-fergħa timxi ma' patches ġodda |
| Varjant | cli, fpm, apache, zts |
mod ta' tħaddim ta' PHP fil-container |
| Sistema bażi | alpine3.24, bookworm, trixie |
verżjoni tal-Alpine jew Debian li hemm taħt |
Il-varjanti mhumiex ekwivalenti għal PHP2Shell. fpm iħaddem PHP-FPM, apache iħaddem PHP bħala modulu Apache, jiġifieri mod_php. Din il-modalità tikklassifikaha t-tim ta' PHP bħala l-ogħla, għax hemmhekk intwera exploit qabel ma jaħdem xi kodiċi tal-applikazzjoni. Aktar dwar dan taħt Għaliex mod_php huwa partikolarment f'riskju. Il-varjant cli huwa maħsub għal kompiti tal-linja tal-kmand.
Anke s-sistema bażi għandha konsegwenzi. L-images Alpine huma żgħar, imma jużaw librerija C differenti minn images Debian; xi estensjonijiet jew libreriji pre-kkompilati jaġixxu differenti hemmhekk. Għalhekk tibdilx is-sistema bażi bejn wieħed u ieħor mal-aġġornament tas-sigurtà, imma ibqa' l-ewwel ma' dak li l-applikazzjoni tiegħek tafu.
Importanti għall-fehim: fl-image uffiċjali PHP ma jiġix mill-pakketti tad-distribuzzjoni bażi. Docker Hub jiddeskrivi li s-sorsi ta' PHP jinsabu fl-image u l-estensjonijiet jiddaħħlu permezz ta' skripts ta' għajnuna bħal docker-php-ext-install. Aġġornament tal-pakketti tas-sistema bażi fid-Dockerfile proprju għalhekk ma jbiddel xejn fil-verżjoni ta' PHP. Jgħodd biss fuq liema stat tal-image uffiċjali tibni.
Tag jew digest: x'jinbidel meta
Digest huwa checksum fuq il-kontenut ta' image, miktub bħala sha256: b'sekwenza twila ta' karattri. Jinbidel ma' kull bini mill-ġdid. Għalhekk jaqdi bħala prova: min jaf id-digest jaf eżattament liema stat qed jaħdem.
Fil-prattika taħdem tajjeb qasma tax-xogħol:
- Fid-Dockerfile uża t-tag tal-fergħa, pereżempju
php:8.4-fpm, biex bini mill-ġdid jieħu awtomatikament l-aħħar patch ta' dik il-fergħa. - Fir-rollout uża d-digest tal-image proprju lest, biex ikun ċar x'jiġi mwassal.
- Fid-dokumentazzjoni żomm it-tnejn: tag, digest u l-verżjoni vverifikata b'
php -v.
Min minflok jiffissa tag sħiħ tal-verżjoni bħal 8.3.35-fpm, qatt ma jieħu patch awtomatikament. Dan jista' jkun mixtieq, imma jeħtieġ proċess li jgħolli t-tag f'kull avviż tas-sigurtà.
PHP2Shell: ivverifika image qabel l-użu
Il-kmandi li ġejjin jiġbdu image u jaqraw informazzjoni. Ma jbiddlu l-ebda containers li qed jaħdmu.
# Iġbed l-aħħar stat tat-tag tal-fergħa
docker pull php:8.4-fpm
# Liema verżjoni ta' PHP hemm fl-image?
docker run --rm php:8.4-fpm php -v
# Uri d-digest tal-image miġbud
docker image inspect php:8.4-fpm --format '{{index .RepoDigests 0}}'
# Staqsi digest u pjattaformi direttament fir-registry
docker buildx imagetools inspect php:8.4-fpm
Il-mistoqsija b'imagetools turi f'images multi-pjattaforma digest ewlieni u taħtu digest proprju għal kull pjattaforma, pereżempju linux/amd64 jew linux/arm64. Iddokumenta d-digest li s-servers tiegħek verament jiġbdu, u żomm f'mohhok li kompjuters tal-iżvilupp b'arkitettura differenti jirċievu digest differenti tal-pjattaforma.
Jekk php -v ma juri tal-inqas il-verżjoni rranġata tal-fergħa, l-image huwa skadut jew jiġi minn cache intermedja. Imbagħad iċċekkja jekk l-ambjent tiegħek juża mirror tar-registry li jservi stati qodma.
Għal PHP 8.1 u eqdem il-proġett PHP ma joħroġx aktar releases uffiċjali. Image uffiċjali ta' dawn il-fergħat għalhekk ma jistax ikun fih verżjoni rranġata regolari. Tags li ma jinżammux aktar jibqgħu disponibbli skont il-linji gwida ta' Docker, imma ma jiġux aġġornati aktar.
L-image iġib, skont Docker Hub, php.ini-development u php.ini-production u jirrakkomanda bil-qawwa l-verżjoni tal-produzzjoni għall-użu produttiv. Issettjar proprju poġġih bħala fajl f'$PHP_INI_DIR/conf.d/, anke l-valuri temporanji ta' php.net.
Żbalji tipiċi fl-għażla tal-image
- Varjant magħżul bl-abitudni: Il-varjant apache jintgħażel għax jibda faċilment, għalkemm fpm b'server tal-web separat kien possibbli.
- Ebda bini mill-ġdid tal-images proprji: L-image bażi huwa aġġornat, l-image tal-applikazzjoni mibni minnu le.
- Builds b'diversi stadji injorati: F'Dockerfile b'diversi linji
FROMjiġi adattat biss wieħed. - Images sekondarji li ntesew: Workers, containers tal-cron u għodod tal-amministrazzjoni jużaw tags proprji.
- Tistrieħ biss fuq
latest: It-tag ma jgħid xejn dwar il-fergħa u l-varjant u jista' jaqbeż b'mod mhux mistenni f'fergħa ewlenija ġdida.
Kif timmekkanizza l-bini mill-ġdid, biex image skadut ma jdumx jaħdem, jiddeskrivih CI/CD: ibni l-images ta' PHP awtomatikament mill-ġdid. Bażi dwar PHP fil-containers tispjegahom PHP fil-containers.
Kif tgħin PHP SOS b'mod konkret?
- Niċċekkjaw l-inventarju: Naqraw liema tags, digests u verżjonijiet ta' PHP hemm fl-images u fil-containers tagħkom li qed jaħdmu.
- Nivvalutaw il-varjant: Niċċekkjaw jekk mod_php huwiex meħtieġ jew jekk fpm b'server tal-web separat inaqqasx ir-riskju.
- Nerġgħu nibnu u nippruvaw: Bil-Patch Service ta' PHP nerġgħu nibnu images fuq bażi rranġata u niddokumentaw tag, digest u verżjoni.
- Nistabbilixxu l-proċess: Nissettjaw Dockerfiles u rollouts b'mod li l-patch li jmiss jasal b'mod ippjanat.
Mistoqsijiet frekwenti
X'inhi d-differenza bejn tag u digest?
Tag bħal php:8.4-fpm huwa isem li wara kull bini mill-ġdid jista' jindika stat ġdid. Digest huwa checksum li jindika eżattament stat wieħed li ma jinbidilx. Għal provi u rollouts riproduċibbli d-digest huwa l-indikazzjoni aktar affidabbli.
Liema tag fih il-korrezzjoni ta' PHP2Shell?
Irranġati huma PHP 8.5.12, 8.4.27, 8.3.36 u 8.2.35. Tag bin-numru sħiħ tal-verżjoni juri l-istat direttament. F'tags iqsar bħal 8.4-fpm, wara li tiġbed l-image iċċekkja b'php -v liema verżjoni verament hemm.
Hemm image uffiċjali ppatchjat għal PHP 8.1?
Il-proġett PHP ma joħroġx aktar releases uffiċjali għal 8.1 u eqdem. Image uffiċjali ta' dawn il-fergħat għalhekk ma jistax ikun fih verżjoni rranġata regolari. Ippjana l-bidla għal fergħa appoġġata.
Il-varjant apache huwa iktar riskjuż minn fpm?
Il-varjant apache iħaddem PHP bħala modulu Apache, jiġifieri mod_php. Din il-modalità tikklassifikaha t-tim ta' PHP bħala l-ogħla f'PHP2Shell. Iż-żewġ varjanti jeħtieġu l-aġġornament; f'mod_php l-urġenza hija partikolarment kbira.