Übung: Sichern von Daten während der Übertragung, im Ruhezustand und bei der Anzeige

Abgeschlossen

In der Datenbank marketplaceDb werden vertrauliche Daten wie physische Adressen, E-Mail-Adressen und Telefonnummern gespeichert. Eine Offenlegung dieser Informationen durch böswillige Angreifer könnte Schäden für Ihr Unternehmen oder Ihre Kunden nach sich ziehen. Im Folgenden erfahren Sie, wie Sie die Verschlüsselung und Datenmaskierung verwenden können, um die Sicherheit Ihrer Datenbank zu verbessern.

TLS-Netzwerkverschlüsselung

Azure SQL-Datenbank erzwingt immer eine TLS-Verschlüsselung (Transport Layer Security) für alle Verbindungen, um sicherzustellen, dass alle Daten während der Übertragung zwischen Datenbank und Client verschlüsselt sind. Mithilfe der TLS-Verschlüsselung können Sie sicherstellen, dass niemand, der den Datenverkehr zwischen dem Anwendungsserver und der Datenbank abfängt, die Daten lesen kann. Die TLS-Verschlüsselung ist ein Standard für die Sicherung von Datenverkehr über das Internet. In diesem Fall wird damit sichergestellt, dass der Netzwerkdatenverkehr zu und von Azure SQL-Datenbank standardmäßig sicher ist.

Transparent Data Encryption

Azure SQL-Datenbank schützt Ihre ruhenden Daten mithilfe von TDE (Transparent Data Encryption). TDE ver- und entschlüsselt die Datenbank, die zugehörigen Sicherungen und die Transaktionsprotokolldateien im Ruhezustand in Echtzeit, ohne dass Änderungen an der Anwendung erforderlich sind. Transparent Data Encryption (TDE) führt die E/A-Verschlüsselung und -Entschlüsselung der Daten auf Seitenebene in Echtzeit mithilfe eines Datenbankverschlüsselungsschlüssels durch. Jede Seite wird entschlüsselt, wenn sie in den Speicher gelesen wird, und dann verschlüsselt, bevor sie auf den Datenträger geschrieben wird.

TDE ist standardmäßig für alle neu bereitgestellten Azure SQL-Datenbanken aktiviert. Es ist wichtig, sicherzustellen, dass die Datenverschlüsselung nicht deaktiviert ist. Bei älteren Azure SQL Server-Datenbanken ist TDE möglicherweise nicht aktiviert.

Schauen Sie im Azure-Portal nach, wo TDE in Ihrer Datenbank marketplaceDb konfiguriert ist.

  1. Melden Sie sich beim Azure-Portal mit dem Konto an, über das Sie die Sandbox aktiviert haben.

  2. Suchen Sie in der Suchleiste am oberen Rand des Azure-Portals nach marketplaceDb und wählen Sie dann die Datenbank aus.

  3. Wählen Sie im linken Menübereich unter Sicherheit die Option Datenverschlüsselung aus.

  4. Stellen Sie in der Datenverschlüsselungsoption sicher, dass Ein für die Datenverschlüsselung festgelegt ist. Außerdem sollte der Verschlüsselungsstatus Verschlüsselt angezeigt werden.

Weil neue Datenbanken standardmäßig verschlüsselt sind, können Sie sich sicher sein, dass Ihre Daten auf dem Datenträger verschlüsselt sind, sobald die Datenbank erstellt wird.

Hinweis

Azure enthält einen integrierten Dienst namens Microsoft Defender für Cloud, der Ihnen Einblick in die Sicherheit Ihrer Umgebung und Ihre Azure SQL-Datenbanken gewährt. Microsoft Defender for Cloud kennzeichnet alle Datenbanken, für die TDE nicht aktiviert ist, wodurch Sie die Möglichkeit haben, dies zu melden und Maßnahmen zu ergreifen, um Ihre Daten zu schützen.

Dynamische Datenmaskierung

Möglicherweise haben Sie festgestellt, dass beim Ausführen der Abfrage in der vorherigen Lerneinheit einige der Informationen in der Datenbank vertraulich waren. Es gibt Telefonnummern, E-Mail-Adressen und andere Informationen, die Sie möglicherweise nicht für jeden mit Zugriff auf die Daten vollständig anzeigen möchten.

Vielleicht möchten Sie nicht, dass Ihre Benutzer die vollständige Telefonnummer oder E-Mail-Adresse sehen können, aber ein Teil der Daten soll für Kundendienstmitarbeiter verfügbar sein, damit sie Kunden identifizieren können. Mithilfe der dynamischen Datenmaskierung von Azure SQL-Datenbank können Sie die angezeigten Daten für Benutzer einschränken. Die dynamische Datenmaskierung ist ein richtlinienbasiertes Sicherheitsfeature, das die sensiblen Daten im Resultset einer Abfrage in festgelegten Datenbankfeldern ausblendet, ohne dass die Daten in der Datenbank geändert werden.

