602SQL-Úplná dokumentace Index  

Ověřování identity SQL serveru v síti

Při provozu v rozlehlých sítích a při zpracování citlivých dat jsou potřebné nástroje, které klientovi poskytnou jistotu, že se připojuje na správný server. Lze si představit falešný SQL server vystupující pod stejným jménem jak pravý server a napodobující jeho činnost.

Připojení na správný server do jisté míry zajistí zaregistrování IP adresy serveru u klienta. Při vynaložení jistého úsilí však falešný server může zneužít IP adresu pravého serveru.

Metoda, která spolehlivě určí identitu serveru, se opírá o asymetrický šifrovací algoritmus. Server si vygeneruje svůj tajný klíč a certifikát obsahující veřejný klič. Certifikát poskytne všem potenciálním klientům a tajný klič si uschová pouze pro sebe. Pomocí certifikátu pak kterýkoli klient může zkontrolovat, zda komunikuje se serverem disponujícím odpovídajícím tajným klíčem.

Manipulovat s certifikátem a tajným klíčem SQL serveru může pouze jeho bezpečnostní správce.

Použití certifikátu umožní kromě ověření SQL serveru také vlastní šifrovanou komunikaci klient-server. Bez tohoto certifikátu šifrování komunikace není možné.

Vytvoření klíčů a certifikátu

Nejjednodušší způsob, jak získat tajný klíč serveru a certifikát, je vytvořit certifikát podepsaný majitelem. Za platnost takového certifikátu neručí žádná třetí strana (certifikační autorita), pro ověřování identity serveru však dobře poslouží.

V okně Certifikát serveru otevřeného ze složky Systém / Nástroje:

  1. Stiskněte tlačítko Start;
  2. Pohybujte myší ve vyznačeném obdélníku tak dlouho, dokud se neobjeví okno s informací u ukončení sbírání náhodných dat.
  3. Po uzavření okna se vygeneruje dvojice klíčů a uloží v databázi.

Tím se zprovozní ověřování identity serveru všemi síťovými klienty.

Import certifikátu a tajného klíče na SQL server ze souborů

Níže uvedený postup využijete z případě, že máte tajný klíč a certifikát v souborech. Soubory mohou vzniknout vytvořením klíče a certifikátu pomocí specializovaných programů jako openssl.

Importem certifikátu a tajného klíče na SQL server se zprovozní ověřování jeho identity všemi klienty.

Certifikát a tajný klíč se importuje v okně Certifikát serveru otevřeného ze složky Systém / Nástroje takto:

  1. Zvolte záložku Importovat certifikát ...
  2. Vyberte soubor s certifikátem pomocí tlačítka Importujte certifikát ze souboru;
  3. Vyberte soubor s tajným klíčem pomocí tlačítka Importujte tajný klíč ze souboru.

Využití klíčů generovaných openssl

Na SQL server lze importovat klíč vytvořený openssl, pokud není zašifrovaný a je ve formátu PEM. Pro vytvoření tajného klíče a certifikátu s vlastním podpisem lze použít příkaz:

openssl req -x509 -new -outform DER -out cert.der -nodes -keyout key.pem 

Při importu takto vytvořeného tajného klíče je nutno ponechat pole pro heslo prázdné.

Ochrana tajného klíče

Ověření identity serveru je spolehlivé do té míry, do jaké je bezpečně uschován jeho tajný klíč. Při odcizení tajného klíče lze snadno vytvořit falešný server.

Tajný klič uložený v souboru je spolehlivě chráněn heslem. Je však nutno zvolit heslo, které nelze snadno uhádnout, protože není obtížné vyzkoušet na soubor s klíčem řadu často používaných hesel.

Tajný klič uložený v databázi nelze zjistit přes klientské rozhraní serveru. Analýzou databázového souboru by však mohl být přečten. Proto není-li databázový soubor spolehlivě zajištěn proti přečtení, je nutno jej zašifrovat.

Jak klient ověřuje identitu serveru?

Síťový klient (nikoliv lokální) může využít tři nástroje k ověření identity serveru:

Prozkoumat certifikát stažený ze vzdáleného SQL serveru lze tak, že se na Řídicím panelu vybere daný server a pomocí popup menu otevře dialog Vlastnosti spojení na server a v něm se stiskne tlačítko Prohlédnout. V okně vlastností certifikátu jsou údaje o vystaviteli, platnosti a také miniatura certifikátu.

Problém s novým serverem stejného jména

Pokud se klient v minulosti připojoval na SQL server určitého jména a poté se chce připojit na jiný server se stejným jménem, pak systém ověřování identity serveru spojení nepovolí. Nový server bude totiž považován za falešný server předstírající identitu starého serveru.

Aby klient mohl pracovat s novým serverem, musí u sebe smazat certifikát starého serveru. Slouží k tomu dialog Vlastnosti spojení na server a tlačítko Vymazat.