Oefening: Uw gegevens beveiligen in transit, at-rest en bij weergave
In de database marketplaceDb wordt gevoelige informatie opgeslagen, zoals fysieke adressen, e-mailadressen en telefoonnummers. Als deze beschikbaar wordt gesteld, kunnen kwaadwillende aanvallers deze informatie gebruiken om uw bedrijf of uw klanten schade te berokkenen. Bekijk hoe u versleuteling en gegevensmaskering kunt gebruiken om de beveiliging van uw database te verbeteren.
TLS-netwerkversleuteling
Azure SQL Database dwingt TLS-versleuteling (Transport Layer Security) altijd af voor alle verbindingen, waardoor alle gegevens tijdens overdracht tussen de database en de client worden versleuteld. Door TLS-versleuteling te gebruiken, kunt u ervoor zorgen dat iedereen die het verkeer tussen de app-server en de database kan onderscheppen, de gegevens niet kan lezen. TLS-versleuteling is een standaard voor het beveiligen van verkeer via internet en zorgt er in dit geval voor dat uw netwerkverkeer van en naar uw Azure SQL-database standaard veilig is.
Transparent Data Encryption
Azure SQL Database beveiligt uw data-at-rest met Transparent Data Encryption (TDE). TDE voert in realtime versleuteling en ontsleuteling van de database, bijbehorende back-ups en transactielogboekbestanden 'at-rest' uit, zonder dat er wijzigingen in de toepassing moeten worden aangebracht. Transparante gegevensversleuteling voert realtime I/O-versleuteling en ontsleuteling van de gegevens op paginaniveau uit met behulp van een databaseversleutelingssleutel. Elke pagina wordt ontsleuteld wanneer deze wordt ingelezen in het geheugen en vervolgens versleuteld voordat deze naar een schijf wordt geschreven.
Standaard wordt TDE ingeschakeld voor alle nieuw geïmplementeerde Azure SQL-databases. Het is belangrijk om te controleren of gegevensversleuteling niet is uitgeschakeld. Voor oudere Azure SQL Server-databases is TDE mogelijk niet ingeschakeld.
Bekijk de Azure-portal waar TDE is geconfigureerd in uw MarketplaceDb-database .
Meld u aan bij Azure Portal met het account waarmee u de sandbox hebt geactiveerd.
Zoek in de zoekbalk boven aan Azure Portal naar MarketplaceDb en selecteer vervolgens de database.
Selecteer gegevensversleuteling in het linkermenuvenster onder Beveiliging.
Controleer of Gegevensversleuteling is ingesteld op Aan in de optie voor gegevensversleuteling. U ziet ook de versleutelingsstatus Versleuteld.
Omdat nieuwe databases standaard zijn versleuteld, kunt u ervoor zorgen dat uw gegevens op schijf zijn versleuteld zodra u de database maakt.
Notitie
Azure bevat een ingebouwde service met de naam Microsoft Defender voor Cloud waarmee u inzicht krijgt in de beveiliging van uw omgeving, waaronder Azure SQL-databases. Microsoft Defender voor Cloud markeert databases waarvoor TDE niet is ingeschakeld, zodat u kunt rapporteren en actie kunt ondernemen om uw gegevens te beveiligen.
Dynamische gegevensmaskering
Mogelijk merkt u dat wanneer u de query in de vorige les hebt uitgevoerd, bepaalde gegevens in de database gevoelig zijn. Er zijn telefoonnummers, e-mailadressen en andere informatie die u mogelijk niet volledig wilt weergeven voor iedereen met toegang tot de gegevens.
Misschien wilt u niet dat uw gebruikers het volledige telefoonnummer of e-mailadres kunnen zien, maar u wilt nog steeds een deel van de gegevens beschikbaar maken voor vertegenwoordigers van de klantenservice om een klant te identificeren. Met behulp van de functie voor dynamische gegevensmaskering van Azure SQL Database kunt u de gegevens beperken die worden weergegeven voor de gebruiker. Dynamische gegevensmaskering is een beveiligingsfunctie op basis van beleid waarmee de gevoelige gegevens worden verborgen in de resultatenset van een query boven aangewezen databasevelden, terwijl de gegevens in de database niet worden gewijzigd.
Gegevensmaskeringsregels bestaan uit de kolom waarop de maskering wordt toegepast en de wijze waarop de gegevens moeten worden gemaskeerd. U kunt uw eigen maskeringsindeling maken of een van de standaardmaskers gebruiken, zoals:
- standaardwaarde, waar de standaardwaarde voor het gegevenstype wordt weergeven;
- Creditcardwaarde, waarbij alleen de laatste vier cijfers van het getal worden weergegeven, waarbij alle andere getallen worden geconverteerd naar kleine letters x's.
- e-mail, waarmee de domeinnaam en alle tekens, behalve de laatste, van een e-mailaccount worden gemaskeerd;
- Getal, waarmee een willekeurig getal tussen een reeks waarden wordt opgegeven. U kunt bijvoorbeeld voor de verloopdatum van een creditcard de maand willekeurig maken tussen 1 en 12 en een jaarbereik instellen van 2018 tot 3000.
- Aangepaste tekenreeks, waarmee u het aantal tekens kunt instellen dat aan het begin en het eind van de gegevens wordt weergegeven en de tekens die herhaald moeten worden voor de rest van de gegevens.
Wanneer databasebeheerders query's uitvoeren op de kolommen, zien ze nog steeds de oorspronkelijke waarden. Niet-beheerders zien de gemaskeerde waarden. U kunt andere gebruikers toestaan om de niet-gemaskeerde versies te zien door ze toe te voegen aan de SQL-gebruikers die zijn uitgesloten van maskeringslijst.
Bekijk hoe gegevensmaskering zou werken in uw MarketplaceDb-database .
Terwijl u zich nog in de portal in het deelvenster marketplaceDb-database bevindt, selecteert u in het linkermenuvenster onder Beveiliging dynamische gegevensmaskering.
Op het scherm met maskeringsregels staat een lijst met bestaande dynamische gegevensmaskers en aanbevelingen voor kolommen waar u mogelijk een dynamisch gegevensmasker op wilt toepassen.
Voeg een masker toe voor het telefoonnummer dat alleen de laatste vier cijfers weergeeft. Selecteer de knop Masker toevoegen bovenaan om het dialoogvenster Maskeringsregel toevoegen te openen.
Selecteer de volgende waarden.
Instelling Value Schema SalesLT Tabel Customer Kolom Telefoon (nvarchar) Indeling van maskeringsveld Aangepaste tekenreeks (voorvoegsel [opvulling] achtervoegsel) Weergegeven voorvoegsel 0 Tekenreeks voor opvulling XXX-XXX - Weergegeven achtervoegsel 4 Selecteer Toevoegen om de maskeringsregel toe te voegen.
Voeg nog een toe voor het e-mailadres. Selecteer de knop Masker toevoegen bovenaan opnieuw om het dialoogvenster Maskeringsregel toevoegen te openen.
Instelling Value Schema SalesLT Tabel Customer Kolom E-mailadres (nvarchar) Indeling van maskeringsveld E-mail (aXXX@XXX.com) Selecteer Toevoegen om de maskeringsregel toe te voegen.
Elk nieuw masker wordt toegevoegd aan de lijst met maskeringsregels. Selecteer Opslaan om de maskers toe te passen.
Bekijk hoe gegevensmaskering uw query wijzigt.
Meld u nu weer aan bij de database, maar als applicationUser-gebruiker.
sqlcmd -S tcp:[server-name].database.windows.net,1433 -d marketplaceDb -U 'ApplicationUser' -P '[password]' -N -l 30
Voer de volgende query uit.
SELECT FirstName, LastName, EmailAddress, Phone FROM SalesLT.Customer; GO
Bekijk hoe de uitvoer wordt gemaskeerd.
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 ...
Met de maskeringsregels die u hebt gemaakt, worden uw gegevens gemaskeerd met de indeling die u opgeeft. Met deze regels kunnen de vertegenwoordigers van de klantenservice een klant verifiëren met de laatste vier cijfers van hun telefoonnummer, maar worden het volledige nummer en het e-mailadres van de klant verborgen.