Bezpečnost a zálohování databází

Proč je bezpečnost a zálohování databází kritické

Databáze jsou srdcem informačních systémů. Každý jejich výpadek či kompromitace může znamenat ztrátu tržeb, reputace i právní důsledky. Cílem je zajistit důvěrnost, integritu, dostupnost a auditovatelnost (CIAA) dat v běžném provozu i při incidentech. Základem je kombinace bezpečnostní architektury, strategie zálohování a obnovy a pravidelného testování.

Hrozby a model rizik

  • Externí útoky: SQL injection, zneužití zranitelností, síťové útoky, ransomware.
  • Interní rizika: nadměrná oprávnění, chybné konfigurace, lidské chyby, insider threat.
  • Provozní události: selhání hardwaru, korupce dat, neúmyslné smazání, chybné skripty migrací.
  • Environmentální a regionální: výpadky napájení, požáry, povodně, selhání regionu cloudu.

Architektonické principy bezpečnosti

  • Zero Trust: žádná implicitní důvěra; autentizace a autorizace pro každou operaci, segmentace přístupu.
  • Princip nejmenších oprávnění: minimální nutná oprávnění, oddělení rolí (DBA, vývoj, provoz, auditoři).
  • Defense in Depth: vrstvená ochrana od sítě přes aplikaci až po data a klíče.
  • Secure by Default: bezpečné výchozí konfigurace, deaktivace nepoužívaných služeb a rozšíření.

Řízení identit a přístupů (IAM)

  • Silná autentizace: MFA pro administrátory a přístupové servery; krátkodobé přístupové tokeny místo statických hesel.
  • Role a politiky: RBAC/ABAC, jemnozrnná privilegia (např. read-only repliky pro reporting).
  • Just-In-Time (JIT) přístup: dočasné zvyšování oprávnění s auditní stopou a schválením.
  • Federace: SSO přes OIDC/SAML do nástrojů správy DB, jednotné zrušení přístupů (offboarding).

Síťová bezpečnost a segmentace

  • Oddělení zón: databázová vrstva v privátní síti bez přímého přístupu z internetu.
  • Allow-listing: přístup pouze z aplikačních podsítí a bastion hostů; security groups/NSG.
  • Šifrované tunely: TLS, mTLS, IPsec; zákaz přenosu v prostém textu i uvnitř datacentra.
  • Ochrana proti skenování: firewall, WAF (na aplikační vrstvě), omezení rychlosti (rate limiting), port knocking (kde dává smysl).

Šifrování a správa klíčů

  • Šifrování přenosu: TLS 1.2+ (případně 1.3), moderní šifrovací sady, HSTS na proxy, mTLS pro interní služby.
  • Šifrování dat v klidu: TDE (Transparent Data Encryption), šifrované tablespace, šifrované zálohy, šifrované snapshoty.
  • KMS/HSM: centrální správa klíčů, rotace klíčů, oddělení oprávnění „key admins“ a „data admins“.
  • Správa tajemství: trezory (Vault, KMS Secrets), krátká životnost přihlašovacích údajů, žádná implementace do kódu/CI.

Audit, logging a detekce anomálií

  • Auditní logy: přihlášení, změny schémat, DDL/DCL, citlivé SELECT/UPDATE/DELETE; neměnitelné úložiště (WORM).
  • Integrace SIEM/SOAR: korelace událostí, upozornění, automatizované playbooky reakcí.
  • Detekce anomálií: neobvyklé dotazy, objemy exportů, přístupy mimo pracovní dobu, geografické odchylky.

Konfigurační hygiena a zranitelnosti

  • Hardening: deaktivace výchozích účtů, omezení xp_cmdshell/udf, omezení rozšíření, bezpečné parametry (např. local_infile=OFF).
  • Patching: pravidelné bezpečnostní záplaty DB enginu i OS; rolling aktualizace v HA clusterech.
  • Řízení změn: migrace přes migrační nástroje, code review, canary nasazení, plány obnovy (rollback).

Ochrana proti SQL injection a logickým útokům

  • Parametrizované dotazy a nejlepší postupy ORM.
  • Whitelist přístupů k procedurám a pohledům; minimalizace přímých DML oprávnění.
  • Validace vstupů v aplikační vrstvě, WAF pravidla pro typické payloady.

Strategie zálohování: cíle RPO/RTO a vrstvy ochrany

Definujte RPO (maximální ztráta dat) a RTO (maximální doba obnovy) pro jednotlivé systémy. Na jejich základě navrhněte kombinaci metod a vrstev:

  • 3–2–1 pravidlo: 3 kopie, 2 různá média, 1 kopie mimo lokalitu (off-site/offline/immutable).
  • Full / Differential / Incremental: kombinace pro zkrácení zálohovacích oken a rychlou obnovu.
  • PITR (Point-in-Time Recovery): archivace WAL/redo logů/transakčních logů.
  • Immutable a air-gapped zálohy: ochrana proti ransomware a insider threat.

Typy záloh a konzistence

  • Logické zálohy: dump/export (např. pg_dump, mysqldump) – přenosné, ale pomalejší obnova, nutná pozornost ke konzistenci.
  • Fyzické zálohy: kopie datových souborů, snapshoty LVM/ZFS/cloud, rychlá obnova celé instance.
  • Hot/Warm/Cold zálohy: online vs. s omezeným provozem; vždy zajistit aplikativní konzistenci (quiesce, fsfreeze, pre-/post-skripty).
  • Test obnovy: pravidelné restore drills do izolovaného prostředí s ověřením integrity (checksums) a funkčních testů.

