Dela via


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 Distribuera en split-merge-tjänst för att flytta data mellan fragmenterade databaser.

Konfigurera certifikat

Certifikat konfigureras på två sätt.

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

Hämta 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

Kör verktygen

Konfigurera 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 Self-Signed certifikat
  2. Skapa PFX-fil för Self-Signed 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

Använda 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

Använda ett befintligt certifikat i en PFX-fil

  1. Ladda upp TLS/SSL-certifikat till molntjänsten
  2. Uppdatera TLS/SSL-certifikatet i tjänstkonfigurationsfilen

Konfigurera 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 klient-Certificate-Based-autentisering

Utfärda nya självsignerade klientcertifikat

  1. Skapa en Self-Signed 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.

Konfigurera kryptering för lagringen

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 Self-Signed certifikat
  2. Skapa PFX-fil för Self-Signed 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. Det här ä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="Restricted">
    <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>

Skydd mot tjänsteavslag

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 hos proxyservrar och enheter för nätverksadressöversättning angående fjärrvärduppgifter
  • 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
  • Välj Åtgärder ->Alla uppgifter ->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:

  1. Dubbelklicka på . CER-fil i Utforskaren.
  2. I dialogrutan Certifikat väljer du Installera certifikat....
  3. Importera certifikatet till lagringen för Betrodda rotcertifikatsutfärdares.

Inaktivera klientcertifikatbaserad autentisering

Endast klientcertifikatbaserad autentisering stöds, och att inaktivera den kommer att tillåta 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 utgångsdatum

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.
  • Välj Åtgärder ->Alla uppgifter ->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 lösenord.

Skapa PFX-filer för klientcertifikat

Kör följande 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 inställningen Visa är inställd på 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 kommandot 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

  1. Sök efter certifikat.
  2. Välj Åtgärder ->Alla uppgifter ->Exportera....
  3. 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
  1. 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 i Windows mmc.exe.
  2. Arkiv ->Lägg till/ta bort snap-in...
  3. Välj certifikat.
  4. Välj Lägg till.
  5. Välj platsen för certifikatbutiken.
  6. Välj Slutför.
  7. Välj OK.
  8. Expandera Certifikat.
  9. Expandera noden för certifikatarkivet.
  10. Expandera den underordnade noden Certifikat.
  11. Välj ett certifikat i listan.

Exportcertifikat

I Certifikatexportguiden:

  1. Välj Nästa.
  2. Välj Ja och sedan Exportera den privata nyckeln.
  3. Välj 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. Välj Nästa.
  9. Skriv eller bläddra i ett filnamn där certifikatet ska lagras (använd en . PFX-tillägg).
  10. Välj Nästa.
  11. Välj Slutför.
  12. Välj OK.

Importcertifikat

I guiden för import av 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. Välj 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 lager

  6. Välj Bläddra.

  7. Välj önskad butik.

  8. Välj Slutför.

    • Om det betrodda rotcertifikatutfärdararkivet har valts väljer du Ja.
  9. Välj OK i alla dialogrutor.

Överför certifikat

I Azure Portal

  1. Välj Cloud Services.
  2. Välj molntjänsten.
  3. Välj Certifikat på den översta menyn.
  4. Välj 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.

Använder du inte elastiska databasverktyg än? Kolla in vår komma igång-guide. För frågor kan du kontakta oss på Microsoft Q&En 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.