Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Platí na:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analytický platformový systém (PDW)
SQL databáze v Microsoft Fabric
SQL Server vždy šifruje síťové pakety spojené s protokolováním. Pokud není na serveru při spuštění poskytnut žádný certifikát, SQL Server vygeneruje certifikát podepsaný svým držitelem, který se používá k šifrování přihlašovacích paketů.
Certifikáty podepsané svým držitelem nezaručují bezpečnost. Šifrovaný handshake je založen na NT LAN Manager (NTLM). Důrazně doporučujeme zřídit ověřitelný certifikát na SQL Server pro zabezpečené připojení. Transport Security Layer (TLS) lze zabezpečit pouze pomocí ověření certifikátu.
Aplikace mohou také požadovat šifrování veškerého síťového provozu pomocí klíčových slov připojovacího řetězce nebo vlastností připojení. Klíčová slova jsou "Šifrovat" pro OLE DB při použití řetězce zprostředkovatele s IDbInitialize::Initialize, nebo "Použít šifrování pro data" pro ADO a OLE DB při použití inicializačního řetězce s IDataInitialize. Šifrování lze také nakonfigurovat na klientském počítači v registru pomocí možnosti Vynutit šifrování protokolu . Pro více informací viz nastavení registru. Ve výchozím nastavení vyžaduje šifrování všech síťových přenosů pro připojení zajištění certifikátu na serveru. Pokud nastavíte klienta tak, aby důvěřoval certifikátu na serveru, můžete se stát zranitelnými vůči útokům prostředníkem. Pokud na server nasadíte ověřitelný certifikát, ujistěte se, že jste změnili nastavení klienta týkající se důvěryhodnosti certifikátu na FALSE.
Informace o klíčových slovech připojovacího řetězce naleznete v tématu Použití klíčových slov připojovacího řetězce s ovladačem OLE DB pro SQL Server.
Chcete-li povolit použití šifrování v případě, že certifikát není na serveru zřízen, musí být nastaveno Force Protocol EncryptionTrust Server Certificate a klienta. V tomto případě šifrování používá serverový certifikát podepsaný svým držitelem bez ověření, pokud na serveru není zřízen žádný ověřitelný certifikát.
Chování při šifrování a ověřování certifikátů
Nastavení aplikace nikdy nesnižuje úroveň zabezpečení nastavenou v registru, ale může ji posílit. Pro více informací viz nastavení registru. Pokud Force Protocol Encryption například není nastaveno pro klienta, může aplikace požadovat šifrování sama. Aby bylo zaručeno šifrování i v případě, že certifikát serveru není zřízen, může aplikace požadovat šifrování a povolit TrustServerCertificate. Pokud TrustServerCertificate však není v konfiguraci registru klienta povolen, je stále vyžadován zřízený certifikát serveru.
Verze 19 ovladače OLE DB pro SQL Server zavádí zásadní změny v rozhraních API souvisejících se šifrováním. Další informace naleznete v tématu Změny vlastností šifrování.
Hlavní verze 19
Následující tabulka popisuje vyhodnocení nastavení šifrování:
| Nastavení registru klienta vynucení šifrování protokolů | Připojovací řetězec/atribut připojení Šifrování/Použití šifrování dat | Výsledné šifrování |
|---|---|---|
| 0 (výchozí) | Ne/Volitelné | Volitelný |
| 0 (výchozí) | Ano/Povinné (výchozí) | Povinné |
| 0 (výchozí) | Striktní | Striktní |
| 1 | Ne/Volitelné | Povinné |
| 1 | Ano/Povinné (výchozí) | Povinné |
| 1 | Striktní | Striktní |
| 2 | Ignorovaný | Striktní |
Následující tabulka popisuje výsledné šifrování a ověření:
| Šifrování | Nastavení registru klienta certifikátu důvěryhodného serveru | Připojovací řetězec/atribut připojení Certifikát důvěryhodného serveru | Výsledek |
|---|---|---|---|
| Volitelný | není k dispozici | není k dispozici | K šifrování dochází pouze u paketů LOGIN. |
| Povinné | 0 | Ignorovaný | K šifrování dochází pouze v případě, že existuje ověřitelný certifikát serveru, jinak se pokus o připojení nezdaří. |
| Povinné | 1 (výchozí) | Ne (výchozí) | K šifrování dochází pouze v případě, že existuje ověřitelný certifikát serveru, jinak se pokus o připojení nezdaří. |
| Povinné | 1 (výchozí) | Ano | Šifrování probíhá vždy, ale může používat certifikát serveru podepsaný sám sebou. |
| Striktní | není k dispozici | není k dispozici | K šifrování dochází pouze v případě, že existuje ověřitelný certifikát serveru, jinak se pokus o připojení nezdaří. |
Poznámka:
Ve verzích 19.0 až 19.3 se během instalace načte výchozí nastavení registru klienta certifikátu důvěryhodného serveru z nastavení registru verze 18, pokud existuje.
Upozornění
Předchozí tabulka poskytuje pouze vodítko pro chování systému v různých konfiguracích. Pro zabezpečené připojení se ujistěte, že klient i server vyžadují šifrování (konfigurace na straně serveru naleznete v části Konfigurace nastavení šifrování na SQL Serveru). Také se ujistěte, že server má ověřitelný certifikát a že TrustServerCertificate nastavení na klientovi je nastaveno na hodnotu FALSE.
Poznámka:
Od verze 19.2 ovladače OLE DB lze připojení TDS 8.0 nakonfigurovat tak, aby používala protokol TLS 1.3. Další informace najdete v tématu Podpora protokolu TLS 1.3.
Hlavní verze 18 s novými metodami ověřování
U verzí 18.x.x se pro zlepšení zabezpečení platí, že když se použijí nová klíčová slova připojovacího řetězce Authentication nebo Access Token (nebo jejich odpovídající vlastnosti), ovladač přepíše výchozí hodnotu šifrování nastavením na yes. K přepsání dojde v době inicializace objektu zdroje dat. Pokud je před inicializací jakýmkoli způsobem nastaveno šifrování, je hodnota respektována a není přepsána.
Poznámka:
V aplikacích rozhraní ADO a v aplikacích, které získávají IDBInitialize rozhraní prostřednictvím IDataInitialize::GetDataSource, komponenta Core implementující rozhraní explicitně nastaví šifrování na výchozí hodnotu no. V důsledku toho nové vlastnosti a klíčová slova ověřování respektují toto nastavení a hodnota šifrování se nepřepíše . Proto se doporučuje , aby tyto aplikace explicitně nastavily Use Encryption for Data=true tak, aby přepsaly výchozí hodnotu.
Aby se zlepšilo zabezpečení, nové metody ověřování respektují toto TrustServerCertificate nastavení (a odpovídající klíčová slova/vlastnosti připojovacího řetězce) nezávisle na nastavení šifrování klienta. V důsledku toho je certifikát serveru ve výchozím nastavení ověřen. Ovladač určí, zda se má certifikát serveru ověřit, a to následovně:
| Nastavení klienta certifikátu důvěryhodného serveru | Připojovací řetězec/atribut připojení Certifikát důvěryhodného serveru | Ověření certifikátu |
|---|---|---|
| 0 | Ne (výchozí) | Ano |
| 0 | Ano | Ano |
| 1 | Ne (výchozí) | Ano |
| 1 | Ano | Ne |
Následující tabulka popisuje vyhodnocení nastavení šifrování:
| Nastavení klienta Vynutit šifrování protokolu | Připojovací řetězec/atribut připojení Šifrování/Použití šifrování dat | Výsledné šifrování |
|---|---|---|
| 0 | Ne (výchozí) | Ne |
| 0 | Ano | Ano |
| 1 | Ne (výchozí) | Ano |
| 1 | Ano | Ano |
Následující tabulka popisuje výsledné šifrování a ověření:
| Výsledné šifrování | Ověření certifikátu | Výsledek |
|---|---|---|
| Ne | Ne | K šifrování dochází pouze u paketů LOGIN. |
| Ne | Ano | Šifrování probíhá u paketů LOGIN pouze v případě, že existuje ověřitelný certifikát serveru, jinak se pokus o připojení nezdaří. |
| Ano | Ne | Šifrování veškerého síťového provozu probíhá vždy, ale může používat certifikát serveru podepsaný sám sebou. |
| Ano | Ano | K šifrování veškerého síťového provozu dochází pouze v případě, že je k dispozici ověřitelný certifikát serveru, jinak se pokus o připojení nezdaří. |
Hlavní verze 18 se staršími metodami ověřování
Následující tabulka popisuje výsledek šifrování a ověření starších metod ověřování:
| Nastavení klienta Vynutit šifrování protokolu | Nastavení klienta certifikátu důvěryhodného serveru | Připojovací řetězec/atribut připojení Šifrování/Použití šifrování dat | Připojovací řetězec/atribut připojení Certifikát důvěryhodného serveru | Výsledek |
|---|---|---|---|---|
| 0 | není k dispozici | Ne (výchozí) | není k dispozici | K šifrování dochází pouze u paketů LOGIN. |
| 0 | není k dispozici | Ano | Ne (výchozí) | K šifrování veškerého síťového provozu dochází pouze v případě, že je k dispozici ověřitelný certifikát serveru, jinak se pokus o připojení nezdaří. |
| 0 | není k dispozici | Ano | Ano | Šifrování veškerého síťového provozu probíhá vždy, ale může používat certifikát serveru podepsaný sám sebou. |
| 1 | 0 | Ignorovaný | Ignorovaný | K šifrování veškerého síťového provozu dochází pouze v případě, že je k dispozici ověřitelný certifikát serveru, jinak se pokus o připojení nezdaří. |
| 1 | 1 | Ne (výchozí) | není k dispozici | Šifrování veškerého síťového provozu probíhá vždy, ale může používat certifikát serveru podepsaný sám sebou. |
| 1 | 1 | Ano | Ne (výchozí) | K šifrování veškerého síťového provozu dochází pouze v případě, že je k dispozici ověřitelný certifikát serveru, jinak se pokus o připojení nezdaří. |
| 1 | 1 | Ano | Ano | Šifrování veškerého síťového provozu probíhá vždy, ale může používat certifikát serveru podepsaný sám sebou. |
Viz také
ovladač OLE DB pro funkce SQL Serveru
Inicializační a autorizační vlastnosti
Klíčová slova připojovacího řetězce
Rozdíly v hlavních verzích
Nastavení registru