sql >> Databáze >  >> RDS >> Sqlserver

Pochopení uzamčení SQL Serveru na zabezpečené databázové prostředí

Bezpečnost je dnes hlavním zájmem v každém odvětví. Zabezpečení databáze je také velkou starostí pro každého zákazníka. SQL Server je navržen tak, aby zabezpečil všechna vaše data uložená v databázích, ale někdy se nám nepodaří použít správnou sadu konfigurací a v našem systému zanecháme díru. Hackeři a neoprávnění mimozemšťané mohou tyto mezery využít k proniknutí do vašeho systému. Vaše data mohou být kompromitována nebo zfalšována, vaše systémové prostředky mohou být smazány, aby došlo k výpadku, který zastaví vaše obchodní aktivity, data vašich klientů mohou být vystavena konkurenci atd.

Uzamčení nebo zesílení serveru SQL Server

Celý proces zabezpečení vašeho databázového prostředí je známý jako uzamčení databáze \ SQL Server. Popíšu různé parametry a podrobnosti o konfiguraci, které můžete použít k zabezpečení databázového prostředí.

Instalujte pouze požadované součásti

Začněme postupy uzamčení s instalací SQL Serveru. SQL Server nabízí různé komponenty a funkce, které si správci databází vybírají pro různé požadavky. Některé z těchto součástí a funkcí jsou uvedeny níže:

  1. Databázový stroj
  2. Služby hlášení
  3. Služby integrace
  4. Analysis Services Engine
  5. Služby oznámení
  6. Dokumentace a vzorky (vzorové databáze a kódy)
  7. Fulltextové vyhledávání
  8. Další funkce, jako je replikace, služby strojového učení, služby kvality dat atd.

Je dobrým zvykem instalovat pouze potřebné funkce, protože tím snižujete nebo omezujete možnosti povrchového útoku. Navíc budete mít nízké využití systémových prostředků.

Instalovat nejnovější aktualizace

Ujistěte se, že aktualizujete své systémy včas. Pokud jsou objeveny nějaké nové chyby zabezpečení, budou to zveřejněny v bulletinech zabezpečení od vašich dodavatelů produktů.

Nemluvím o aktualizaci pouze oprav SQL Serveru, ale o všem, co běží na vašem systému, počínaje operačním systémem až po jakoukoli jinou aplikaci, která je na vašem počítači nainstalována. Vždy používejte záplaty, aby byl váš software aktuální, abyste zabránili jakýmkoliv externím hrozbám nebo útokům.

Použití režimu ověřování systému Windows

Vždy zvolte režim ověřování Windows pro uživatelská připojení, pokud nemáte žádné závislosti na použití režimu ověřování SQL Server. Je bezpečnější a při každém pokusu o přihlášení ověřuje přihlášení do Windows pomocí adresáře Windows Active. SQL Server má dva typy režimů ověřování.

  • Ověřování systému Windows
  • Smíšený režim (Windows + SQL Server)

Režim ověřování systému Windows: Toto je výchozí režim ověřování pro SQL Server. Režim ověřování systému Windows využívá místní účty, uživatelské účty aktivního adresáře a skupiny při udělování přístupu k serveru SQL Server. V tomto režimu můžete jako správce databáze udělit uživatelům domény nebo lokálního serveru přístup k databázovému serveru, aniž byste museli vytvářet a spravovat samostatný účet SQL Server.

Smíšený režim: Režim smíšeného ověřování má obě možnosti. Můžete použít ověřování založené na systému Windows i ověřování založené na přihlášení k serveru SQL Server. Mechanismus ověřování SQL Server je založen na účtech, které jsou spravovány uvnitř SQL Serveru, včetně zásad hesel. Pokud máte nějaké závislosti pro podporu starších aplikací, může být vyžadováno smíšené ověřování.

