Säkerhetskonfiguration för delad sammanslagning
Gäller för:Azure SQL Database
Om du vill använda tjänsten Split/Merge måste du konfigurera säkerheten korrekt. Tjänsten är en del av funktionen Elastic Scale i Azure SQL Database. Mer information finns i Självstudie om elastisk skalningsdelning och sammanslagningstjänst.
Konfigurera certifikat
Certifikat konfigureras på två sätt.
Så här hämtar du certifikat
Certifikat kan hämtas från offentliga certifikatutfärdare eller från Windows-certifikattjänsten. Det här är de bästa metoderna för att hämta certifikat.
Om dessa alternativ inte är tillgängliga kan du generera självsignerade certifikat.
Verktyg för att generera certifikat
Så här kör du verktygen
Från en kommandotolk för utvecklare för Visual Studios kan du läsa Visual Studio-kommandotolken
Om det är installerat går du till:
%ProgramFiles(x86)%\Windows Kits\x.y\bin\x86
Hämta WDK från Windows 8.1: Ladda ned paket och verktyg
Så här konfigurerar du TLS/SSL-certifikatet
Ett TLS/SSL-certifikat krävs för att kryptera kommunikationen och autentisera servern. Välj det mest tillämpliga av de tre scenarierna nedan och utför alla dess steg:
Skapa ett nytt självsignerat certifikat
- Skapa ett självsignerat certifikat
- Skapa PFX-fil för självsignerat TLS/SSL-certifikat
- Ladda upp TLS/SSL-certifikat till molntjänsten
- Uppdatera TLS/SSL-certifikatet i tjänstkonfigurationsfilen
- Importera TLS/SSL-certifikatutfärdare
Så här använder du ett befintligt certifikat från certifikatarkivet
- Exportera TLS/SSL-certifikat från certifikatarkivet
- Ladda upp TLS/SSL-certifikat till molntjänsten
- Uppdatera TLS/SSL-certifikatet i tjänstkonfigurationsfilen
Så här använder du ett befintligt certifikat i en PFX-fil
- Ladda upp TLS/SSL-certifikat till molntjänsten
- Uppdatera TLS/SSL-certifikatet i tjänstkonfigurationsfilen
Så här konfigurerar du klientcertifikat
Klientcertifikat krävs för att autentisera begäranden till tjänsten. Välj det mest tillämpliga av de tre scenarierna nedan och utför alla dess steg:
Inaktivera klientcertifikat
Utfärda nya självsignerade klientcertifikat
- Skapa en självsignerad certifikatutfärdare
- Ladda upp CA-certifikat till molntjänsten
- Uppdatera CA-certifikatet i tjänstkonfigurationsfilen
- Utfärda klientcertifikat
- Skapa PFX-filer för klientcertifikat
- Importera klientcertifikat
- Kopiera tumavtryck för klientcertifikat
- Konfigurera tillåtna klienter i tjänstkonfigurationsfilen
Använda befintliga klientcertifikat
- Hitta den offentliga ca-nyckeln
- Ladda upp CA-certifikat till molntjänsten
- Uppdatera CA-certifikatet i tjänstkonfigurationsfilen
- Kopiera tumavtryck för klientcertifikat
- Konfigurera tillåtna klienter i tjänstkonfigurationsfilen
- Konfigurera återkallningskontroll för klientcertifikat
Tillåtna IP-adresser
Åtkomst till tjänstslutpunkterna kan begränsas till specifika intervall med IP-adresser.
Så här konfigurerar du kryptering för arkivet
Ett certifikat krävs för att kryptera de autentiseringsuppgifter som lagras i metadatalagret. Välj det mest tillämpliga av de tre scenarierna nedan och utför alla dess steg:
Använda ett nytt självsignerat certifikat
- Skapa ett självsignerat certifikat
- Skapa PFX-fil för självsignerat krypteringscertifikat
- Ladda upp krypteringscertifikat till molntjänsten
- Uppdatera krypteringscertifikatet i tjänstkonfigurationsfilen
Använda ett befintligt certifikat från certifikatarkivet
- Exportera krypteringscertifikat från certifikatarkivet
- Ladda upp krypteringscertifikat till molntjänsten
- Uppdatera krypteringscertifikatet i tjänstkonfigurationsfilen
Använda ett befintligt certifikat i en PFX-fil
- Ladda upp krypteringscertifikat till molntjänsten
- Uppdatera krypteringscertifikatet i tjänstkonfigurationsfilen
Standardkonfigurationen
Standardkonfigurationen nekar all åtkomst till HTTP-slutpunkten. Detta är den rekommenderade inställningen eftersom begäranden till dessa slutpunkter kan innehålla känslig information som databasautentiseringsuppgifter. Standardkonfigurationen ger all åtkomst till HTTPS-slutpunkten. Den här inställningen kan begränsas ytterligare.
Ändra konfigurationen
Gruppen med åtkomstkontrollregler som gäller för och slutpunkten konfigureras i avsnittet EndpointAcls i tjänstkonfigurationsfilen>.<
<EndpointAcls>
<EndpointAcl role="SplitMergeWeb" endPoint="HttpIn" accessControl="DenyAll" />
<EndpointAcl role="SplitMergeWeb" endPoint="HttpsIn" accessControl="AllowAll" />
</EndpointAcls>
Reglerna i en åtkomstkontrollgrupp konfigureras i avsnittet <AccessControl name=""> i tjänstkonfigurationsfilen.
Formatet förklaras i dokumentationen för kontrollistor för nätverksåtkomst. Om du till exempel bara vill tillåta IP-adresser i intervallet 100.100.0.0 till 100.100.255.255 för åtkomst till HTTPS-slutpunkten ser reglerna ut så här:
<AccessControl name="Retricted">
<Rule action="permit" description="Some" order="1" remoteSubnet="100.100.0.0/16"/>
<Rule action="deny" description="None" order="2" remoteSubnet="0.0.0.0/0" />
</AccessControl>
<EndpointAcls>
<EndpointAcl role="SplitMergeWeb" endPoint="HttpsIn" accessControl="Restricted" />
</EndpointAcls>
Överbelastningsskydd
Det finns två olika mekanismer som stöds för att identifiera och förhindra Denial of Service-attacker:
- Begränsa antalet samtidiga begäranden per fjärrvärd (inaktiverad som standard)
- Begränsa åtkomsthastigheten per fjärrvärd (på som standard)
Dessa baseras på de funktioner som beskrivs ytterligare i Dynamisk IP-säkerhet i IIS. När du ändrar den här konfigurationen bör du akta dig för följande faktorer:
- Beteendet för proxyservrar och enheter för nätverksadressöversättning via fjärrvärdinformationen
- Varje begäran till en resurs i webbrollen beaktas (till exempel inläsning av skript, bilder osv.)
Begränsa antalet samtidiga åtkomster
Inställningarna som konfigurerar det här beteendet är:
<Setting name="DynamicIpRestrictionDenyByConcurrentRequests" value="false" />
<Setting name="DynamicIpRestrictionMaxConcurrentRequests" value="20" />
Ändra DynamicIpRestrictionDenyByConcurrentRequests till true för att aktivera det här skyddet.
Begränsa åtkomsthastigheten
Inställningarna som konfigurerar det här beteendet är:
<Setting name="DynamicIpRestrictionDenyByRequestRate" value="true" />
<Setting name="DynamicIpRestrictionMaxRequests" value="100" />
<Setting name="DynamicIpRestrictionRequestIntervalInMilliseconds" value="2000" />
Konfigurera svaret på en nekad begäran
Följande inställning konfigurerar svaret på en nekad begäran:
<Setting name="DynamicIpRestrictionDenyAction" value="AbortRequest" />
Se dokumentationen för dynamisk IP-säkerhet i IIS för andra värden som stöds.
Åtgärder för att konfigurera tjänstcertifikat
Det här avsnittet är endast som referens. Följ konfigurationsstegen som beskrivs i:
- Konfigurera TLS/SSL-certifikatet
- Konfigurera klientcertifikat
Skapa ett självsignerat certifikat
Kör:
makecert ^
-n "CN=myservice.cloudapp.net" ^
-e MM/DD/YYYY ^
-r -cy end -sky exchange -eku "1.3.6.1.5.5.7.3.1" ^
-a sha256 -len 2048 ^
-sv MySSL.pvk MySSL.cer
Så här anpassar du:
- -n med tjänstens URL. Jokertecken ("CN=*.cloudapp.net") och alternativa namn ("CN=myservice1.cloudapp.net, CN=myservice2.cloudapp.net") stöds.
- -e med certifikatets förfallodatum Skapa ett starkt lösenord och ange det när du uppmanas att göra det.
Skapa PFX-fil för självsignerat TLS/SSL-certifikat
Kör:
pvk2pfx -pvk MySSL.pvk -spc MySSL.cer
Ange lösenord och exportera sedan certifikatet med följande alternativ:
- Ja, exportera den privata nyckeln
- Exportera alla utökade egenskaper
Exportera TLS/SSL-certifikat från certifikatarkivet
- Hitta certifikat
- Klicka på Åtgärder –> Alla aktiviteter –> Exportera...
- Exportera certifikat till en . PFX-fil med följande alternativ:
- Ja, exportera den privata nyckeln
- Inkludera alla certifikat i certifieringssökvägen om möjligt *Exportera alla utökade egenskaper
Ladda upp TLS/SSL-certifikat till molntjänsten
Ladda upp certifikatet med den befintliga eller genererade . PFX-fil med TLS-nyckelparet:
- Ange lösenordet som skyddar informationen om den privata nyckeln
Uppdatera TLS/SSL-certifikat i tjänstkonfigurationsfilen
Uppdatera tumavtrycksvärdet för följande inställning i tjänstkonfigurationsfilen med tumavtrycket för certifikatet som laddats upp till molntjänsten:
<Certificate name="SSL" thumbprint="" thumbprintAlgorithm="sha1" />
Importera TLS/SSL-certifikatutfärdare
Följ dessa steg på alla konton/datorer som ska kommunicera med tjänsten:
- Dubbelklicka på . CER-fil i Utforskaren
- I dialogrutan Certifikat klickar du på Installera certifikat...
- Importera certifikat till arkivet Betrodda rotcertifikatutfärdare
Inaktivera klientcertifikatbaserad autentisering
Endast klientcertifikatbaserad autentisering stöds och inaktiverar den för offentlig åtkomst till tjänstslutpunkterna, såvida inte andra mekanismer finns på plats (till exempel Microsoft Azure Virtual Network).
Ändra de här inställningarna till false i tjänstkonfigurationsfilen för att inaktivera funktionen:
<Setting name="SetupWebAppForClientCertificates" value="false" />
<Setting name="SetupWebserverForClientCertificates" value="false" />
Kopiera sedan samma tumavtryck som TLS/SSL-certifikatet i ca-certifikatinställningen:
<Certificate name="CA" thumbprint="" thumbprintAlgorithm="sha1" />
Skapa en självsignerad certifikatutfärdare
Utför följande steg för att skapa ett självsignerat certifikat som fungerar som certifikatutfärdare:
makecert ^
-n "CN=MyCA" ^
-e MM/DD/YYYY ^
-r -cy authority -h 1 ^
-a sha256 -len 2048 ^
-sr localmachine -ss my ^
MyCA.cer
Anpassa den
- -e med certifieringens förfallodatum
Hitta den offentliga ca-nyckeln
Alla klientcertifikat måste ha utfärdats av en certifikatutfärdare som är betrodd av tjänsten. Hitta den offentliga nyckeln till certifikatutfärdare som utfärdade de klientcertifikat som ska användas för autentisering för att ladda upp den till molntjänsten.
Om filen med den offentliga nyckeln inte är tillgänglig exporterar du den från certifikatarkivet:
- Hitta certifikat
- Sök efter ett klientcertifikat som utfärdats av samma certifikatutfärdare
- Dubbelklicka på certifikatet.
- Välj fliken Certifieringssökväg i dialogrutan Certifikat.
- Dubbelklicka på CA-posten i sökvägen.
- Anteckna certifikategenskaperna.
- Stäng dialogrutan Certifikat.
- Hitta certifikat
- Sök efter certifikatet som anges ovan.
- Klicka på Åtgärder –> Alla aktiviteter –> Exportera...
- Exportera certifikat till en . CER med följande alternativ:
- Nej, exportera inte den privata nyckeln
- Inkludera alla certifikat i certifieringssökvägen om möjligt.
- Exportera alla utökade egenskaper.
Ladda upp CA-certifikat till molntjänsten
Ladda upp certifikatet med den befintliga eller genererade . CER-fil med den offentliga ca-nyckeln.
Uppdatera CA-certifikatet i tjänstkonfigurationsfilen
Uppdatera tumavtrycksvärdet för följande inställning i tjänstkonfigurationsfilen med tumavtrycket för certifikatet som laddats upp till molntjänsten:
<Certificate name="CA" thumbprint="" thumbprintAlgorithm="sha1" />
Uppdatera värdet för följande inställning med samma tumavtryck:
<Setting name="AdditionalTrustedRootCertificationAuthorities" value="" />
Utfärda klientcertifikat
Varje enskild person som har behörighet att komma åt tjänsten ska ha ett klientcertifikat utfärdat för exklusiv användning och bör välja sitt eget starka lösenord för att skydda sin privata nyckel.
Följande steg måste utföras på samma dator där det självsignerade CA-certifikatet genererades och lagrades:
makecert ^
-n "CN=My ID" ^
-e MM/DD/YYYY ^
-cy end -sky exchange -eku "1.3.6.1.5.5.7.3.2" ^
-a sha256 -len 2048 ^
-in "MyCA" -ir localmachine -is my ^
-sv MyID.pvk MyID.cer
Anpassa:
- -n med ett ID för till klienten som ska autentiseras med det här certifikatet
- -e med certifikatets förfallodatum
- MyID.pvk och MyID.cer med unika filnamn för det här klientcertifikatet
Det här kommandot uppmanar till att ett lösenord skapas och sedan används en gång. Använd ett starkt krypterat lösenord.
Skapa PFX-filer för klientcertifikat
Kör för varje genererat klientcertifikat:
pvk2pfx -pvk MyID.pvk -spc MyID.cer
Anpassa:
MyID.pvk and MyID.cer with the filename for the client certificate
Ange lösenord och exportera sedan certifikatet med följande alternativ:
- Ja, exportera den privata nyckeln
- Exportera alla utökade egenskaper
- Den person som certifikatet utfärdas till bör välja exportlösenordet
Importera klientcertifikat
Varje individ för vilken ett klientcertifikat har utfärdats ska importera nyckelparet på de datorer som de ska använda för att kommunicera med tjänsten:
- Dubbelklicka på . PFX-fil i Utforskaren
- Importera certifikat till det personliga arkivet med minst det här alternativet:
- Ta med alla utökade egenskaper markerade
Kopiera tumavtryck för klientcertifikat
Varje individ för vilken ett klientcertifikat har utfärdats måste följa dessa steg för att få tumavtrycket för certifikatet, som läggs till i tjänstkonfigurationsfilen:
- Kör certmgr.exe
- Välj fliken Personligt
- Dubbelklicka på det klientcertifikat som ska användas för autentisering
- I dialogrutan Certifikat som öppnas väljer du fliken Information
- Kontrollera att Visa visar alla
- Välj fältet Tumavtryck i listan
- Kopiera tumavtryckets värde
- Ta bort icke synliga Unicode-tecken framför den första siffran
- Ta bort alla blanksteg
Konfigurera tillåtna klienter i tjänstkonfigurationsfilen
Uppdatera värdet för följande inställning i tjänstkonfigurationsfilen med en kommaavgränsad lista över tumavtrycken för klientcertifikaten som tillåts åtkomst till tjänsten:
<Setting name="AllowedClientCertificateThumbprints" value="" />
Konfigurera kontroll av återkallning av klientcertifikat
Standardinställningen kontrollerar inte statusen för återkallande av klientcertifikat hos certifikatutfärdaren. Om du vill aktivera kontrollerna, om certifikatutfärdaren som utfärdade klientcertifikaten stöder sådana kontroller, ändrar du följande inställning med ett av värdena som definierats i X509RevocationMode-uppräkning:
<Setting name="ClientCertificateRevocationCheck" value="NoCheck" />
Skapa PFX-fil för självsignerade krypteringscertifikat
Kör för ett krypteringscertifikat:
pvk2pfx -pvk MyID.pvk -spc MyID.cer
Anpassa:
MyID.pvk and MyID.cer with the filename for the encryption certificate
Ange lösenord och exportera sedan certifikatet med följande alternativ:
- Ja, exportera den privata nyckeln
- Exportera alla utökade egenskaper
- Du behöver lösenordet när du laddar upp certifikatet till molntjänsten.
Exportera krypteringscertifikat från certifikatarkivet
- Hitta certifikat
- Klicka på Åtgärder –> Alla aktiviteter –> Exportera...
- Exportera certifikat till en . PFX-fil med följande alternativ:
- Ja, exportera den privata nyckeln
- Inkludera om möjligt alla certifikat i certifikatsökvägen
- Exportera alla utökade egenskaper
Ladda upp krypteringscertifikat till molntjänsten
Ladda upp certifikatet med den befintliga eller genererade . PFX-fil med krypteringsnyckelparet:
- Ange lösenordet som skyddar informationen om den privata nyckeln
Uppdatera krypteringscertifikatet i tjänstkonfigurationsfilen
Uppdatera tumavtrycksvärdet för följande inställningar i tjänstkonfigurationsfilen med tumavtrycket för certifikatet som laddats upp till molntjänsten:
<Certificate name="DataEncryptionPrimary" thumbprint="" thumbprintAlgorithm="sha1" />
Vanliga certifikatåtgärder
- Konfigurera TLS/SSL-certifikatet
- Konfigurera klientcertifikat
Hitta certifikat
Följ dessa steg:
- Kör mmc.exe.
- Fil –> Lägg till/ta bort snapin-modul...
- Välj Intyg.
- Klicka på Lägg till.
- Välj platsen för certifikatarkivet.
- Klicka på Finish.
- Klicka på OK.
- Expandera Certifikat.
- Expandera noden för certifikatarkivet.
- Expandera den underordnade noden Certifikat.
- Välj ett certifikat i listan.
Exportera certifikatet
I guiden Exportera certifikat:
- Klicka på Nästa.
- Välj Ja och sedan Exportera den privata nyckeln.
- Klicka på Nästa.
- Välj önskat utdatafilformat.
- Kontrollera önskade alternativ.
- Kontrollera lösenordet.
- Ange ett starkt lösenord och bekräfta det.
- Klicka på Nästa.
- Skriv eller bläddra i ett filnamn där certifikatet ska lagras (använd en . PFX-tillägg).
- Klicka på Nästa.
- Klicka på Finish.
- Klicka på OK.
Importera certifikat
I guiden Importera certifikat:
Välj butiksplatsen.
- Välj Aktuell användare om endast processer som körs under den aktuella användaren kommer åt tjänsten
- Välj Lokal dator om andra processer på den här datorn kommer åt tjänsten
Klicka på Nästa.
Bekräfta filsökvägen om du importerar från en fil.
Om du importerar en . PFX-fil:
- Ange lösenordet som skyddar den privata nyckeln
- Välj importalternativ
Välj "Placera" certifikat i följande arkiv
Klicka på Browse (Bläddra).
Välj önskat arkiv.
Klicka på Finish.
- Om arkivet Betrodd rotcertifikatutfärdare har valts klickar du på Ja.
Klicka på OK i alla dialogrutor.
Överför certifikat
- Välj Molntjänster.
- Välj molntjänsten.
- Klicka på Certifikat på den översta menyn.
- Klicka på Ladda upp i det nedre fältet.
- Välj certifikatfilen.
- Om det är en . PFX-fil, ange lösenordet för den privata nyckeln.
- När du är klar kopierar du certifikatets tumavtryck från den nya posten i listan.
Andra säkerhetsöverväganden
TLS-inställningarna som beskrivs i det här dokumentet krypterar kommunikationen mellan tjänsten och dess klienter när HTTPS-slutpunkten används. Detta är viktigt eftersom autentiseringsuppgifter för databasåtkomst och potentiellt annan känslig information finns i kommunikationen. Observera dock att tjänsten bevarar intern status, inklusive autentiseringsuppgifter, i sina interna tabeller i databasen i Azure SQL Database som du har angett för metadatalagring i din Microsoft Azure-prenumeration. Databasen definierades som en del av följande inställning i tjänstkonfigurationsfilen (. CSCFG-fil):
<Setting name="ElasticScaleMetadata" value="Server=…" />
Autentiseringsuppgifter som lagras i den här databasen krypteras. Som bästa praxis bör du dock se till att både webb- och arbetsrollerna för dina tjänstdistributioner hålls uppdaterade och säkra eftersom de båda har åtkomst till metadatadatabasen och certifikatet som används för kryptering och dekryptering av lagrade autentiseringsuppgifter.
Ytterligare resurser
Använder du inte elastiska databasverktyg än? Kolla in vår komma igång-guide. Om du har frågor kan du kontakta oss på microsofts Q&A-frågesida för SQL Database och för funktionsförfrågningar, lägga till nya idéer eller rösta på befintliga idéer i SQL Database-feedbackforumet.