Oprava chyby šifrování SQL Server – řešení jedním kliknutím
SQL Server se připojí a poté odmítne přihlášení, protože nemůže důvěřovat certifikátu serveru. Toto není problém se sítí a vaše data nejsou pryč – je to problém důvěry. Projděte opravy v pořadí, v jakém je zobrazuje video: rychlá možnost na straně klienta, stejný přepínač v připojovacím řetězci aplikace a správná oprava na samotném serveru.
📑Kapitoly
- Chyba přihlášení – „Řetěz certifikátů byl vydán autoritou, která není důvěryhodná“
- Co chyba skutečně znamená - je vyžadováno šifrování, certifikát serveru nemůže prokázat jeho identitu
- Rychlá oprava klienta – Důvěřujte certifikátu serveru v okně připojení SSMS
- Stejná oprava uvnitř připojovacího řetězce aplikace
- Správná oprava – dejte serveru skutečný certifikát, kterému klienti sami důvěřují
- Ověření opravy – znovu připojte přísný způsob a dokažte, že je šifrování skutečně zapnuto
📋 Přehled a průvodce krok za krokem
Přečtěte si chybu – jedná se o problém s důvěrou, nikoli o problém se sítí
Vaše síť je v pořádku a server běží. Připojení dosáhlo SQL Server, server nabídl šifrovaný kanál pro přihlášení a váš počítač jej odmítl, protože certifikát prokazující identitu serveru není podepsán nikým, komu váš počítač nedůvěřuje. Úplné chybové hlášení SSMS je:
Ve výchozím nastavení SQL Server chrání přihlášení pomocí certifikátu s vlastním podpisem, který si sám vytvoří. Certifikát s vlastním podpisem sice šifruje provoz, ale nemůže prokázat, že server je skutečně vaším serverem, takže klienti, kteří požadují ověřené šifrování, jej odmítají. Každá poctivá oprava je jedna ze dvou věcí: přimět klienta, aby tento konkrétní server vědomě přijal (kroky 2 a 3), nebo dát serveru certifikát, kterému klienti sami důvěřují (krok 4).
Rychlá oprava klienta v SSMS - Trust Server Certificate
Toto je rychlá trasa zobrazená na videu. Na serveru se nic nemění; říká tomuto jednomu připojení, aby přijalo certifikát serveru, aniž by kontrolovalo, kdo jej podepsal. V okně SSMS Připojit k serveru kliknutím na Možnosti otevřete další karty, přejděte na kartu Vlastnosti připojení, nastavte šifrování na Povinné (nebo jej ponechte tak, jak je nabízeno), zaškrtněte Důvěřovat certifikátu serveru a klikněte na Připojit. Přihlášení proběhne okamžitě.
Stejná oprava uvnitř připojovacího řetězce aplikace
Pokud místo SSMS selže aplikace, v připojovacím řetězci žije stejný přepínač. Přidejte dvě nastavení explicitně – Encrypt=True zapne chráněný kanál a TrustServerCertificate=True je pravopis spojovacího řetězce zaškrtávacího políčka SSMS:
Server=SQL01;Database=AppDB;User Id=appuser;Password=YourPassword;Encrypt=True;TrustServerCertificate=True;
Místo vzorových hodnot použijte svůj vlastní název serveru, databázi a přihlašovací jméno. Kompromis je přesně stejný jako zaškrtávací políčko v kroku 2, s jedním nebezpečím navíc: zapečený do konfigurace dodávané aplikace se přeskočená kontrola vztahuje na každého uživatele, neviditelně a trvale. Udržujte jej ve vývojových a přípravných konfiguracích a ve výrobě s ním zacházejte jako s vypůjčeným časem, dokud nebude na místě certifikát serveru v kroku 4.
Šifrovat. Připojovací řetězce, které nikdy nezmiňovaly šifrování, jej začaly vyžadovat proti serverům, jejichž certifikáty s vlastním podpisem nemohou projít validací. Ve vaší databázi se nic nezměnilo; smlouva uvnitř řetězce ano. Zapsání nastavení výslovně znamená, že příští aktualizace ovladače nemůže změnit chování vaší aplikace za vašimi zády.Správná oprava – Dejte serveru skutečný certifikát
K trvalé opravě dojde jednou na serveru a poté se každý klient připojí striktně bez zaškrtávacího políčka a bez varování. Nejprve získejte certifikát pro úplný název DNS serveru (například sql01.company.local) od své interní certifikační autority nebo veřejné CA s využitím Ověření serveru. Importujte jej s jeho soukromým klíčem do úložiště certifikátů Místního počítače na počítači SQL Server. Poté klikněte pravým tlačítkem na certifikát, vyberte Všechny úkoly → Spravovat soukromé klíče a udělte účtu služby SQL Server oprávnění Číst pro soukromý klíč. Otevřete Správce konfigurace serveru SQL, rozbalte položku Síťová konfigurace serveru SQL, klikněte pravým tlačítkem na Protokoly pro MSSQLSERVER, vyberte Vlastnosti a vyberte certifikát na kartě Certifikát. Na kartě Flags můžete také nastavit ForceEncryption na Yes, takže každý klient musí šifrovat. Restartujte službu SQL Server – změna neprovede nic, dokud to neuděláte.
Ověřte Fix the Strict Way
Úspěšné přihlášení v tichosti dokazuje méně, než si lidé myslí, protože některé kombinace nastavení se připojují bez skutečné ochrany. Dokažte obě poloviny. Nejprve se znovu připojte z klienta striktním způsobem: připojte se pomocí DNS jména serveru – názvu uvnitř certifikátu – nastavte šifrování na Povinné a ponechte nezaškrtnuté Důvěřovat certifikátu serveru. Přihlášení by mělo být úspěšné bez varování. Poté se ve stejné relaci zeptejte serveru, zda je připojení skutečně šifrováno spuštěním tohoto dotazu v SSMS:
SELECT session_id, encrypt_option, auth_scheme FROM sys.dm_exec_connections WHERE session_id = @@SPID;
encrypt_option zobrazující TRUE je hodnocení, které prošlo. FALSE s funkčním přihlášením znamená, že připojení bylo úspěšné zrušením ochrany a úloha není dokončena. Tento úspěšný test je skutečnou cílovou čárou: každý správně nakonfigurovaný klient, včetně budoucích verzí SSMS, se nyní připojuje s plnou validací a bez zvláštních nastavení.
🏷️Proměnné a klíčová slova vyhledávání tématu
🎙️ Úplný přepis – klepnutím rozbalíte
__TOK_24__
__TOK_25__
__TOK_26__
❓ Často kladené otázky
Je tento tutoriál 100% bezplatný?
__TOK_27__
Mohou začátečníci postupovat podle tohoto návodu?
__TOK_28__
Kde mohu klást otázky, když uvíznu?
__TOK_29__