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 →

open_basedir agus scaradh do gach suíomh

Conas a chuireann tú cosc le open_basedir, úsáideoirí córais ar leith agus linnte PHP-FPM scartha ar bhriseadh isteach ar shuíomh amháin dul i bhfeidhm ar gach suíomh eile ar an bhfreastalaí.

Staid Am léitheoireachta: 6 nóim.Treoracha

Go achomair: Teorannaíonn open_basedir na comhadlanna ar féidir le PHP rochtain a fháil orthu. Ina aonar níl ann ach bac breise. Ní chruthaítear scaradh éifeachtach do gach suíomh ach amháin nuair a oibríonn na cuid eile le chéile: úsáideoir córais ar leith, linn PHP-FPM ar leith, fillteán temp ar leith agus rochtana bunachair sonraí ar leith. Ansin fanann briseadh isteach ar shuíomh amháin teoranta don suíomh sin.

Cén fáth a gcinneann scaradh méid an damáiste tar éis PHP2Shell

Ar a lán freastalaithe ritheann roinnt suíomhanna gréasáin taobh le taobh: suíomh na cuideachta, siopa, seansuíomh feachtais, agus i gcás gníomhaireachtaí go minic dosaen tionscadal cliant. Is minic a roinneann siad úsáideoir córais amháin agus próiseas PHP amháin. Má dhéantar briseadh isteach ar cheann acu, tá na cinn eile go léir ar oscailt.

Déanann PHP2Shell an riosca seo inláimhsithe. Ceadaíonn na leochaileachtaí CVE-2026-109618 agus CVE-2026-109619 cód mailíseach a rith gan logáil isteach, beag beann ar an CMS. De réir tuairiscí meán bhí iarracht ionsaithe ann cheana an 17.10.2026, agus lean na paistí an 21.10. Is é an nuashonrú an réiteach. An dtéann ionsaí sa tréimhse roimhe sin i bhfeidhm ar shuíomh amháin nó ar dheich, áfach, cinneann an scaradh é.

Sa dara leochaileacht go háirithe, tá smaoineamh breise ann: de réir thionscadal PHP, is féidir le staid inmheánach iarratais fanacht in oibrí agus iarratas níos déanaí san oibrí céanna é a úsáid. Cinntíonn linnte scartha do gach suíomh nach roinneann suíomhanna oibrithe ar aon nós.

An rud a dhéanann open_basedir

Le open_basedir socraíonn tú liosta comhadlann. Diúltaíonn feidhmeanna comhad PHP ar nós fopen, include nó file_get_contents ansin rochtain ar gach rud lasmuigh den liosta seo. Ní féidir le script a cuireadh isteach comhaid chumraíochta an tsuímh chomharsanaigh a léamh gan stró dá bhrí sin.

Tá na teorainneacha tábhachtach: tarlaíonn an seiceáil laistigh de PHP. Ní bhíonn cláir a thosaítear lasmuigh de PHP faoina réir, agus is féidir le hearráidí san ateangaire é a sheachaint. Mar sin baineann open_basedir i gcónaí le feidhmeanna córais faoi ghlas, mar a thuairiscítear sa treoir disable_functions a úsáid i gceart, agus thar aon rud eile le scaradh ar leibhéal an chórais oibriúcháin.

Scaradh do gach suíomh i gceithre shraith

Tógann scaradh iontaofa ar roinnt sraitheanna. Gabhann gach ceann an rud nach ndéanann an ceann roimhe sin.

Sraith Beart Éifeacht
Córas oibriúcháin úsáideoir córais ar leith do gach suíomh Níl comhaid suíomhanna eile inléite
Próisis PHP linn PHP-FPM ar leith le soicéad ar leith gan oibrí comhroinnte, socruithe ar leith
Cumraíocht PHP open_basedir, fillteán tmp agus seisiúin ar leith bac breise, gan comhaid shealadacha chomhroinnte
Sonraí úsáideoir bunachair sonraí ar leith le cearta ar a bhunachar féin amháin gan rochtain ar shonraí cliant coimhthíoch

I gcás riachtanas cosanta ard, mar shampla siopaí le próiseáil íocaíochta nó tairseacha le sonraí sláinte, cuirtear coimeádáin nó freastalaithe scartha leis.

open_basedir a chumrú sa linn PHP-FPM

Taispeánann an sampla seo a leanas linn do shuíomh le húsáideoir seite1 ar leith. Oiriúnaigh cosáin agus uimhir an leagain do do chóras.

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

pm = ondemand
pm.max_children = 10

php_admin_value[open_basedir] = /var/www/seite1/:/var/www/seite1-tmp/
php_admin_value[upload_tmp_dir] = /var/www/seite1-tmp/
php_admin_value[sys_temp_dir] = /var/www/seite1-tmp/
php_admin_value[session.save_path] = /var/www/seite1-tmp/sessions
php_admin_value[error_log] = /var/log/php/seite1.error.log
php_admin_flag[session.upload_progress.enabled] = off

Socraíonn an líne dheireanach beart idirthréimhseach PHP2Shell ó php.net ag an am céanna. Ní oibríonn sé ach ón linn, ó php.ini nó ó chumraíocht an fhreastalaí, ní trí ini_set() ná .user.ini. Cruthaíonn tú na fillteáin le cearta oiriúnacha:

sudo useradd --system --home /var/www/seite1 --shell /usr/sbin/nologin seite1
sudo mkdir -p /var/www/seite1-tmp/sessions
sudo chown -R seite1:seite1 /var/www/seite1-tmp
sudo chmod 700 /var/www/seite1-tmp

