Dela via


Ansluta till databasmotorn med Utökat skydd

gäller för:SQL Server

SQL Server stöder Extended Protection- från och med SQL Server 2008 R2 (10.50.x).

Extended Protection- hjälper till att förhindra autentiseringsreläattacker genom att se till att klienten vet vilken tjänst den ansluter till.

Extended Protection är en funktion i de nätverkskomponenter som implementeras av operativsystemet. Extended Protection stöds i Windows 7 och Windows Server 2008 R2. Extended Protection- ingår i Service Pack för äldre Microsoft-operativsystem.

SQL Server är säkrare när anslutningar görs med hjälp av Extended Protection.

Beskrivning av utökat skydd

Extended Protection använder tjänstbindning och kanalbindning för att förhindra en autentiseringsreläattack. I en autentiseringsreläattack ansluter en klient som kan utföra NTLM-autentisering (till exempel Utforskaren, Microsoft Outlook, ett .NET SqlClient-program osv.) till en angripare (till exempel en skadlig CIFS-filserver). Angriparen använder klientens autentiseringsuppgifter för att maskera sig som klient och autentisera till en tjänst (till exempel en instans av databasmotorn.

Det finns två varianter av den här attacken:

  • I ett lockande angrepp lockas klienten att frivilligt ansluta till angriparen.

  • I ett förfalskningsangrepp avser klienten att ansluta till en giltig tjänst, men är inte medveten om att en eller både DNS- och IP-routning förgiftas för att omdirigera anslutningen till angriparen i stället.

SQL Server stöder tjänstbindning och kanalbindning för att minska dessa attacker på SQL Server-instanser.

Tjänstbindning

Tjänstbindning åtgärdar attacker genom att kräva att en klient skickar ett signerat tjänsthuvudnamn (SPN) för SQL Server-tjänsten som klienten avser att ansluta till. Som en del av autentiseringssvaret verifierar tjänsten att SPN som tas emot i paketet matchar sitt eget SPN. Om en klient lockas att ansluta till en angripare innehåller klienten angriparens signerade SPN. Angriparen kan inte vidarebefordra paketet för att autentisera till den verkliga SQL Server-tjänsten som klient eftersom det skulle inkludera SPN för angriparen. Tjänstbindning medför en engångskostnad som är försumbar men hanterar inte förfalskningsattacker. Tjänstbindning sker när ett klientprogram inte använder kryptering för att ansluta till SQL Server.

Kanalbindning

Kanalbindningen upprättar en säker kanal (Schannel) mellan en klient och en instans av SQL Server-tjänsten. Tjänsten verifierar klientens äkthet genom att jämföra klientens kanalbindningstoken (CBT) som är specifik för den kanalen med sin egen KBT. Kanalbindning adresserar både lockande och förfalskningsattacker. Det medför dock en större körningskostnad eftersom det kräver TLS-kryptering (Transport Layer Security) för all sessionstrafik. Kanalbindning sker när ett klientprogram använder kryptering för att ansluta till SQL Server, oavsett om kryptering tillämpas av klienten eller av servern.

Varning

SQL Server och Microsoft-dataprovidrar för SQL Server stöder TLS 1.0 och SSL 3.0. Om du framtvingar ett annat protokoll (till exempel TLS 1.1 eller TLS 1.2) genom att göra ändringar i operativsystemets SChannel-lager kan dina anslutningar till SQL Server misslyckas. Kontrollera att du har den senaste versionen av SQL Server för att stödja TLS 1.1 eller TLS 1.2. Mer information finns i https://support.microsoft.com/topic/kb3135244-tls-1-2-support-for-microsoft-sql-server-e4472ef8-90a9-13c1-e4d8-44aad198cdbe.

Stöd för operativsystem

Följande länkar innehåller mer information om hur Windows stöder Extended Protection:

Inställningar

Det finns tre anslutningsinställningar för SQL Server som påverkar tjänstbindningen och kanalbindningen. Inställningarna kan konfigureras med SQL Server Configuration Manager eller WMI och visas med hjälp av Server Protocol Settings aspekt av principbaserad hantering.

Framtvinga kryptering

Möjliga värden är och Av. Om du vill använda kanalbindning måste Framtvinga kryptering anges till , och alla klienter måste använda kryptering. Om det är Avgaranteras endast tjänstbindning. Force Encryption finns på Protocols for MSSQLSERVER Properties (fliken Flaggor) i SQL Server Configuration Manager.

Utökat skydd

Möjliga värden är Off, Allowedoch Required. Med variabeln Extended Protection kan användarna konfigurera utökat skydd nivå för varje SQL Server-instans. Extended Protection finns på Protokoll för MSSQLSERVER-egenskaper (fliken Avancerat) i SQL Server Configuration Manager.

När det är inställt på Avinaktiveras Extended Protection-. Sql Server-instansen accepterar anslutningar från alla klienter oavsett om klienten är skyddad eller inte. Off är kompatibel med äldre och okopplade operativsystem men är mindre säkert. Använd den här inställningen när klientoperativsystemen inte stöder utökat skydd.

När det är inställt på Tillåtenkrävs Utökat skyddet för anslutningar från operativsystem som stöder Utökat skyddet. Extended Protection ignoreras för anslutningar från operativsystem som inte stöder Extended Protection-. Anslutningar från oskyddade klientprogram som körs på skyddade klientoperativsystem avvisas. Den här inställningen är säkrare än Av, men den är inte den säkraste. Använd den här inställningen i blandade miljöer. vissa operativsystem stöder Extended Protectionoch andra inte.

När inställningen är inställd på Obligatoriskgodkänns endast anslutningar från skyddade program på skyddade operativsystem. Den här inställningen är den säkraste, men anslutningar från operativsystem eller program som inte stöder Extended Protection- inte kan ansluta till SQL Server.

Accepterade NTLM-SPN:er

Variabeln accepterade NTLM SPN:er behövs när mer än ett SPN känner till en server. När en klient försöker ansluta till servern med ett giltigt SPN som servern inte känner till misslyckas tjänstbindningen. För att undvika det här problemet kan användarna ange flera SPN som representerar servern med hjälp av accepterade NTLM-SPN:er. Accepterade NTLM SPN:er är en serie SPN:er som avgränsas med semikolon. Om du till exempel vill tillåta SPN:erna MSSQLSvc/ HostName1.Contoso.com och MSSQLSvc/ HostName2.Contoso.comskriver du MSSQLSvc/HostName1.Contoso.com; MSSQLSvc/HostName2.Contoso.com i rutan accepterade NTLM-SPN:er. Variabeln har en maximal längd på 2 048 tecken. accepterade NTLM-SPN:er finns på Protokoll för MSSQLSERVER-egenskaper (avancerad flik) i SQL Server Configuration Manager.

Aktivera Utökat skydd för databasmotorn

Om du vill använda Extended Protectionmåste både servern och klienten ha ett operativsystem som stöder Extended Protection- och måste vara aktiverat på operativsystemet. Mer information om hur du aktiverar Extended Protection- för operativsystemet finns i Utökat skydd för autentisering.

Även om Extended Protection och NTLMv2 är aktiverade som standard i alla versioner av Windows som stöds, är Extended Protection inte aktiverat som standard för SQL Server-anslutningar. Användarna måste aktivera den manuellt i SQL Server Configuration Manager.

För att aktivera Extended Protection- för SQL Server-anslutningar måste administratörer konfigurera inställningarna i SQL Server Configuration Manager. Detta inkluderar alternativ för tjänstbindning och kanalbindning för att minimera olika typer av autentiseringsreläattacker. Detaljerade instruktioner finns i SQL Server-dokumentationen om hur du konfigurerar Extended Protection-.

När du har aktiverat Extended Protection- på serverdatorn använder du följande steg för att aktivera Extended Protection:

  1. På menyn Starta väljer du Alla program, pekar på Microsoft SQL Server- och väljer sedan SQL Server Configuration Manager.

  2. Expandera SQL Server Network Configurationoch högerklicka sedan på Protocols för _<_InstanceName*>*och välj sedan Egenskaper.

  3. På fliken Avancerat anger du Extended Protection till lämplig inställning för både kanalbindning och tjänstbindning.

  4. Om fler än ett SPN känner till en server på fliken Avancerat kan du också konfigurera fältet GODKÄNDA NTLM-SPN:er enligt beskrivningen i avsnittet Inställningar.

  5. Ställ in Framtvinga kryptering till på fliken Flaggor för kanalbindning.

  6. Starta om databasmotortjänsten.

Konfigurera andra SQL Server-komponenter

Mer information om hur du konfigurerar Reporting Services finns i Utökat skydd för autentisering med Reporting Services.

När du använder IIS för att komma åt Analysis Services-data med hjälp av en HTTP- eller HTTPS-anslutning kan Analysis Services dra nytta av utökat skydd som tillhandahålls av IIS. Mer information om hur du konfigurerar IIS för att använda Utökat skydd finns i Konfigurera utökat skydd i IIS 7.5.