|
![]() | Vzdálený přístup na SQL server přes HTTP tunel | ![]() | Komunikace mezi klientem a serverem a síťové protokoly | Šifrování síťové komunikace mezi klientem a serverem | ![]() |
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é.
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:
Tím se zprovozní ověřování identity serveru všemi síťovými klienty.
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:
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é.
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.
Síťový klient (nikoliv lokální) může využít tři nástroje k ověření identity serveru:
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.
![]() | Vzdálený přístup na SQL server přes HTTP tunel | ![]() | Komunikace mezi klientem a serverem a síťové protokoly | Šifrování síťové komunikace mezi klientem a serverem | ![]() |