Die Regeln für die Datenmaskierung bestehen aus den Spalten, die maskiert werden sollen, und der Art, wie die Daten maskiert werden sollen. Sie können Ihr eigenes Maskierungsformat erstellen oder eine der Standardmaskierungen verwenden, z. B.:

  • Alternativer Standardwert für diesen Datentyp.
  • Kreditkartenwert, bei dem nur die letzten vier Ziffern der Zahl angezeigt und alle anderen Ziffern in den Kleinbuchstaben „x“ konvertiert werden.
  • E-Mail-Adresse, wobei der Domänenname und alle Zeichen des E-Mail-Kontonamens bis auf das erste ausgeblendet werden.
  • Zahl, wobei eine Zufallszahl aus einem Wertebereich angegeben wird. Sie könnten z. B. aus der Monats- und Jahresangabe des Kreditkartenablaufdatums zufällige Monate von 1 bis 12 auswählen und den Jahresbereich von 2018 bis 3000 festlegen.
  • „Benutzerdefinierte Zeichenfolge“ erläutert die Anzahl der Zeichen, die vom Datenanfang an verfügbar sind, die Anzahl der Zeichen, die zum Datenende hin verfügbar sind, und die im Rest der Daten zu wiederholenden Zeichen festlegen.

Wenn Datenbankadministratoren die Spalten abfragen, werden weiterhin die ursprünglichen Werte angezeigt. Andere Benutzer sehen die maskierten Werte. Sie können anderen Benutzern erlauben, die nicht maskierten Versionen zu sehen, indem Sie sie zur Liste der von der Maskierung ausgeschlossenen SQL-Benutzer hinzufügen.

Sehen Sie sich an, wie die Datenmaskierung bei Ihrer Datenbank marketplaceDb funktioniert.

  1. Wählen Sie im Portal im Datenbankbereich marketplaceDb im linken Menübereich unter Sicherheit die Option Dynamische Datenmaskierung aus.

    Auf dem Bildschirm „Maskierungsregeln“ werden eine Liste der vorhandenen dynamischen Datenmasken und Empfehlungen für Spalten angezeigt, auf die potenziell eine dynamische Datenmaske angewendet werden könnte.

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

  2. Fügen Sie eine Maske für die Telefonnummer hinzu, damit nur die letzten vier Ziffern angezeigt werden. Wählen Sie hierzu oben die Schaltfläche Maske hinzufügen aus, um das Dialogfeld Maskierungsregel hinzufügen zu öffnen.

  3. Wählen Sie folgende Werte aus:

    Einstellung Wert:
    Schema SalesLT
    Tabelle Customer
    Spalte Phone (nvarchar)
    Format des Maskierungsfelds Benutzerdefinierte Zeichenfolge (Präfix [Auffüllung] Suffix)
    Verfügbar gemachtes Präfix 0
    Zeichenfolge zur Auffüllung XXX-XXX-
    Verfügbar gemachtes Suffix 4
  4. Klicken Sie auf Hinzufügen, um die Maskierungsregel hinzuzufügen.

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

  5. Fügen Sie eine weitere Regel für die E-Mail-Adressen hinzu. Wählen Sie hierzu oben erneut die Schaltfläche Maske hinzufügen aus, um das Dialogfeld Maskierungsregel hinzufügen zu öffnen.

    Einstellung Wert:
    Schema SalesLT
    Tabelle Customer
    Spalte EmailAddress (nvarchar)
    Format des Maskierungsfelds E-Mail (aXXX@XXX.com)
  6. Klicken Sie auf Hinzufügen, um die Maskierungsregel hinzuzufügen.

  7. Jede neue Maske wird der Liste an Maskierungsregeln hinzugefügt. Wählen Sie Speichern aus, um die Masken anzuwenden.

Sehen Sie sich an, wie durch die Datenmaskierung die Abfrage verändert wird.

  1. Melden Sie sich dieses Mal als ApplicationUser bei der Datenbank an.

    sqlcmd -S tcp:serverNNNNN.database.windows.net,1433 -d marketplaceDb -U 'ApplicationUser' -P '[password]' -N -l 30
    
  2. Führen Sie die folgende Abfrage aus.

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

    Sehen Sie sich an, wie die Ausgabe maskiert wurde.

    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
    ...
    

Mit den von Ihnen erstellten Maskierungsregeln werden Ihre Daten im angegebenen Format maskiert. Diese Regeln ermöglichen es Ihren Kundendienstmitarbeitern, Kunden anhand der letzten vier Ziffern der Telefonnummern zu überprüfen, während jedoch die vollständige Nummer und E-Mail-Adresse des Kunden ausgeblendet werden.