Turvalisus Drupal Hooldus

Drupal varukoopia taastetest — miks „varukoopia olemas“ ei piisa

🎧 Kuula kõiki artikleid järjest

Varukoopia väärtus selgub alles siis, kui seda on vaja kasutada. Taastetest aitab veenduda, et kriitilisel hetkel on võimalik veeb päriselt tööle saada.

Varukoopia olemasolu ei tähenda veel turvalisust

Peaaegu kõigil veebidel on mingisugune varunduslahendus.

Hostingupakkuja teeb automaatseid koopiaid, serveris töötab varundusskript või kasutatakse spetsiaalset varundusteenust.

Probleem on selles, et varukoopia olemasolu ei tõesta veel midagi.

Oluline küsimus on:

> Kas seda varukoopiat on võimalik päriselt taastada?

Varukoopia, mida pole kunagi taastatud, on sisuliselt testimata hüpotees.

Alles taastetest näitab, kas kriitilisel hetkel on võimalik veeb tegelikult tööle saada.

Millest Drupal varukoopia koosneb?

Täielik Drupal varukoopia sisaldab vähemalt kahte osa.

Andmebaas

Andmebaasis asuvad:

  • sisu;
  • kasutajad;
  • õigused;
  • konfiguratsioon;
  • vormide andmed;
  • süsteemiseaded.

Ilma andmebaasita ei ole veeb kasutatav.

Failid

Drupal salvestab üleslaetud failid tavaliselt kataloogi:

text
sites/default/files/

Seal asuvad:

  • pildid;
  • dokumendid;
  • meediafailid;
  • ekspordid.

Praktikas unustatakse failide varundamine üllatavalt sageli.

Kood ja konfiguratsioon

Lisaks tasub säilitada:

  • composer.json
  • composer.lock
  • settings.php
  • serverikonfiguratsioon
  • CI/CD konfiguratsioonid

Need ei pruugi olla vajalikud iga taastamise puhul, kuid muudavad süsteemi taastamise märksa lihtsamaks.

Miks taastetesti teha?

Taastetest aitab kontrollida:

  • kas varukoopia on täielik;
  • kas failid on loetavad;
  • kas andmebaas on terve;
  • kui kaua taastamine aega võtab;
  • kas meeskond teab taastamisprotsessi.

Sageli avastatakse probleemid just taastetesti käigus.

Näiteks:

  • andmebaasifail on vigane;
  • failid puuduvad;
  • varukoopiad on liiga vanad;
  • taastamisjuhend puudub;
  • vajalikud ligipääsud pole teada.

Selliseid probleeme on parem avastada kontrollitud olukorras kui päris intsidendi ajal.

Kuidas taastetest välja näeb?

1. Loo eraldi keskkond

Taastetesti ei tehta kunagi tootmiskeskkonnas.

Sobivad näiteks:

  • testkeskkond;
  • arenduskeskkond;
  • ajutine server;
  • kohalik DDEV keskkond.

Eesmärk on taastada veeb võimalikult sarnasesse keskkonda ilma tootmist mõjutamata.

2. Taasta andmebaas

Näiteks:

bash
mysql -u drupal_user -p drupal_db < backup.sql

Taastamise järel kontrollitakse, et:

  • tabelid on olemas;
  • andmed on loetavad;
  • Drupal käivitub.

3. Taasta failid

Näiteks:

bash
tar -xzf files_backup.tar.gz

Kontrolli:

  • kas pildid kuvatakse;
  • kas dokumendid avanevad;
  • kas meedia viited töötavad.

4. Kontrolli kriitilised töövood

Taastatud keskkonnas võiks läbi testida vähemalt:

  • avalehe;
  • sisselogimise;
  • kontaktivormid;
  • otsingu;
  • e-poe ostuprotsessi;
  • olulised integratsioonid.

Kui need töötavad, võib varukoopiat pidada kasutatavaks.

Levinumad probleemid taastamisel

Puuduvad failid

Andmebaas taastub edukalt, kuid:

  • pildid ei avane;
  • dokumendid puuduvad;
  • meedia on katki.

Põhjuseks on tavaliselt puudulik failide varundus.

Vigane andmebaas

Varukoopia loomine katkestati või kettaruum sai otsa.

Tulemuseks on SQL-fail, mida ei saa taastada.

Kood ei vasta andmetele

Andmebaas on uuem kui kood või vastupidi.

Sellisel juhul võib Drupal anda vigu isegi siis, kui taastamine tehniliselt õnnestus.

Taastamine võtab liiga kaua aega

Taastetest näitab sageli ka seda, et organisatsioon ei tea tegelikult, kui kaua taastumine aega võtab.

See on oluline sisend talitluspidevuse planeerimiseks.

Kui sageli taastetesti teha?

Üldine soovitus on vähemalt kord kvartalis.

Lisaks tasub taastetesti teha:

  • pärast suuremaid Drupal uuendusi;
  • pärast infrastruktuuri muudatusi;
  • enne suuremaid migratsioone;
  • pärast varunduslahenduse vahetamist.

Mida kriitilisem süsteem, seda sagedamini tuleks taastamist kontrollida.

Hea varunduse põhimõtted

Kasuta 3-2-1 reeglit

Hoia:

  • vähemalt 3 koopiat;
  • vähemalt 2 erineval andmekandjal;
  • vähemalt 1 koopiat teises asukohas.

Hoia varukoopiad eraldi serveris

Kui tootmisserver kompromiteeritakse või hävib, peavad varukoopiad jääma alles.

Krüpteeri varukoopiad

Varukoopiad sisaldavad sageli:

  • kasutajaandmeid;
  • kontaktandmeid;
  • äriliselt tundlikku teavet.

Need vajavad sama kaitset kui tootmisandmed.

Kontrolli säilitusaegu

Liiga lühike säilitusaeg võib muuta taastamise võimatuks, kui probleem avastatakse alles nädalaid hiljem.

Kokkuvõte

Varukoopia eesmärk ei ole lihtsalt olemas olla.

Selle eesmärk on võimaldada süsteem taastada.

Kui varukoopiat pole kunagi taastatud, ei ole võimalik kindlalt teada, kas see kriitilisel hetkel töötab.

Seetõttu peaks taastetest olema regulaarne osa iga Drupal veebiplatvormi hooldusest.

Varukoopia annab turvatunde. Taastetest annab kindluse.

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.