Zabezpečení přenosu ve skupinách dostupnosti a zrcadlení databáze

platí pro:SQL Server

Zabezpečení přenosu zahrnuje ověřování a volitelně šifrování zpráv vyměňovaných mezi databázemi. Pro zrcadlení databáze a skupiny dostupnosti AlwaysOn se na koncovém bodu zrcadlení databáze konfiguruje ověřování a šifrování. Úvod ke koncovým bodům zrcadlení databáze najdete v tématu Koncový bod zrcadlení databáze (SQL Server).

Autentizace

Ověřování je proces ověření, že uživatel je ten, kdo má být uživatelem. Připojení mezi koncovými body pro zrcadlení databáze vyžadují autentizaci. Žádosti o připojení od partnera nebo svědka, pokud nějaký existuje, musí být ověřeny.

Typ ověřování používaný instancí serveru pro zrcadlení databáze nebo skupiny dostupnosti AlwaysOn je vlastnost koncového bodu zrcadlení databáze. Pro koncové body zrcadlení databáze jsou k dispozici dva typy zabezpečení transportu: Ověřování systému Windows (Security Support Provider Interface, SSPI) a ověřování na základě certifikátů.

Ověřování systému Windows

V části Ověřování systému Windows se každá instance serveru přihlásí na druhou stranu pomocí přihlašovacích údajů systému Windows uživatelského účtu systému Windows, pod kterým je proces spuštěný. Ověřování systému Windows může vyžadovat ruční konfiguraci přihlašovacích účtů následujícím způsobem:

  • Pokud instance SQL Serveru běží jako služby ve stejném účtu domény, nevyžaduje se žádná další konfigurace.

  • Pokud jsou instance SQL Serveru spuštěny jako služby pod různými doménovými účty (ve stejných nebo důvěryhodných doménách), musí být pro účet každé z nich na každé z ostatních instancí serveru vytvořeno přihlášení v master a tomuto přihlášení musí být udělena oprávnění CONNECT ke koncovému bodu.

  • Pokud instance SQL Server běží pod účtem Síťová služba, musí být v master na každém z ostatních serverů vytvořeno přihlášení každého účtu hostitelského počítače (<domain-name>\<computer-name>$) a tomuto přihlášení musí být pro koncový bod udělena oprávnění CONNECT. Důvodem je to, že instance serveru spuštěná pod účtem síťové služby se ověřuje pomocí účtu domény hostitelského počítače.

Poznámka:

Příklad nastavení relace zrcadlení databáze pomocí ověřování systému Windows najdete v tématu Příklad: Konfigurace zrcadlení databáze pomocí ověřování systému Windows.

Certifikáty

V některých situacích, například když instance serveru nejsou v důvěryhodných doménách nebo když SQL Server běží jako místní služba, Windows Ověřování není k dispozici. V takových případech se místo přihlašovacích údajů uživatele vyžadují certifikáty k ověření požadavků na připojení. Koncový bod zrcadlení každé instance serveru musí být nakonfigurovaný s vlastním místně vytvořeným certifikátem.

Metoda šifrování se vytvoří při vytvoření certifikátu. Další informace naleznete v tématu Zrcadlení databáze – použití certifikátů pro odchozí připojení. Pečlivě spravujte používané certifikáty.

Instance serveru používá privátní klíč vlastního certifikátu k navázání identity při nastavování připojení. Instance serveru, která obdrží žádost o připojení, používá veřejný klíč certifikátu odesílatele k ověření identity odesílatele. Představte si například dvě instance Server_A serveru a Server_B. Server_Apoužívá svůj privátní klíč k šifrování hlavičky připojení před odesláním žádosti o připojení .Server_B Server_B používá veřejný klíč Server_Acertifikátu k dešifrování hlavičky připojení. Pokud je dešifrovaná hlavička správná, ví, Server_B že hlavička byla zašifrována Server_Aa že připojení je ověřeno. Pokud je dešifrovaná hlavička nesprávná, ví, Server_B že požadavek na připojení je neověrný a odmítne připojení.

Šifrování dat

Koncový bod zrcadlení databáze ve výchozím nastavení vyžaduje šifrování dat odesílaných přes připojení zrcadlení. V tomto případě se koncový bod může připojit jenom ke koncovým bodům, které používají také šifrování. Doporučujeme, abyste pro připojení ke zrcadlení databází vyžadovali šifrování, pokud nezaručíte, že je vaše síť zabezpečená. Šifrování ale můžete zakázat nebo ho podporovat, ale není to nutné. Pokud je šifrování zakázané, data se nikdy nešifrují a koncový bod se nemůže připojit ke koncovému bodu, který vyžaduje šifrování. Pokud je šifrování podporované, data se šifrují jenom v případě, že opačný koncový bod podporuje nebo vyžaduje šifrování.

Poznámka:

Koncové body pro zrcadlení, které vytváří SQL Server Management Studio, jsou vytvořeny s šifrováním buď požadovaným, nebo zakázaným. Chcete-li změnit nastavení šifrování na SUPPORTED, použijte ALTER ENDPOINT příkaz Transact-SQL. Další informace najdete na webu ALTER ENDPOINT.

Volitelně můžete řídit šifrovací algoritmy, které může koncový bod používat, zadáním jedné z následujících hodnot pro ALGORITHM možnost v CREATE ENDPOINT příkazu nebo ALTER ENDPOINT příkazu:

Hodnota ALGORITHM Popis
RC4 (výchozí) Určuje, že koncový bod musí používat algoritmus RC4.

Upozornění: Algoritmus RC4 je zastaralý. Tato funkce bude odebrána v budoucí verzi SQL Serveru. Nepoužívejte tuto funkci v nové vývojové práci a naplánujte úpravu aplikací, které tuto funkci aktuálně používají. Doporučujeme používat AES.
AES (doporučeno) Určuje, že koncový bod musí používat algoritmus AES.
AES RC4 Určuje, že se dva koncové body dohodnou na šifrovacím algoritmu, přičemž tento koncový bod upřednostňuje algoritmus AES.
RC4 AES Určuje, že se dva koncové body dohodnou na šifrovacím algoritmu, přičemž tento koncový bod upřednostňuje algoritmus RC4.

Pokud koncové body specifikují oba algoritmy, ale v jiném pořadí, koncový bod, který připojení přijímá, vyhrává.

Caution

I když je AES výrazně rychlejší než AES, RC4 je relativně slabý algoritmus, zatímco AES je relativně silný algoritmus. Proto byste měli použít algoritmus AES.

Algoritmus RC4 je podporován pouze pro zpětnou kompatibilitu. Data je možné šifrovat pouze pomocí RC4 nebo RC4_128, pokud je databáze v úrovni kompatibility 90 nebo 100 (nedoporučuje se). Místo toho použijte novější algoritmus, například jeden z algoritmů AES. V SQL Server 2012 (11.x) a novějších verzích je možné data zašifrovaná pomocí RC4 nebo RC4_128 dešifrovat v libovolné úrovni kompatibility.

Informace o syntaxi Transact-SQL pro určení šifrování naleznete v tématu CREATE ENDPOINT.

Nakonfigurovat zabezpečení přenosu u koncových bodů zrcadlení databáze