Replikace vs. záloha: rozdíl a komplementarita

  • Replikace: vysoká dostupnost a škálování čtení, ale chyby a smazání se rychle replikují – nenahrazuje zálohy.
  • Záloha: historická ochrana a možnost návratu v čase; doplňuje HA/DR architektury.

Plán obnovy po havárii (DR) a scénáře

  • DR runbook: kontakty, odpovědnosti, pořadí kroků, přístupové klíče, šablony rozhodnutí (go/no-go).
  • Regionální DR: asynchronní replikace do jiné zóny/regionu, pravidelný failover test.
  • Částečná obnova: obnova konkrétního schématu/tabulky (tablespace restore) bez přerušení celého systému, je-li podporováno.

Šifrované zálohy a ochrana metadat

  • Encryption-at-rest pro zálohy, oddělená správa klíčů (KMS/HSM), rotace a přístup na principu need-to-know.
  • Integrita záloh: podpisy, checksums, tamper-evident úložiště.
  • Maskování a tokenizace pro neprodukční obnovy (vývoj/test) – ochrana PII a soulad s předpisy.

Retenční politika a právní požadavky

  • Retention: diferencované retenční lhůty dle kritičnosti a regulace (např. účetnictví, zdravotnictví).
  • Right-to-be-forgotten: procesy pro selektivní výmaz v zálohách (např. expirační okna, kryptografické mazání klíčů).
  • Auditovatelnost: dokumentace záloh, obnov a testů; dohledatelnost přístupů k zálohám.

Specifika podle typů databází

  • PostgreSQL: base backup + WAL archiving; nástroje pg_basebackup, pgBackRest, Barman; pozor na replication slots a využití disku.
  • MySQL/MariaDB: logické dumpy vs. Percona XtraBackup pro hot fyzické zálohy; binlogy pro PITR.
  • SQL Server: full/diferenční/log zálohy, Always On Availability Groups; šifrování záloh, DBCC CHECKDB.
  • Oracle: RMAN, FRA, Data Guard; TDE, separace klíčů, Flashback pro logické chyby.
  • NoSQL (MongoDB, Cassandra): zálohy per shard/per replika, oplog/commitlog pro PITR; konzistence napříč shardy.

Cloud, DBaaS a multicloud

  • DBaaS snapshoty: ověřte, zda jsou aplikativně konzistentní a zda podporují PITR; nespoléhejte se pouze na poskytovatele.
  • Cross-region zálohy a replikace; pravidelné testy obnov v cílovém regionu.
  • FinOps: náklady na storage vs. RPO/RTO; archivní tier pro dlouhé retenční lhůty.

Automatizace, CI/CD a provozní disciplína

  • Backup-as-Code: infrastrukturní a zálohovací politiky v repozitáři (IaC), peer review.
  • Plánování: okna záloh, škálování workerů, omezení IO; koordinace s ETL a diagnostikou.
  • Monitoring: metriky úspěšnosti záloh, doby trvání, velikosti, míry komprese; alerty na překročení RPO.

Ransomware a odolnost

  • Immutable storage a WORM politiky pro zálohy; oddělený účet/tenant pro zálohovací úložiště.
  • Offline kopie (air-gap) pro kritické systémy; rotace médií.
  • Rychlá obnova: scénáře obnovy na holé železo/nový cluster, předpřipravené AMI/obrazy.

Testování obnovy: jediná „pravá“ metrika

  • Tabletop a technická cvičení: kvartálně simulovat incident, měřit skutečné RTO/RPO, dokumentovat zjištění.
  • Kontrola integrity: po obnově spustit DBCC CHECKDB/ANALYZE, aplikační smoke testy a výkonový baseline.

Checklist bezpečné databáze

  • Segmentovaná síť, žádný veřejný přístup, mTLS/TLS všude.
  • RBAC/ABAC, JIT přístupy, MFA pro administrátory.
  • TDE/šifrované tablespace, šifrované zálohy, rotace klíčů v KMS/HSM.
  • Auditní logy v neměnitelném úložišti, SIEM alerting.
  • Pravidelné patchování DB a OS, hardening konfigurace.
  • Zálohování podle pravidla 3–2–1, PITR, immutable/air-gap kopie, definovaná RPO/RTO.
  • Čtvrtletní test obnovy a DR runbook; dokumentace a školení týmu.
  • Maskování dat při obnově do neprodukčního prostředí, retenční a právní politika.

Nejčastější chyby a jak se jim vyhnout

  1. „Zálohujeme, ale nikdy jsme nezkusili obnovu“ – zavést povinné testy obnovy.
  2. Spoléhání na replikaci místo záloh – kombinovat HA/DR s historickou ochranou.
  3. Výchozí konfigurace a široká oprávnění – audit rolí, politik, vypnutí nepoužívaných funkcí.
  4. Nešifrované zálohy a klíče ve stejném úložišti – oddělit správy a úložiště, zavést KMS.
  5. Chybějící dokumentace – runbooky, kontakty, přístupové cesty, postupy pro splnění právních požadavků.

Závěr

Bezpečnost a zálohování databází není jednorázový projekt, ale nepřetržitý proces integrující architekturu, provoz, správu a pravidelná cvičení. Organizace, které disciplinovaně kombinují vrstvenou bezpečnost, robustní zálohovací politiku a testovanou obnovu, získávají předvídatelnou dostupnost a důvěru v data – základ pro stabilní byznys i inovace.