Övning – Skydda dina data under överföring, i vila och vid visning

Slutförd

Databasen marketplaceDb lagrar information som är känslig, till exempel fysiska adresser, e-postadresser och telefonnummer. Om de exponeras kan angripare använda den här informationen för att skada ditt företag eller dina kunder. Titta på hur du kan använda kryptering och datamaskering för att förbättra säkerheten för databasen.

TLS-kryptering för nätverk

Azure SQL Database tillämpar TLS-kryptering (Transport Layer Security) alltid för alla anslutningar, vilket säkerställer att alla data krypteras under överföring mellan databasen och klienten. Genom att använda TLS-kryptering kan du se till att alla som kan avlyssna trafiken mellan appservern och databasen inte kan läsa data. TLS-kryptering är en standard för att skydda trafik via internet, och i det här fallet säkerställer den att din nätverkstrafik till och från Azure SQL-databasen skyddas som standard.

Transparent datakryptering

Azure SQL Database skyddar dina data i vila med hjälp av transparent datakryptering. Transparent datakryptering utför realtidskryptering och realtidsdekryptering av databasen, tillhörande säkerhetskopior och transaktionsloggfiler i vila, utan att några ändringar krävs i programmet. Transparent datakryptering utför I/O-kryptering i realtid och dekryptering av data på sidnivå med hjälp av en databaskrypteringsnyckel. Varje sida dekrypteras när de läses in i minnet och krypteras sedan innan de skrivs tillbaka till disken.

Som standard är transparent datakryptering aktiverat för alla nyligen distribuerade Azure SQL-databaser. Det är viktigt att kontrollera att datakryptering inte är inaktiverat. Äldre Azure SQL Server-databaser kanske inte har TDE aktiverat.

Ta en titt på Azure-portalen där TDE har konfigurerats på din MarketplaceDb-databas .

  1. Logga in på Azure-portalen med samma konto som du använde när du aktiverade sandbox-miljön.

  2. I sökfältet överst i Azure-portalen söker du efter marketplaceDb och väljer sedan databasen.

  3. Välj Datakryptering under Säkerhet i det vänstra menyfönstret.

  4. I datakrypteringsalternativet verifierar du att Datakryptering är inställt på . Du bör även se krypteringsstatusen Krypterad.

Eftersom nya databaser krypteras som standard kan du vara säker på att dina data krypteras på disk från så snart du skapar databasen.

Kommentar

Azure innehåller en inbyggd tjänst som heter Microsoft Defender för molnet som ger dig insyn i säkerheten i din miljö, inklusive Azure SQL-databaser. Microsoft Defender för molnet flaggar alla databaser som inte har TDE aktiverat på dem, vilket ger dig möjlighet att rapportera och vidta åtgärder för att skydda dina data.

Dynamisk datamaskning

Du kanske märker att när du körde frågan i föregående lektion är en del av informationen i databasen känslig. Det finns telefonnummer, e-postadresser och annan information som du kanske inte vill visa helt för alla med åtkomst till data.

Du kanske inte vill att användarna ska kunna se hela telefonnumret eller e-postadressen, men du vill ändå göra en del av data tillgängliga för kundtjänstrepresentanter för att identifiera en kund. Genom att använda funktionen för dynamisk datamaskering i Azure SQL Database kan du begränsa de data som visas för användaren. Dynamisk datamaskering är en principbaserad säkerhetsfunktion som döljer känsliga data i resultatuppsättningen för en fråga över angivna databasfält, medan data i databasen inte ändras.

Datamaskeringsregler består av den kolumn som masken ska tillämpas på och hur data ska maskeras. Du kan skapa ett eget maskeringsformat eller använda någon av standardmaskerna, till exempel:

  • Standardvärde, som visar standardvärdet för datatypen i stället.
  • Kreditkortsvärde, som endast visar de sista fyra siffrorna i talet, konverterar alla andra tal till gemener x.
  • E-post, som döljer domännamnet och allt utom det första tecknet i namnet på e-postkontot.
  • Nummer, som visar ett slumptal i ett intervall med värden. Som kreditkortets förfallodatum kan du exempelvis välja slumpmässiga månader från 1 till 12 och ett årsintervall från 2018 till 3000.
  • Anpassad sträng, som gör att du kan ange det antal tecken som exponeras från början av data, antalet tecken som exponeras från slutet av data och de tecken som ska upprepas för resten av data.

När databasadministratörer frågar efter kolumnerna ser de fortfarande de ursprungliga värdena. Icke-administratörer ser de maskerade värdena. Du kan låta andra användare se de icke-maskerade versionerna genom att lägga till dem i sql-användare som undantas från maskeringslistan.

Ta en titt på hur datamaskering skulle fungera i din MarketplaceDb-databas .

  1. I det vänstra menyfönstret i portalen på marketplaceDb-databaspanelen väljer du Dynamisk datamaskering under Säkerhet.

    Skärmen med maskeringsregler visar en lista med befintlig dynamisk datamaskering och rekommendationer för kolumner där en dynamisk datamaskering skulle kunna vara lämplig.

    Screenshot of the Azure portal showing a list of the recommended masks for the various database columns of a sample database.

  2. Lägg till en mask för telefonnumret som bara visar de fyra sista siffrorna. Välj knappen Lägg till mask längst upp för att öppna dialogrutan Lägg till maskeringsregel.

  3. Välj följande värden.

    Inställning Värde
    Schema SalesLT
    Tabell Kund
    Column Telefon (nvarchar)
    Maskeringsfältformat Anpassad sträng (prefix [utfyllnad] suffix)
    Exponerat prefix 0
    Utfyllnadssträng XXX-XXX-
    Exponerat suffix 4
  4. Välj Lägg till för att lägga till maskningsregeln.

    Screenshot of the Azure portal showing the values to add a masking rule.

  5. Lägg till en till för e-postadressen. Välj knappen Lägg till mask längst upp igen för att öppna dialogrutan Lägg till maskeringsregel.

    Inställning Värde
    Schema SalesLT
    Tabell Kund
    Column E-postadress (nvarchar)
    Maskeringsfältformat E-post (aXXX@XXX.com)
  6. Välj Lägg till för att lägga till maskningsregeln.

  7. Varje ny mask läggs till i listan med maskeringsregler. Välj Spara för att använda maskerna.

Ta en titt på hur datamaskering ändrar din fråga.

  1. Logga nu in på databasen igen, men som ApplicationUser-användare .

    sqlcmd -S tcp:[server-name].database.windows.net,1433 -d marketplaceDb -U 'ApplicationUser' -P '[password]' -N -l 30
    
  2. Kör följande fråga.

    SELECT FirstName, LastName, EmailAddress, Phone FROM SalesLT.Customer;
    GO
    

    Titta på hur utdata maskeras.

    FirstName     LastName      EmailAddress         Phone
    ------------- ------------- -------------------- ------------
    Orlando       Gee           oXXX@XXXX.com        XXX-XXX-0173
    Keith         Harris        kXXX@XXXX.com        XXX-XXX-0127
    Donna         Carreras      dXXX@XXXX.com        XXX-XXX-0130
    Janet         Gates         jXXX@XXXX.com        XXX-XXX-0173
    ...
    

Med de maskeringsregler som du skapade maskeras dina data med det format som du anger. De här reglerna gör det möjligt för kundtjänstrepresentanter att verifiera en kund med de fyra sista siffrorna i sitt telefonnummer, men döljer hela numret och kundens e-postadress från vyn.