Chcete-li vybrat nebo změnit režim ověřování serveru, postupujte podle následujících kroků:

  1. Spusťte SQL Server Management Studio a připojte se k cílové instanci SQL Server.
  2. V SQL Server Management Studio klikněte pravým tlačítkem na instanci SQL Server a poté klikněte na Vlastnosti .
  3. Klikněte na Zabezpečení stránce v levém podokně, můžete vidět obě možnosti ověření v pravém podokně pod Ověření serveru sekce. Pokud chcete zabezpečit svou instanci, nezapomeňte přepnout do režimu ověřování systému Windows. Stačí kliknout na přepínač režimu ověřování systému Windows a poté kliknout na OK aplikujte změny.
  1. V dialogovém okně SQL Server Management Studio klikněte na OK potvrdit nutnost restartovat SQL Server.

Režim ověřování systému Windows je bezpečnější volbou. Pokud je však vyžadováno ověřování ve smíšeném režimu, měli byste zadat složitá hesla pro přihlášení k serveru SQL Server a použít zásady zabezpečení\uzamknutí pro lepší zabezpečení. Pokud používáte režim smíšeného ověřování, doporučujeme také zakázat účet SQL Server sa. Budu o tom diskutovat v další části.

Přejmenovat/zakázat účet sa

Přihlášení sa je vytvořeno ve výchozím nastavení při instalaci SQL Serveru, takže to může být jeden z potenciálních důvodů pro útočníky k hacknutí nebo převzetí kontroly nad tímto účtem. Pamatujte, že toto přihlášení má oprávnění správce systému, takže kdokoli, kdo má přístup k tomuto účtu, může spravovat vaše databáze a instance SQL Serveru.

Chcete-li deaktivovat účet sa, měli byste spustit níže uvedený příkaz.

--Disable sa login
USE MASTER
GO
ALTER LOGIN sa DISABLE;
GO

Jeho provedení můžete vidět na obrázku níže.

Před přejmenováním nebo deaktivací účtu sa ověřte, zda na instanci serveru SQL existuje jiný účet s oprávněními správce.

Změnit výchozí porty SQL Server

Všichni víme, že SQL Server používá port 1433 pro jakékoli klientské požadavky a komunikaci. Protože je tato konfigurace ve veřejné doméně, hackeři mohou tuto konfiguraci zacílit a připojit se k vaší instanci SQL Server.

Port SQL Server můžete změnit podle následujících kroků.

  1. Přihlaste se do cílového počítače, kde je nainstalován SQL Server.
  2. Spusťte Správce konfigurace serveru nástroj.
  3. Rozbalte SQL Server Network Configuration uzel z levého podokna a vyberte Protokoly pro konfiguraci instance SQL Server.
  4. V pravém podokně klikněte pravým tlačítkem na název protokolu TCP/IP a vyberte Vlastnosti .
  5. V Vlastnostech TCP/IP dialogovém okně vyberte IP adresy tab. Pro každou IP adresu přiřazenou k serveru existuje odpovídající záznam.
  6. Vymažte hodnoty pro oba dynamické porty TCP a port TCP pro každou IP adresu kromě IP adres v IPAll .
  7. V IPAll v sekci pro každou instanci zadejte nový port, na kterém má SQL Server naslouchat.
  8. Klikněte na tlačítko Použít a restartujte služby SQL Server.

Zakázat službu prohlížeče SQL

Služby SQL Server Browser se instalují s instalací instance SQL Server. Tato služba přesměruje vaše připojení na port, na kterém běží SQL Server. Pokud je tato služba spuštěna, bude to pro útočníky o krok snazší, protože jim umožňuje připojit se k SQL Serveru bez předávání čísla portu. Po změně portu je tedy lepší tuto službu zakázat.

Zakázat možnost xp_cmdshell

SQL Server nabízí rozšířenou uloženou proceduru xp_cmdshell pro spouštění a provádění příkazů operačního systému ze serveru SQL Server. Měl by být deaktivován, aby se předešlo jakémukoli bezpečnostnímu riziku. Tuto rozšířenou uloženou proceduru můžete najít v konfiguracích na úrovni serveru nebo spuštěním sp_configure uložené procedury T-SQL. Chcete-li tuto konfiguraci zakázat, můžete spustit níže uvedené příkazy T-SQL.

-- Enable advanced options to display configure xp_cmdshell
sp_configure 'show advanced options', '1'
RECONFIGURE

-- Disable xp_cmdshell
sp_configure 'xp_cmdshell', '0' 
RECONFIGURE
GO

