Základy zabezpečení serveru SQL
SQL databázový server je stejně jako ostatní databázové servery klíčovým aktivem ve většině organizací. Mnoho úniků dat, ke kterým dnes dochází, lze vysledovat na špatně zabezpečené databázové servery
Bez správných bezpečnostních opatření může databáze snadno sloužit jako brána pro kybernetické útoky. Jediný čin nedbalosti může ohrozit bezpečnost a zabezpečení databáze SQL vaší organizace. Útočníci mohou vkládat škodlivé kódy a ohrozit integritu, důvěrnost a dostupnost databáze.
Implementace správných bezpečnostních opatření povede k ochraně vašich databázových serverů a minimalizaci vašeho vystavení obchodním a bezpečnostním rizikům. Tento článek popisuje některé základní základy zabezpečení SQL Server a osvědčené postupy, včetně některých nejlepších nástrojů pro správu zabezpečení a výkonu SQL Server.
Fyzická bezpečnost
Bez řádného fyzického zabezpečení nelze zcela dosáhnout informační bezpečnosti. Fyzické zabezpečení by mělo být první linií obrany a musí zahrnovat prevenci neoprávněného přístupu k zařízení, kde je hostován SQL Server. Fyzická bezpečnost se zabývá řízením přístupu k objektům a personálu, mechanismy vnější ochrany hranic, detekcí narušení a nápravnými opatřeními. Chrání váš majetek mimo jiné před vetřelci, krádeží, hrozbami životního prostředí, fyzickým poškozením.
Fyzická bezpečnost by měla být realizována pomocí přístupu vrstvené obrany. Myšlenka je taková, že pokud útočník prolomí jednu kontrolní vrstvu, bude mu v cestě stát mnoho dalších, než získá plný přístup. Jakékoli narušení fyzického zabezpečení vašeho databázového serveru může vést ke ztrátě produktivity, reputace a důvěry zákazníků.
Chcete-li zvýšit fyzické zabezpečení serveru SQL Server, společnost Microsoft doporučuje provést následující:
- Umístěte server do místnosti přístupné pouze oprávněným osobám.
- Umístěte počítače s databází na fyzicky chráněné místo, ideálně do uzamčené počítačové místnosti s monitorovanou detekcí záplav a detekcí nebo potlačením požáru.
- Nainstalujte databáze do zabezpečené zóny podnikového intranetu a nepřipojujte své SQL servery přímo k Internetu.
- Pravidelně zálohujte všechna data a zabezpečte zálohy na místě mimo pracoviště.
Zabezpečení sítě
Zabezpečení sítě se týká ochrany základní síťové infrastruktury vašeho databázového serveru před neoprávněným přístupem. Kombinuje více vrstev ochrany, které implementují zásady a kontroly na okraji sítě a v síti. Oprávnění uživatelé získávají přístup k databázi přes síť, zatímco neoprávněným uživatelům je přístup odepřen. Síťová infrastruktura navržená s ohledem na zabezpečení kolem vašeho databázového serveru chrání databázi před ztrátami, ke kterým dochází v důsledku incidentů zabezpečení sítě.
Implementace zabezpečení sítě začíná tím, že zabráníte neoprávněným uživatelům mimo síť. Zde vstupují do hry síťové firewally. Firewally hrají důležitou roli v zabezpečení aplikace SQL Server. Umístěním databáze za firewall vytvoříte další vrstvu zabezpečení, která zabrání tomu, aby se na váš server dostal škodlivý provoz. Firewally mohou také pomoci zabránit škodlivému odchozímu provozu, jako je exfiltrace dat.
Brány firewall budou nejúčinnější, pokud budete dodržovat následující doporučené pokyny od společnosti Microsoft:
- Mezi server a internet umístěte firewall. Povolte firewall. Pokud je váš firewall vypnutý, zapněte jej. Pokud je váš firewall zapnutý, nevypínejte ho.
- Rozdělte síť na bezpečnostní zóny oddělené firewally. Zablokujte veškerý provoz a poté selektivně připouštějte pouze to, co je požadováno.
- Ve vícevrstvém prostředí použijte k vytvoření kontrolovaných podsítí více bran firewall.
- Když instalujete server do domény Windows, nakonfigurujte vnitřní brány firewall tak, aby umožňovaly ověřování systému Windows.
- Pokud vaše aplikace používá distribuované transakce, možná budete muset nakonfigurovat bránu firewall tak, aby umožňovala tok provozu koordinátora Microsoft Distributed Transaction Coordinator (MS DTC) mezi samostatnými instancemi MS DTC. Budete také muset nakonfigurovat bránu firewall tak, aby umožňovala tok provozu mezi MS DTC a správci prostředků, jako je SQL Server.
- Zakažte všechny nepotřebné porty a protokoly včetně NetBIOS a Server Message Block na vašem serveru SQL Server, webových serverech a systému DNS (Domain Name System), abyste snížili povrch útoku. Povolte pouze protokoly a porty, které jsou nezbytné pro fungování serveru SQL, jako je TCP 1433 (databázový stroj), 2383 (analytické služby), 4022 (zprostředkovatel služeb) a UDP 1343 (přístup prohlížeče).
Zabezpečení aplikací a dat
Microsoft SQL Server poskytuje několik vestavěných funkcí, které umožňují zabezpečení aplikace a dat v ní obsažených. Správce databáze může tyto funkce využít nebo podle potřeby použít další bezpečnostní opatření k řešení bezpečnostních potřeb aplikace SQL a dat.
Některá z dodatečných bezpečnostních opatření mohou mimo jiné zahrnovat:
- Ochrana proti SQL a dalším útokům typu Injection Jak název napovídá, SQL injection je útok, při kterém je škodlivý kód nebo příkazy vkládány do řetězců dotazu. Tyto příkazy mohou poškodit nebo poškodit databázi nebo být použity k exfiltraci citlivých dat. Útoky SQL injection můžete zmařit dezinfekcí všech databázových vstupů, abyste zajistili, že neobsahují znaky, které lze použít ke spuštění kódu. Nejlepší je používat uložené procedury a parametrizované příkazy a zároveň se vyhýbat dynamickému SQL a omezovat oprávnění pro všechny uživatele. Musíte se také chránit před útoky vložení řetězce připojení, ke kterým dochází během přihlášení k serveru SQL Server. Pokud není v přihlašovacím řetězci SQL Server zkontrolován platný pár klíčových slov, může útočník přidat další znaky, které mohou na serveru provádět neoprávněné akce. Toto riziko můžete zmírnit pomocí nástroje SqlConnectionStringBuilder k vytvoření a ověření připojovacích řetězců za běhu nebo použít bezpečnější ověřování systému Windows, kdykoli je to možné.
- Využití podrobných chyb SQL Server generuje všechny druhy protokolů, jako jsou mimo jiné protokoly chyb, protokoly systémových událostí, data čítače výkonu. Musíte najít způsob, jak zajistit, aby se tyto chyby nedostaly do nesprávných rukou. V opačném případě jej mohou útočníci použít k identifikaci inherentních zranitelností, které mohou chtít zneužít. Ujistěte se, že veškerý procedurální kód používá zpracování chyb, abyste zabránili tomu, aby se tyto výchozí chybové zprávy SQL Server dostaly k uživateli.
- Útoky na eskalaci privilegií K těmto útokům dochází, když uživatelé nějakým způsobem převezmou oprávnění důvěryhodného účtu, jako je vlastník účtu nebo správce. To jim umožňuje získat neoprávněný přístup k datům a databázovým funkcím. Chcete-li toto riziko zmírnit, vždy spouštějte uživatele jako účty s nejméně privilegovanými oprávněními, přidělujte jim pouze potřebná oprávnění a zablokujte možnost spouštět kód z účtů správce nebo vlastníka. To omezuje množství poškození, které může nastat v případě úspěchu útoku. Pokud uživatel vyžaduje zvláštní oprávnění k provedení úlohy, použijte certifikáty k podepisování uložených procedur nebo zosobnění pouze po dobu trvání úlohy.
- Distribuované útoky odmítnutí služby (DDoS). Produkční databáze SQL Server mohou být vystaveny útokům DDoS, při kterých útočníci zahlcují databázi falešnými dotazy, zpomalují výkon legitimních uživatelů a v konečném důsledku mají za následek prostoje. Pokud provozujete SQL Server v cloudu, můžete využít služby ochrany DDoS, které dokážou zachytit a odvést škodlivý provoz mimo vaši databázi.
Doporučené postupy zabezpečení serveru SQL Server
Níže jsou uvedeny některé klíčové osvědčené postupy zabezpečení serveru SQL Server, které mohou zvýšit zabezpečení vaší databáze SQL:
- Pravidelně zálohujte Potřebu pravidelného zálohování databáze nelze příliš zdůrazňovat. Zálohy chrání dostupnost dat a zajišťují, že vaše databáze zůstane odolná vůči narušení dat, ransomwaru nebo útokům typu Denial of Service. Zvažte investici do dobrého řešení zálohování SQL Server jako součást vaší bezpečnostní strategie. To vám poskytuje záchranné lano pro obnovení kritických dat v případě útoku.
- Pravidelné bezpečnostní audity Bezpečnostní audity jsou regulačním požadavkem pro většinu průmyslových odvětví. Kromě toho však audity zabezpečení serveru SQL Server pomáhají předcházet potenciálním útokům a udržovat zdravou databázi SQL. Úsilí by mělo být zaměřeno na identifikaci chybějících databázových objektů, opakovaných chyb přihlášení k serveru a změn oprávnění nebo konfigurace. Společnost Microsoft poskytuje vestavěný nástroj s názvem SQL Server Audit, který lze použít k vytváření auditů na úrovni serveru a databáze.
- Dodržujte zásadu nejmenšího privilegia Jedná se o osvědčený princip, který pomáhá snížit vystavení vašeho majetku riziku. Plánem je udělit službám a uživatelům SQL Server pouze příslušná práva potřebná k provedení úkolu a nic víc. U účtů služeb spouštějte a přiřazujte služby SQL Server pomocí nejnižších možných oprávnění a oprávnění.
- Mějte zásady silného hesla Nastavení silného hesla nebo nejlépe přístupové fráze, kterou je těžké uhodnout, je zásadní pro zabezpečení vaší databáze. Zvažte použití ověřování Kerberos, ověřování systému Windows pro připojení k serveru SQL Server a správce hesel pro lepší správu hesel.
- Pravidelně používejte aktualizace Důležitost pravidelných aktualizací nelze přehnaně zdůrazňovat. Aktualizace OS a SQL Server obsahují důležitá vylepšení zabezpečení, která udržují stav a zabezpečení vaší databáze. Otestujte tyto aktualizace a aplikujte je na svůj produkční server co nejdříve.
- Použijte šifrování Vestavěný šifrovací protokol SSL/TLS a Windows Data Protection API (DPAPI) umožňují šifrování dat při přenosu a dat v klidu. To chrání důvěrnost vaší databáze.
- Použijte nástroje SQL Monitoring Tools Nástroje pro monitorování SQL poskytují automatizované prostředky pro správu zabezpečení a výkonu vašeho databázového serveru. Nástroj by měl být schopen skenovat a zjišťovat změny nastavení serveru.
Nejlepší nástroje pro zabezpečení serveru SQL
Několik nástrojů na trhu může automatizovat správu zabezpečení a výkonu vašeho SQL Serveru. Níže je uveden přehled některých nejlepších nástrojů pro správu zabezpečení a výkonu SQL Serveru. Doufejme, že vás to povede v procesu výběru správného řešení pro vaši firmu.
1. Správce událostí zabezpečení SolarWinds (ZKUŠEBNÍ ZKOUŠKA ZDARMA)
SolarWinds Security Event Manager (SEM)umožňuje správcům databází monitorovat protokoly serveru, sledovat chybovost databáze, auditovat přihlášení uživatelů SQL, udržovat zabezpečení SQL Serveru a detekovat kybernetické útoky. Pomocí SEM můžete sledovat, hlásit a upozorňovat na konkrétní události provedené proti databázi SQL, které mohou signalizovat potenciální hrozby, a generovat zprávy protokolu auditu serveru SQL Server pro účely dodržování předpisů. SEM poskytuje předpřipravená pravidla korelace událostí, která studují databázové transakce, odhalují známé hrozby a sledují škodlivé a nedůvěryhodné aktivity.
SEM podporuje různé protokoly a aplikace pro hodnocení zabezpečení, které vám pomohou bránit se útokům SQL injection a udržovat zabezpečenou databázi. SEM využívá svá předem vytvořená pravidla pro vkládání SQL a upozornění, abyste byli informováni. Dokáže detekovat a deaktivovat uživatele se zlými úmysly a procesy, stejně jako provádět další automatizované reakce na hrozby, které pomáhají zabezpečit vaši databázi, když jsou detekovány indikátory SQL injection. Bezplatná zkušební verze je k dispozici ke stažení, takže můžete určit, zda je pro vaši firmu vhodná.
Snaž seSolarWinds Security Event Manager (SEM)s plně funkční 30denní bezplatnou zkušební verzí.
SolarWinds Security Event Manager (SEM) Stáhněte si 30denní zkušební verzi ZDARMA
2. Paessler PRTG Network Monitor (ZKUŠEBNÍ ZKOUŠKA ZDARMA)
Paessler PRTGje nástroj pro monitorování sítě bez agenta, který vám umožní sledovat vaši síť, směrovače, přepínače a servery. Pomocí PRTG můžete měřit čas, který SQL dotaz potřebuje pro celý svůj požadavek, včetně navázání spojení, provedení dotazu, zpracování transakce a ukončení spojení, což vše lze vizualizovat na přístrojová deska PRTG. Model licencování PRTG je založen na senzorech (parametrech, které lze monitorovat na zařízení, jako je zatížení procesoru, stav portu nebo síťový provoz); a je dodáván s předem nakonfigurovanými senzory pro všechny hlavní databáze. Pro Microsoft SQL nabízí PRTG Microsoft SQL v2 Sensor, který sleduje dobu odezvy celého požadavku i dobu odezvy individuálně definovaného dotazu.
PRTG přichází v různých edicích a variantách, jako jsou:
- PRTG Enterprise Monitor – cílený na velké sítě s tisíci zařízeními a systémy na více místech.
- Hostovaný monitor PRTG—acloudová možnostkterý vám umožní sledovat z cloudu
- PRTG Desktop — umožňuje spravovat více serverů PRTG.
- PRTG Mobile App—umožňuje kontrolovat vaši síť, zařízení a senzory na cestách.
Abezplatná 30denní zkušební verzes plným přístupem ke všem funkcím je k dispozici ke stažení.
Paessler PRTG Start 30denní zkušební verze ZDARMA
3. Microsoft Defender pro SQL
Microsoft Defender pro SQLje bezpečnostní nástroj SQL Server, který pomáhá detekovat a zmírňovat potenciální zranitelnosti SQL databáze a neobvyklé aktivity, které představují hrozbu pro vaši databázi.
Microsoft Defender pro SQL obsahuje dva samostatné plány Microsoft Defender:
- Microsoft Defender pro databázové servery Azure SQL: Tento plán je navržený k ochraně databáze Azure SQL, spravované instance Azure SQL a vyhrazeného fondu SQL v Azure synapse.
- Microsoft Defender pro SQL Servery na počítačích: Tento plán rozšiřuje ochranu pro vaše Azure nativní SQL Servery tak, aby plně podporovaly hybridní prostředí a chránily SQL Servery hostované v Azure a dalších cloudových prostředích a dokonce i na místních počítačích: včetně SQL Serveru na virtuálních počítačích. a místní servery SQL:
Tyto plány můžete povolit na úrovni předplatného (od Microsoft Defender pro cloud nebo prostřednictvím REST API, Azure CLI, PowerShell nebo Azure Policy), nebo můžete povolit na úrovni prostředků. Když povolíte některý z těchto plánů, budou chráněny všechny podporované prostředky, které existují v rámci předplatného (včetně budoucích prostředků vytvořených ve stejném předplatném).
4. Datadog
Datadog je služba monitorování místní a cloudové infrastruktury založená na agentech pro cloudové aplikace, servery, databáze, nástroje a služby. Datadog používá svou službu automatického zjišťování k prozkoumání a identifikaci aplikací, zařízení a serverů ve vaší síti. Jakmile jsou všechna zařízení a odkazy identifikovány, můžete si prohlédnout veškerou aktivitu z řídicího panelu Datadog a automaticky zjistit jakékoli změny v síti.
Datadog poskytuje komplexní přehled o stavu a výkonu vašich instancí SQL Server. Poskytuje nástroje a klíčové metriky pro monitorování SQL Serveru, včetně dvou hotových dashboardů pro SQL Server:
- Obrazovka, která vám poskytuje přehled o vašich instancích SQL Server v reálném čase.
- Časový plán, který se dobře hodí pro korelaci metrik SQL Serveru se systémovými metrikami a událostmi.
A bezplatná 14denní zkušební verze s plným přístupem ke všem funkcím je k dispozici ke stažení. Poté je software obecně prodáván prostřednictvím měsíčních plánů předplatného na základě hostitelů, událostí nebo protokolů
5. Správce aplikací ManageEngine (APM)
APMje řešení pro monitorování výkonu aplikací a serverů bez agentů, které organizacím pomáhá zajistit optimální výkon jejich kriticky důležitých aplikací, jako jsou SQL Servery, ve fyzických, virtuálních a cloudových prostředích. APM nabízí okamžité zjišťování, dostupnost, sledování stavu a výkonu a vytváření sestav SQL serverů a dalších aplikací.
S APM mohou správci databází získat přehled o aplikacích SQL, sledovat využití zdrojů, optimalizovat výkon serverů SQL, předcházet výskytu chyb a udržovat celkový stav databázové aplikace.
ManageEngine APM je k dispozici v následujících edicích:
- Bezplatná edice Poskytuje většinu funkcí edice Professional s několika omezeními a podporuje až 5 monitorů.
- Verze Professional: Zahrnuje funkce monitorování, upozorňování a hlášení a zaměřuje se na malé a střední podniky, které chtějí monitorovat až 500 aplikací podle zatížení.
- Enterprise Edition: Zahrnuje veškerou edici Professional + funkce distribuovaného monitorování a převzetí služeb při selhání a zaměřuje se na velké podniky, které chtějí monitorovat 500 nebo více aplikací.
A 30denní bezplatná zkušební verze je k dispozici ke stažení. Během instalace si můžete vybrat edici Professional nebo Enterprise.