Hooldus Drupal PHP Turvalisus

Drupali PHP-versioon ja majutuse nõuded

🎧 Kuula kõiki artikleid järjest

Veebileht võib väliselt töötada täiesti normaalselt, kuigi server kasutab aegunud PHP-versiooni. See risk tuleb nähtavaks teha enne Drupali uuendust, PHP-versiooni vahetust või majutuse kolimist.

Drupal sõltub PHP-st

Drupal on ehitatud PHP programmeerimiskeelele. Drupali rakenduskood, vormide töötlemine, sisselogimine ja dünaamilise sisu kuvamine sõltuvad PHP-st.

Seetõttu ei sõltu veebilehe turvalisus ja töökindlus ainult Drupali tuumast või kasutatavatest moodulitest. Sama oluline on serveri PHP-versioon.

Kui PHP ametlik tugi lõpeb, ei saa see enam turvaparandusi ega veaparandusi. Sellisel juhul võib veebileht küll jätkuvalt töötada, kuid selle tehniline risk suureneb märgatavalt.

Probleem ei pruugi olla nähtav täna. Sageli ilmneb see alles siis, kui:

  • on vaja teha Drupali versiooniuuendus;
  • mõni moodul nõuab uuemat PHP-versiooni;
  • avastatakse uus turvahaavatavus;
  • serverit on vaja migreerida uude keskkonda.

Kui valid uut keskkonda, alusta laiemast Drupali majutuse nõuete kontrollnimekirjast. See artikkel keskendub PHP-ga seotud kontrollidele, mis takistavad sageli Drupali uuendusi.

Miks PHP elutsükkel oluline on?

Igal PHP-versioonil on piiratud eluiga.

Elutsükkel koosneb tavaliselt kahest etapist:

  1. aktiivne tugi, kus lisatakse uusi funktsioone ja parandatakse vigu;
  2. turvatugi, kus avaldatakse vajaduse korral turvaparandusi.

Pärast toe lõppu ei avaldata enam ühtegi ametlikku parandust.

See tähendab, et kui leitakse uus turvaviga, jääb see vanades versioonides parandamata.

Praktikas tähendab aegunud PHP-versioon:

  • kõrgemat turvariski;
  • piiratud ühilduvust uute moodulitega;
  • keerulisemaid Drupali uuendusi;
  • suuremat sõltuvust vanast infrastruktuurist.

Mida Drupali majutuse juures kontrollida?

Drupali hoolduse või auditi käigus tasub üle vaadata nii veebileht kui ka selle serverikeskkond.

Olulised küsimused on:

  • Milline PHP-versioon on kasutusel?
  • Kas majutusteenus võimaldab PHP-versiooni vahetada?
  • Kas Composer töötab samas keskkonnas?
  • Kas käsurea PHP ja veebiserveri PHP kasutavad sama versiooni?
  • Kas olemas on testkeskkond?
  • Kas varukoopiaid saab ka taastada, mitte ainult alla laadida?
  • Kas logidele on ligipääs olemas?

Need küsimused võivad tunduda tehnilised, kuid nende puudumine muudab ka lihtsad uuendused keeruliseks.

Kuidas vana PHP uuendusi takistab?

Üks sagedasemaid probleeme tekib siis, kui Drupal vajab uuemat PHP-versiooni, kuid server seda ei toeta.

Näiteks:

  • näiteks Drupal 11-le uuendamine nõuab vähemalt PHP 8.3;
  • server toetab ainult PHP 8.0;
  • majutusteenus ei võimalda versiooni vahetada.

Sellises olukorras ei ole probleem Drupalis, vaid majutuskeskkonnas.

Samuti esineb olukordi, kus:

  • Composer kasutab üht PHP-versiooni;
  • veebiserver kasutab teist PHP-versiooni.

Tulemuseks on raskesti diagnoositavad vead, kus uuendused õnnestuvad käsureal, kuid veebileht lõpetab töö või vastupidi.

Sellised keskkonnad on sageli aastate jooksul kujunenud ilma dokumentatsioonita ning muudavad hoolduse oluliselt kallimaks.

Milline on hea Drupali majutus?

Hea Drupali majutus ei tähenda ainult kiiret serverit.

Olulisemad omadused on:

Kaasaegne PHP tugi

PHP-versiooni peab saama uuendada ilma serverit ümber ehitamata.

Ligipääs logidele

Veateadete nägemine kiirendab probleemide lahendamist oluliselt.

Composeri tugi

Tänapäevane Drupal eeldab Composeri kasutamist. Kui majutus seda ei võimalda, muutuvad uuendused keerulisemaks.

Testkeskkond

Kõik suuremad muudatused peaks olema võimalik enne avalikku keskkonda läbi testida.

Varukoopiad

Varukoopia väärtus ei seisne selle olemasolus, vaid selles, kui kiiresti on võimalik süsteem taastada.

Automatiseeritud hooldusprotsessid

Jälgimine, logimine ja regulaarne varundamine vähendavad operatiivseid riske.

Mida teha enne PHP-versiooni uuendamist?

PHP-versiooni ei tasu kunagi vahetada otse tootmiskeskkonnas ilma ettevalmistuseta.

Soovitatav protsess on:

  1. luua täielik varukoopia;
  2. teha muudatus testkeskkonnas;
  3. uuendada PHP-versioon;
  4. kontrollida peamisi funktsioone;
  5. testida vorme, integratsioone ja taustatöid;
  6. viia muudatus tootmiskeskkonda.

Selline lähenemine võimaldab probleemid avastada enne, kui need mõjutavad kasutajaid.

Kuidas aru saada, kas server vajab tähelepanu?

Paljud organisatsioonid ei tea täpselt:

  • millist PHP-versiooni nende veeb kasutab;
  • kas see on veel toetatud;
  • kas Drupali järgmine versioon sellega töötab.

See on üks esimesi asju, mida tasub kontrollida enne suuremaid arendus- või hooldustöid.

Kui WebPro võtab Drupali saidi hooldusse, vaatame serverikeskkonna üle osana Drupali hooldusest. Vajadusel aitab ka tehniline audit selgitada, kas probleem peitub Drupalis, moodulites või hoopis majutuskeskkonnas.

Uue majutaja valikul loeb ka piirkond. USA kliendile võib sobida Põhja-Ameerika Drupali platvorm, Euroopa kliendile aga andmete asukoha ja hanketingimustega paremini sobiv EL-i lahendus. Pakkujaid tasub võrrelda alles pärast tehniliste nõuete kontrolli.

Kokkuvõte

Drupali turvalisus ei sõltu ainult Drupali tuumast ja moodulitest. Sama olulised on serveri tehniline seisukord ning kasutatav PHP-versioon.

Aegunud PHP võib:

  • suurendada turvariske;
  • takistada uuendusi;
  • põhjustada ühilduvusprobleeme;
  • muuta hoolduse kallimaks.

Veebileht võib väliselt töötada laitmatult, kuid kui selle tehniline alus on vananenud, muutub iga järgmine uuendus keerulisemaks. Seetõttu tasub PHP-versiooni ja majutuskeskkonda kontrollida regulaarselt, mitte alles siis, kui midagi katki läheb.

Kaido Toomingas, WebPro tehniline juhtWebPro Company OÜ Tehniline juht: Kaido Toomingas

Vajad Drupal abi?

Kui artikkel puudutab sinu olukorda, ei pea kõike lõpuni lugema. Sinuga suhtleb päris inimene ja aitab järgmise sammuni jõuda.