Turvalisus Drupal Audit

Kuidas aru saada, kas Drupal moodul on risk

🎧 Kuula kõiki artikleid järjest

Drupal moodul võib lahendada probleemi kiiresti, kuid iga lisatud sõltuvus tähendab ka vastutust. Enne paigaldamist tasub hinnata, kas moodul on pikaajaliselt jätkusuutlik.

Miks mooduli kvaliteet oluline on?

Drupal võimaldab lisada tuhandeid valmis mooduleid.

See on üks platvormi suurimaid tugevusi.

Samas tähendab iga uus moodul ka uut sõltuvust:

  • uut koodi;
  • uusi turvariske;
  • uusi uuendusi;
  • uusi võimalikke konflikte.

Probleem ei teki tavaliselt kohe pärast paigaldamist.

Probleem tekib aastaid hiljem, kui Drupal tuleb uuendada või turvapaik paigaldada.

Siis võib selguda, et üks oluline moodul ei ole enam hooldatud ning takistab kogu süsteemi uuendamist.

Esimene kontroll: kas moodulit üldse hooldatakse?

Drupal.org projekti lehel vaata kõigepealt:

  • viimase väljalaske kuupäeva;
  • aktiivsete hooldajate olemasolu;
  • avatud probleemide arvu;
  • viimaseid commit'eid.

Kui moodulit ei ole mitu aastat uuendatud, tasub olla ettevaatlik.

Vanem moodul ei tähenda automaatselt probleemi, kuid see on esimene hoiatusmärk.

Security Advisory Coverage

Üks olulisemaid näitajaid on Security Advisory Coverage.

Drupal.org kuvab projekti juures infot selle kohta, kas moodul kuulub ametliku turvanõuannete programmi alla.

Kui moodul on kaetud:

  • turvaprobleeme jälgitakse;
  • avaldatakse turvauuendusi;
  • kriitilistest vigadest teavitatakse ametlikult.

Kui moodul ei ole kaetud, ei tähenda see tingimata ohtu.

See tähendab aga, et vastutus riski hindamise eest jääb suuremal määral projekti omanikule.

Drupal versioonide tugi

Kontrolli alati:

  • kas moodul toetab sinu praegust Drupal versiooni;
  • kas toetab järgmist versiooni.

Näiteks:

  • Drupal 10 projekt;
  • plaan liikuda Drupal 11 peale.

Kui moodulil puudub Drupal 11 tugi, võib sellest saada migratsiooni blokeerija.

Just sellised moodulid põhjustavad sageli ootamatuid lisakulusid versiooniuuenduste ajal.

Vaata probleemijärjekorda

Issue queue annab sageli parema pildi kui mooduli kirjeldus.

Kontrolli:

  • kas probleemidele vastatakse;
  • kas vead saavad lahendusi;
  • kui aktiivne on kogukond.

Hoiatusmärgid:

  • probleemid seisavad aastaid lahenduseta;
  • hooldajad ei vasta;
  • suur hulk raporteeritud kriitilisi vigu.

Kui palju moodul tegelikult kasutab?

Mõnikord paigaldatakse suur moodul ühe väikese funktsiooni pärast.

Näiteks:

  • sadu ridu konfiguratsiooni;
  • mitu sõltuvust;
  • keeruline andmemudel.

Kui vajad ainult ühte lihtsat funktsiooni, võib väike erilahendus olla mõistlikum.

Iga lisatud moodul suurendab süsteemi keerukust.

Sõltuvused võivad olla suurem risk kui moodul ise

Moodul võib olla hästi hooldatud, kuid sõltuda teistest projektidest.

Kontrolli:

  • Composer sõltuvusi;
  • teisi nõutavaid mooduleid;
  • PHP teeke.

Mõnikord põhjustab probleemi mitte moodul ise, vaid selle sõltuvus, mida enam ei hooldata.

Millal tasub otsida alternatiivi?

Alternatiivi tasub kaaluda siis, kui:

  • moodulil puudub aktiivne hooldaja;
  • viimased uuendused on väga vanad;
  • puudub Drupal 11 tugi;
  • turvanõuannete katvus puudub;
  • probleemijärjekord näitab pikka aega lahendamata vigu.

Mõnikord on mõistlikum:

  • valida teine moodul;
  • teha väike erilahendus;
  • muuta ärinõuet.

Levinud migratsiooniprobleem

Drupal 7 või Drupal 8 projektides kohtame sageli olukorda, kus:

  • sait kasutab 60 moodulit;
  • neist 5–10 on sisuliselt hüljatud;
  • kogu uuendus jääb nende taha kinni.

Sellisel juhul kulub suur osa migratsiooniprojektist mitte Drupal Core uuendamisele, vaid vanade sõltuvuste asendamisele.

Mooduli lisamine on pikaajaline otsus

Moodulit ei tasu hinnata ainult selle järgi, kas see lahendab tänase probleemi.

Oluline küsimus on:

> Kas see moodul on kasutatav ka kolme või viie aasta pärast?

Kui vastus ei ole selge, tasub enne paigaldamist riskid läbi mõelda.

Just selliste küsimuste analüüs on oluline osa Drupal auditist ja versiooniuuenduste planeerimisest.

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.