Útoky SQL injection a kompromitované účty jsou dvě nejběžnější techniky, které protivníci používají k získání plného přístupu k citlivým datům uloženým v databázích. I když vzdělávání uživatelů a vývojářů pomohlo, úspěch zůstává omezený. V určitých případech může být oprava kódu aplikace neproveditelná, zejména u zabalených nebo starších aplikací. Firewally webových aplikací (WAF) tvrdí, že zmírňují útoky SQL injection, ale útočník může tyto přístupy porovnávání vzorů obejít. Firewally SQL založené na seznamu povolených a na síti nabízejí silnější zmírnění, ale ne pro místní a šifrovaný provoz. Navíc nemají úplný kontext běhu vyžadovaný pro plnou analýzu SQL dotazů.Vzhledem k vysoké hodnotě dat uložených v databázi potřebujeme SQL firewall, který komplexně skenuje veškerý SQL provoz bez ohledu na to, odkud pochází, bez výjimek. Vynucení závisí na schopnosti firewallu porozumět SQL v jeho plném kontextu. Tento kontext je to, co databáze vytváří při spuštění libovolného příkazu SQL, včetně kroků k vyřešení synonym, názvů objektů nebo dynamicky generovaných názvů a aktuálního uživatelského kontextu. Aby bylo jakékoli zabezpečení praktické, musí firewall v ideálním případě běžet rychlostí drátu a usnadňovat snadnou správu a monitorování nejen jedné databáze, ale i flotily databází.
Integrace SQL Firewallu Oracle Database 23ai
Přesně této výzvy se zhostil tým zabezpečení databází Oracle. Jsme rádi, že můžeme oznámit integraci výkonné brány SQL Firewall přímo do Oracle Database 23ai, která účinně řeší jak útoky SQL injection, tak problémy s kompromitovanými účty.
Nový Oracle SQL Firewall nabízí následující funkce a výhody:
- Oracle SQL Firewall kontroluje všechna příchozí databázová připojení a příkazy SQL, včetně těch z PL/SQL (procedurální rozšíření Oracle na SQL), ať už lokální nebo přes síť, šifrovaný nebo prostý text. Umožňuje pouze výslovně autorizované SQL. U všech ostatních SQL protokoluje problematické příkazy a upozorňuje na porušení. Tento příkaz mohl být útokem typu SQL injection nebo novým příkazem SQL, který autorizovaný uživatel ještě nespustil.
- Zákazníci se mohou rozhodnout, zda chtějí blokovat neautorizované SQL, nebo jej pouze protokolovat, což jim poskytuje flexibilitu při řešení útoků.
- Oracle SQL Firewall vyhodnocuje kompletní SQL a kontext zpracování. Spuštěním uvnitř databázového serveru Oracle firewall snadno zvládne kódování příkazů SQL, synonym, dynamicky generovaných názvů objektů a jakýchkoli příkazů SQL dynamicky generovaných v jednotkách PL/SQL.
- Oracle SQL Firewall spoléhá na seznam povolených autorizovaných příkazů SQL a souvisejících důvěryhodných databázových připojovacích cest, zatímco zbytek blokuje. SQL Firewall trénujete jednoduchým zachycením autorizovaných příkazů SQL pro účet aplikace. Následně firewall detekuje a zabraňuje neoprávněným útokům SQL a potenciálním útokům SQL injection.
- Oracle SQL Firewall může také blokovat připojení nepocházející z důvěryhodných IP adres, uživatelských jmen operačního systému nebo názvů programů. Tato funkce je užitečná, když chcete okamžitě zavést určitou ochranu při vytváření seznamu povolených aplikací. Tato funkce zajišťuje, že jakýkoli přímý přístup k vašim databázím bude pocházet výhradně z důvěryhodných koncových bodů.
Zabudováním Oracle SQL Firewallu do databáze a zefektivněním jeho implementace je výkonová režie Oracle SQL Firewall zanedbatelná, takže je vhodná pro všechny produkční úlohy. Protože Oracle SQL Firewall je uvnitř databáze, nemusíte nasazovat ani spravovat žádné externí komponenty, což výrazně zjednodušuje nasazení.
Obrázek 1 ukazuje, jak Oracle SQL Firewall funguje inline v jádře Oracle Database 23ai a vyhodnocuje každý příchozí příkaz SQL bez ohledu na původ. Oracle SQL Firewall vždy generuje protokol porušení, když zjistí porušení svých pravidel. Můžete však nakonfigurovat bránu SQL Firewall tak, aby povolovala nebo blokovala porušující příkazy SQL.
Správa brány Oracle SQL Firewall
Zásady brány Oracle SQL Firewall fungují na úrovni databázového účtu, ať už jde o účet aplikace nebo přímého uživatele databáze, jako je uživatel pro vytváření sestav nebo správce databáze. Tato flexibilita vám umožňuje postupně budovat úroveň ochrany databáze, počínaje správci databáze nebo účty aplikací.
Oracle SQL Firewall můžete spravovat několika způsoby. Pokud máte samostatnou implementaci a jste zdatní ve správě pomocí příkazů, doporučujeme procedury PL/SQL v balíčku SYS.DBMS_SQL_FIREWALL.
Pokud hledáte správu založenou na uživatelském rozhraní nebo centrální správu více firewallů Oracle SQL, Oracle Data Safe je vaší odpovědí. Pokud již jste zákazníkem Oracle Data Safe a používáte jej pro hodnocení uživatelů a zabezpečení, auditování aktivit, zjišťování citlivých dat a maskování dat, můžete nyní používat stejnou cloudovou službu Data Safe pro správu Oracle SQL Firewall a zachovat si své investice.
Sjednocená konzola Data Safe byla rozšířena o správu brány SQL Firewall. Správci mohou pomocí konzoly shromažďovat aktivity SQL účtů aplikací, sledovat průběh shromažďování, vytvářet zásady brány Oracle SQL Firewall s pravidly seznamu povolených (povolené kontexty, povolené příkazy SQL) ze zachycených aktivit SQL a aktivovat zásady brány SQL Firewall. Když jsou povoleny zásady brány firewall, aplikace Data Safe automaticky shromažďuje protokoly narušení brány firewall z databáze a ukládá je do aplikace Data Safe. Tyto protokoly jsou pak k dispozici pro online analýzu a vytváření sestav napříč vaší databázovou flotilou, jak je znázorněno na obrázku 2.
Pro další automatizaci a integraci můžete použít Data Safe REST API, sady pro vývojáře softwaru (SDK), CLI a Terraform. Můžete také využít větší ekosystém Oracle Cloud Infrastructure (OCI) pro integraci porušení Oracle SQL Firewallu s jeho výstrahami a upozorněními.
Oracle SQL Firewall, který doplňuje špičkové funkce zabezpečení databáze v rámci databáze Oracle pro ověřování, řízení přístupu, šifrování a audit, kontroluje všechny příchozí příkazy SQL a povoluje pouze autorizované příkazy SQL. Řešení Oracle SQL Firewall poskytuje bezkonkurenční zabezpečení a administrativní pohodlí prostřednictvím Data Safe.