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.

  1. Så här konfigurerar du TLS/SSL-certifikatet
  2. Konfigurera klientcertifikat

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

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

  1. Skapa ett självsignerat certifikat
  2. Skapa PFX-fil för självsignerat TLS/SSL-certifikat
  3. Ladda upp TLS/SSL-certifikat till molntjänsten
  4. Uppdatera TLS/SSL-certifikatet i tjänstkonfigurationsfilen
  5. Importera TLS/SSL-certifikatutfärdare

Så här använder du ett befintligt certifikat från certifikatarkivet

  1. Exportera TLS/SSL-certifikat från certifikatarkivet
  2. Ladda upp TLS/SSL-certifikat till molntjänsten
  3. Uppdatera TLS/SSL-certifikatet i tjänstkonfigurationsfilen

Så här använder du ett befintligt certifikat i en PFX-fil

  1. Ladda upp TLS/SSL-certifikat till molntjänsten
  2. 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

  1. Inaktivera klientcertifikatbaserad autentisering

Utfärda nya självsignerade klientcertifikat

  1. Skapa en självsignerad certifikatutfärdare
  2. Ladda upp CA-certifikat till molntjänsten
  3. Uppdatera CA-certifikatet i tjänstkonfigurationsfilen
  4. Utfärda klientcertifikat
  5. Skapa PFX-filer för klientcertifikat
  6. Importera klientcertifikat
  7. Kopiera tumavtryck för klientcertifikat
  8. Konfigurera tillåtna klienter i tjänstkonfigurationsfilen

Använda befintliga klientcertifikat

  1. Hitta den offentliga ca-nyckeln
  2. Ladda upp CA-certifikat till molntjänsten
  3. Uppdatera CA-certifikatet i tjänstkonfigurationsfilen
  4. Kopiera tumavtryck för klientcertifikat
  5. Konfigurera tillåtna klienter i tjänstkonfigurationsfilen
  6. 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

  1. Skapa ett självsignerat certifikat
  2. Skapa PFX-fil för självsignerat krypteringscertifikat
  3. Ladda upp krypteringscertifikat till molntjänsten
  4. Uppdatera krypteringscertifikatet i tjänstkonfigurationsfilen

Använda ett befintligt certifikat från certifikatarkivet

  1. Exportera krypteringscertifikat från certifikatarkivet
  2. Ladda upp krypteringscertifikat till molntjänsten
  3. Uppdatera krypteringscertifikatet i tjänstkonfigurationsfilen

Använda ett befintligt certifikat i en PFX-fil

  1. Ladda upp krypteringscertifikat till molntjänsten
  2. 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:

  1. Kör mmc.exe.
  2. Fil –> Lägg till/ta bort snapin-modul...
  3. Välj Intyg.
  4. Klicka på Lägg till.
  5. Välj platsen för certifikatarkivet.
  6. Klicka på Finish.
  7. Klicka på OK.
  8. Expandera Certifikat.
  9. Expandera noden för certifikatarkivet.
  10. Expandera den underordnade noden Certifikat.
  11. Välj ett certifikat i listan.

Exportera certifikatet

I guiden Exportera certifikat:

  1. Klicka på Nästa.
  2. Välj Ja och sedan Exportera den privata nyckeln.
  3. Klicka på Nästa.
  4. Välj önskat utdatafilformat.
  5. Kontrollera önskade alternativ.
  6. Kontrollera lösenordet.
  7. Ange ett starkt lösenord och bekräfta det.
  8. Klicka på Nästa.
  9. Skriv eller bläddra i ett filnamn där certifikatet ska lagras (använd en . PFX-tillägg).
  10. Klicka på Nästa.
  11. Klicka på Finish.
  12. Klicka på OK.

Importera certifikat

I guiden Importera certifikat:

  1. 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
  2. Klicka på Nästa.

  3. Bekräfta filsökvägen om du importerar från en fil.

  4. Om du importerar en . PFX-fil:

    1. Ange lösenordet som skyddar den privata nyckeln
    2. Välj importalternativ
  5. Välj "Placera" certifikat i följande arkiv

  6. Klicka på Browse (Bläddra).

  7. Välj önskat arkiv.

  8. Klicka på Finish.

    • Om arkivet Betrodd rotcertifikatutfärdare har valts klickar du på Ja.
  9. Klicka på OK i alla dialogrutor.

Överför certifikat

I Azure Portal

  1. Välj Molntjänster.
  2. Välj molntjänsten.
  3. Klicka på Certifikat på den översta menyn.
  4. Klicka på Ladda upp i det nedre fältet.
  5. Välj certifikatfilen.
  6. Om det är en . PFX-fil, ange lösenordet för den privata nyckeln.
  7. 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.