Conas ba cheart do na cearta sa phríomhchomhadlann ghréasáin a bheith, déanann an treoir Cearta comhad ar an bhfreastalaí gréasáin cur síos air.

An freastalaí gréasáin a cheangal agus an toradh a sheiceáil

In Nginx pointeálann gach suíomh chuig a shoicéad féin. Ar an gcaoi sin ní thagann aon iarratas isteach i linn suíomh eile.

server {
    server_name seite1.example;
    root /var/www/seite1/public;

    location ~ \.php$ {
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_pass unix:/run/php/seite1.sock;
    }
}

Gheobhaidh tú nótaí breise faoin gcomhcheangal seo ag Nginx le PHP-FPM a chosaint. Tar éis an atosaithe seiceálann tú an ritheann na linnte scartha i ndáiríre:

sudo systemctl restart php8.3-fpm
# Ba cheart gach linn a rith faoina húsáideoir féin
ps -eo user,pid,cmd | grep "[p]hp-fpm: pool"

Tástáil ansin gach feidhm den suíomh gréasáin: uaslódálacha, próiseáil íomhánna, taisce, tascanna sceidealaithe. Léiríonn teachtaireachtaí earráide a luann open_basedir restriction sa logchomhad earráide cén cosán atá ar iarraidh fós. Cuir leis cosáin amháin a theastaíonn ón bhfeidhmchlár i ndáiríre, agus ná cuir an córas comhad iomlán leis riamh.

Leid

Ba cheart do ghníomhaireachtaí le go leor suíomhanna cliant cumraíocht an linne a chothabháil mar theimpléad. Ar an gcaoi sin faigheann gach suíomh nua an scaradh go huathoibríoch, seachas é a athfheistiú níos déanaí. Tá cúlra don chás seo ag Comhpháirtí slándála do ghníomhaireachtaí.

Constaicí tipiciúla le linn an aistrithe

Is féidir an t-aistriú go linnte scartha a phleanáil, ach tá roinnt gaiscí athfhillteacha ann. Baineann an ceann is minice le leabharlanna comhroinnte: má tá creat nó fillteán le clófhoirne lasmuigh de chomhadlann an tsuímh, ní mór an cosán sin a ghlacadh isteach in open_basedir le léamh. Is fearr a leithéid de spleáchais a thabhairt isteach sa tionscadal féin.

Is iad seisiúin an dara gaiscí. Má athraíonn an stóráil, logáiltear gach cuairteoir amach uair amháin, agus cailltear ciseáin siopadóireachta reatha. Pleanáil an t-aistriú i bhfuinneog ciúin mar sin agus fógair é go hinmheánach.

Tríú, ritheann tascanna sceidealaithe go minic tríd an líne ordaithe agus mar sin faoi úsáideoir eile ná an suíomh gréasáin. Seiceáil cronjobs agus scuaineanna agus lig dóibh rith faoin úsáideoir nua suímh, seachas sin cruthaítear comhaid le húinéir mícheart nach bhfuil cead ag PHP iad a athrú níos déanaí.

Ar deireadh, ba cheart teorainneacha ar leith le haghaidh próiseas agus cuimhne a bheith ag gach linn. Suíomh a thagann faoi ualach nó a ionsaítear, ní féidir leis na cinn eile a chur ar a nglúine mar sin.

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

  • Faighimid amach cé na suíomhanna a roinneann úsáideoirí, próisis agus bunachair sonraí inniu.
  • Cuirimid úsáideoirí, linnte, fillteáin temp agus rochtana bunachair sonraí ar leith ar bun do gach suíomh, gan na feidhmchláir a athrú.
  • Tástálaimid gach suíomh tar éis an aistrithe agus ceartaímid cosáin atá ar iarraidh go spriocdhírithe.
  • Doiciméadaímid an scaradh mar theimpléad do thionscadail amach anseo.

Conas a oireann sé sin do choincheap iomlán, déanann an tseirbhís Cruatú freastalaí do fhreastalaithe gréasáin PHP cur síos air.

Ceisteanna coitianta

An leor open_basedir chun suíomhanna a scaradh óna chéile?

Ní leor. Is bac breise laistigh de PHP é open_basedir, ní scaradh crua. Ní bhíonn an scaradh iontaofa go dtí go mbíonn úsáideoirí córais agus linnte ar leith ann do gach suíomh, nuair atá riachtanas cosanta níos airde le coimeádáin nó freastalaithe scartha.

Cén fáth nach n-oibríonn uaslódálacha a thuilleadh tar éis open_basedir a shocrú?

De ghnáth tá an fillteán do chomhaid shealadacha ar iarraidh ón liosta. Cruthaigh fillteán tmp ar leith do gach suíomh, cuir isteach in open_basedir é agus socraigh upload_tmp_dir agus sys_temp_dir ar an bhfillteán sin.

An féidir le feidhmchlár open_basedir a chealú é féin?

Ní féidir le feidhmchlár an socrú a dhéanamh níos teoranta le linn ama rite, ní féidir leis é a scaoileadh. Socraigh open_basedir trí php_admin_value sa linn mar sin féin, ionas go bhfuil an luach socraithe go soiléir.

An féidir scaradh a dhéanamh le hóstáil roinnte freisin?

Braitheann sé ar an soláthraí óstála. Scarann a lán tairiscintí cliaint trí úsáideoirí agus próisis PHP ar leith. Fiafraigh conas a cuireadh an scaradh i bhfeidhm, go háirithe nuair a bhíonn roinnt de do shuíomhanna gréasáin i bpacáiste amháin.

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