Většina aplikací na front-endu se spoléhá na back-end databázi (jako jsou MySQL, PostGreSQL atd.), aby získala požadovaná data při plnění svých úkolů. Databáze již nejsou omezené na interní aplikace v místní síti, protože na nich závisí mnoho webových aplikací.
Jak to funguje
Databázové firewally jsou typy firewallů pro webové aplikace, které monitorují databáze a identifikují a chrání proti specifickým útokům, jež většinou usilují o přístup k citlivým informacím uloženým v databázích.
DBF také umožňují monitorovat a kontrolovat veškerý přístup k databázím prostřednictvím protokolů, které spravují. Databázová brána firewall může vytvářet konkrétní zprávy o shodě pro předpisy jako PCI DSS, SOX, GDPR atd.
Databázové firewally obecně představují bezpečnostní hardwarové zařízení/software, který se nasazuje buď v souladu s databázovým serverem (těsně před ním), nebo v blízkosti síťové brány (pokud chrání více databází na více serverech).
Některé databázové servery podporují agenty založené na hostiteli, jež se mohou nainstalovat na samotném databázovém serveru a monitorovat události lokální databáze.
Firewally založené na hardwaru však podporují monitorování hostitele/sítě bez jakéhokoli dalšího zatížení na databázových serverech. Jak hardware, tak softwaroví agenti se mohou nasadit současně.
Jak chrání?
Databázové firewally obsahují sadu předem definovaných a přizpůsobitelných bezpečnostních zásad a mohou identifikovat databázové útoky založené na minulých incidentech/hrozbách nazývaných „podpisy“ (signatures).
Takže vstupní příkazy/dotazy SQL se porovnávají s těmito podpisy, které dodavatelé často aktualizují k identifikaci známých útoků na databázi (mnoho úkolů uvnitř databáze se implementuje jako řada spustitelných příkazů SQL).
Avšak ne všechny útoky na databáze musejí být známé. DBF vytvářejí (nebo se dodávají) se seznamem schválených příkazů/příkazů SQL, které jsou bezpečné (whitelist). Všechny vstupní příkazy se pak porovnávají s tímto schváleným seznamem a pouze ty, které jsou již v seznamu, se odešlou do příslušné databáze.
Databázové firewally mohou také udržovat seznam určitých specifických a potenciálně škodlivých příkazů/příkazů SQL a tyto typy vstupů neumožňují (blacklist).
Některé DBF mohou také identifikovat chyby databáze, operačního systému a protokolu a informují správce, který může podniknout kroky k jejich opravě. Rovněž mohou sledovat reakce databáze (ze serveru DB), aby zablokovaly potenciální únik dat.
Databázové firewally mohou také upozorňovat na podezřelé aktivity namísto okamžitého blokování.
SQL Injection a Buffer Overflow jsou dva běžné typy databázových útoků a databázové firewally mohou takové útoky blokovat. Zcizené či kompromitované přístupy mohou vést k pokusům o hackování databáze, ale protože databázové firewally neustále monitorují nepravidelné činnosti databáze, lze tyto pokusy identifikovat.
Některé DBF mohou hodnotit faktory jako IP adresa, čas, umístění, typ aplikací (zdroj) atd., z nichž vycházejí abnormální požadavky na přístup k databázi. Pak se správce může rozhodnout, zda je blokovat, nebo ne, na základě těchto faktorů.
V dnešní době již probíhá integrace takových bezpečnostních systémů s big daty a do budoucna lze očekávat mnohem sofistikovanější, nestatické bezpečnostní prvky, které zajistí ochranu i před velice sofistikovanými útoky.
Autor pracuje jako security consultant ve společnosti Clico
*** Některé nejlepší postupy pro zabezpečení databáze
- Nepoužívané účty se musí odstranit.
- Dobrou praxí je šifrování obsahu databáze – zejména citlivého obsahu.
- Zaměstnancům a uživatelům se mohou udělit různá oprávnění pro přístup k databázi (například jen pro čtení vs. vložení/odstranění záznamů).
- Přístup privilegovaného uživatele lze ovládat/omezit na určité části databáze.
- V některých situacích by mohlo být lepší umožnit uživatelům aktualizovat databázi prostřednictvím autorizovaných aplikací namísto toho, že by tak činili sami napřímo.
- Uživatelé se mohou ověřovat a autorizovat pomocí serverů LDAP/Radius/Active Directory atd. Jejich individuální přístupové zásady by se mohly omezovat na základě jejich role definované v těchto adresářích.
*** Co by měl dobrý databázový firewall umět
- Hledání citlivých dat – jak něco chránit, když nevíte, co chránit – přednastavené filtry pro známé varianty citlivých dat.
- Hledání DB zranitelnosti – automaticky vyhledat zranitelnosti a špatná nastavení a podle průmyslových standardů DISA STG a CIS jim stanovit příslušné skóre a následně doporučit, co udělat a jak nastavit DB, čímž minimalizovat riziko.
- Monitoring aktivity DB – dokáže udělat audit všech dat, privilegovaných uživatelů atd.
- Maskování citlivých dat – regulace podle předpisů GDPR, PCI DSS apod.
- Hledání rizikových uživatelů a rizikového chování – UEBA, strojové učení...
- Vynucování zásad bezpečnosti a automatické blokování událostí
Tento příspěvek vyšel v Security Worldu 1/2019. Časopis (starší čísla i předplatné těch nadcházejících) si můžete objednat na adrese našeho vydavatelství.