Övning – Skydda dina data under överföring, i vila och vid visning
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 .
Logga in på Azure-portalen med samma konto som du använde när du aktiverade sandbox-miljön.
I sökfältet överst i Azure-portalen söker du efter marketplaceDb och väljer sedan databasen.
Välj Datakryptering under Säkerhet i det vänstra menyfönstret.
I datakrypteringsalternativet verifierar du att Datakryptering är inställt på 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 .
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.
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.
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 Välj Lägg till för att lägga till maskningsregeln.
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) Välj Lägg till för att lägga till maskningsregeln.
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.
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
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.