Použijte šifrování dat nebo maskování

SQL Server nabízí různé metody šifrování pro ochranu vašich dat. Šifrování se doporučuje, pokud vaši uživatelé přistupují k datům přes veřejnou síť. SQL Server má několik možností, jak implementovat správnou sadu šifrování s ohledem na vaše obchodní potřeby. Toto je seznam možností šifrování nebo maskování dat, které můžeme použít k zabezpečení našich dat:

  • TDE (transparentní šifrování dat)
  • Zabezpečte data pomocí šifrovacích klíčů
  • Vždy šifrovat
  • Dynamické maskování dat

Odeberte BUILTIN\Administrators ze serveru SQL Server

Vždy bychom měli odebrat účet BUILTIN\Administrators z instance SQL Server, abychom omezili nechtěný přístup k instanci databáze. Nejlepším způsobem je udělit uživatelům přístup k serveru SQL jednotlivě. Můžete také přidat skupinu lidí do skupiny Windows a udělit jim přístup k SQL Server. K odstranění tohoto přihlášení z instance SQL Server můžete použít níže uvedený příkaz T-SQL.

Toto přihlášení můžete také zrušit pomocí GUI prostřednictvím SQL Server Management Studio. Stačí se připojit k vaší instanci SQL Server a poté rozbalit složku zabezpečení na úrovni instance. Zde můžete kliknout pravým tlačítkem na toto přihlášení a odebrat je z instance SQL Server.

--DROP Login
DROP LOGIN [BUILTIN\Administrators]

Silná hesla a přiměřená uživatelská oprávnění

Každému uživateli vždy přidělujte adekvátní práva, měla by být minimální, s ohledem na jeho roli při přístupu k databázím. Také bychom nikdy neměli používat slabá hesla pro jakékoli přihlášení nebo stejné přihlašovací jméno a heslo. Vždy používejte zásady hesla pro jakékoli přihlášení SQL.

Konfigurace auditování přihlášení k serveru SQL Server

SQL Server poskytuje funkci auditování pro zachycení podrobností o všech neúspěšných a úspěšných přihlášeních. Toto je velmi užitečná konfigurace, pokud chcete zkontrolovat, kdo se připojuje nebo se pokouší připojit k vašim databázím. Můžeme nakonfigurovat výstrahu serveru SQL Server, která bude odesílat upozornění e-mailem na každé neúspěšné a úspěšné přihlášení k serveru SQL. Chcete-li aktivovat audit přihlášení, postupujte podle následujících kroků.

  • Připojte se k cílové instanci SQL Server v SQL Server Management Studio
  • Klikněte pravým tlačítkem na název instance SQL Server a poté klikněte na Vlastnosti .
  • Klikněte na Zabezpečení v levém postranním panelu. Získáte audit přihlášení v pravém podokně, jak je znázorněno na prvním snímku obrazovky tohoto článku
  • Vyberte požadovanou možnost a zavřete Vlastnosti serveru stránka
  • Chcete-li použít tuto změnu, restartujte službu SQL Server

Odeberte nepoužívaná přihlášení k serveru SQL

Vždy sledujte své přihlášení k SQL Serveru. Měli byste být opatrní při odstraňování všech přihlašovacích účtů, které se již nepoužívají. Vím, že je obtížné spravovat ručně, ale můžete nakonfigurovat upozornění e-mailem tak, aby odeslalo e-mail o všech přihlášeních k serveru SQL a jejich oprávněních.

Závěr

Vysvětlil jsem některé možné konfigurace, které můžeme použít k zabezpečení našich databází před vnějšími hrozbami. Při nasazování zásad zpevňování databáze do prostředí zvažte všechny výše uvedené body.

Sdílejte prosím tento článek a uveďte svůj názor v sekci komentářů, abychom se mohli zlepšit.


  1. Jak extrahovat podřetězec z řetězce v PostgreSQL/MySQL

  2. Proč pořadí řazení varchar společnosti Oracle neodpovídá chování srovnání varchar?

  3. Chcete-li ignorovat duplicitní klíče během „kopírování z“ v postgresql

  4. DATENAME() Příklady v SQL Server