Übung: Überwachen Ihrer Datenbank

Abgeschlossen

Stellen Sie sich vor, Sie erhalten eine Benachrichtigung vom Sicherheitsadministrator Ihres Unternehmens. Eine potenzielle Sicherheitsverletzung wurde in Ihrem Netzwerk erkannt. Es wird vermutet, dass ein nicht autorisierter Benutzer durch schädliche Aktivitäten möglicherweise auf Ihre Datenbank zugegriffen hat. Wie würden Sie das nachverfolgen?

Sie wissen, dass Sie Ihre Datenbank aktiv auf verdächtige Aktivitäten überwachen müssen. Aber was können Sie tun, um nicht nur einen Einblick in die Vorgänge in Ihrer Datenbank zu erhalten, sondern auch schädlichen Aktivitäten vorzubeugen?

Die Azure SQL-Datenbank verfügt über integrierte Features, mit denen Sie nachverfolgen können, was in Ihrer Datenbank passiert. Diese können die Datenbank überwachen und Sie benachrichtigen, wenn schädliche Aktivitäten identifiziert werden.

Azure SQL-Datenbanküberwachung

Durch Aktivieren der Überwachung werden die Vorgänge, die in der Datenbank auftreten, zur späteren Untersuchung oder Analyse durch automatisierte Tools gespeichert. Die Überwachung dient auch zur Konformitätsverwaltung oder um zu verstehen, wie Ihre Datenbank verwendet wird. Überwachung ist auch erforderlich, wenn Sie die Bedrohungserkennung von Azure in Ihrer Azure SQL-Datenbank-Instanz verwenden möchten.

Sie können die SQL-Datenbank-Überwachung für folgende Zwecke verwenden:

  • Beibehalten eines Überwachungspfads von ausgewählten Ereignissen. Sie können Kategorien für zu protokollierende Datenbankaktionen und -ereignisse konfigurieren.
  • Melden von Datenbankaktivitäten. Sie können vorkonfigurierte Berichte und ein Dashboard verwenden, um schnell mit der Berichterstattung über Aktivitäten und Ereignisse zu beginnen.
  • Analysieren von Berichten. Sie können nach verdächtigen Ereignissen, ungewöhnlichen Aktivitäten und Trends suchen.

Überwachungsprotokolle werden an Anfügeblobs in ein Azure Blob Storage-Konto geschrieben, das Sie bestimmen. Überwachungsrichtlinien können auf Serverebene oder auf Datenbankebene angewendet werden. Nach der Aktivierung können Sie das Azure-Portal zum Anzeigen der Protokolle nutzen oder diese zur weiteren Verarbeitung und Analyse an Log Analytics oder Event Hubs senden.

Überwachung in der Praxis

Es wird empfohlen,die Serverblobüberwachung und die Datenbankblobüberwachung nicht zusammen zu aktivieren, es sei denn:

  • Sie möchten ein anderes Speicherkonto oder eine andere Aufbewahrungsdauer für eine bestimmte Datenbank verwenden.
  • Sie möchten andere Ereignistypen oder Kategorien für eine bestimmte Datenbank überwachen als die, die für die restlichen Datenbanken auf dem Server überwacht werden. Beispielsweise sollen Tabelleneinfügungen nur für eine bestimmte Datenbank überwacht werden.

Andernfalls empfehlen wir, die Blobüberwachung nur auf Serverebene zu aktivieren und die Überwachung auf Datenbankebene für alle Datenbanken zu deaktivieren.

Führen Sie die folgenden Schritte aus, um die Überwachung auf Ihrem System einzurichten.

  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 Portals nach serverNNNNN und wählen Sie dann den Server im Portal aus. Ersetzen Sie NNNNN durch die Nummer ihres Servernamens.

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

  4. Die Überwachung ist standardmäßig deaktiviert. Zur Aktivierung der Funktion auf Ihrem Datenbankserver legen Sie Umschaltfläche Azure SQL-Überwachung aktivieren auf EIN fest.

  5. Nachdem Sie die Schaltfläche EIN ausgewählt haben, aktivieren Sie das Kontrollkästchen Speicher.

  6. Wählen Sie Ihr Abonnement aus.

  7. Sie können ein vorhandenes Speicherkonto auswählen oder ein neues erstellen, um Ihre Überwachungsprotokolle zu speichern. Das Speicherkonto muss für die Verwendung in der gleichen Region wie Ihr Server konfiguriert werden.

    Definieren Sie in diesem Fall ein neues Speicherkonto. Wählen Sie unter Speicherkonto die Option Neu erstellen aus. Der Bereich Speicherkonto erstellen wird angezeigt. Nennen Sie das Speicherkonto serverNNNNNauditing und ersetzen Sie dabei NNNNN durch die Nummer im Namen Ihres logischen Servers.

  8. Behalten Sie für die restlichen Optionen die Standardwerte bei, und wählen Sie OK aus. Kehren Sie in den Bereich Speichereinstellungen zurück, behalten Sie die Standardwerte bei, und wählen Sie OK aus.

  9. Wählen Sie die Schaltfläche Speichern aus, um Ihre Änderungen zu speichern und die Überwachung auf Ihrem Datenbankserver zu aktivieren.

Nun generieren Sie einige Überwachungsdatensätze und sehen sich an, was Sie erwarten können.

  1. Melden Sie sich in der Datenbank wieder als ApplicationUser 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
    
  3. Kehren Sie in das Azure-Portal auf Ihrem SQL Server zurück. Wählen Sie im linken Menübereich SQL-Datenbanken und dann die Datenbank marketplace aus.

  4. Wählen Sie im linken Menübereich Ihrer Datenbank Marketplace unter Sicherheit die Option Überwachung aus.

  5. Da Sie die Überwachung auf Serverebene aktiviert haben, sollten Sie hier sehen, dass sie aktiviert ist. Wählen Sie in der oberen Menüleiste Überwachungsprotokolle anzeigen aus, um die Protokolle anzuzeigen.

  6. Daraufhin sollten ein oder mehrere Überwachungsdatensätze mit ApplicationUser als PRINZIPALNAME und BATCH ABGESCHLOSSEN als EREIGNISTYP angezeigt werden. Einer davon sollte die Details der Abfrage enthalten, die Sie soeben ausgeführt haben. Möglicherweise werden auch andere Ereignisse wie z.B. fehlgeschlagene und erfolgreiche Authentifizierungen angezeigt. Wählen Sie einen Datensatz aus, um die Details des Ereignisses anzuzeigen.

Screenshot shows an example event in the audit log.

Diese Aktionen konfigurieren die Überwachungen auf Datenbankserverebene. Die Überwachung gilt für alle Datenbanken auf dem Server. Sie können die Überwachung auch auf Datenbankebene konfigurieren.

Werfen Sie einen Blick auf ein weiteres Feature, das diese Protokolle nutzt, um die Sicherheit Ihrer Datenbank zu erhöhen.

Advanced Data Security für Azure SQL-Datenbank

Advanced Data Security (ADS) stellt mehrere erweiterte SQL-Sicherheitsfunktionen bereit, darunter Datenermittlung und -klassifizierung, Risikoanalyse und Advanced Threat Protection.

  • Datenermittlung und -klassifizierung (zurzeit in der Vorschau) bietet Funktionen in Azure SQL-Datenbank zum Ermitteln, Klassifizieren, Bezeichnen und Schützen vertraulicher Daten in Ihren Datenbanken. Das Feature kann Einblicke in den Zustand Ihrer Datenbankklassifizierung bereitstellen und den Zugriff auf sensible Daten innerhalb der Datenbank und außerhalb ihrer Grenzen verfolgen.
  • Die Sicherheitsrisikobewertung ist ein einfach zu konfigurierender Dienst, der Sie dabei unterstützen kann, potenzielle Datenbankschwachstellen zu erkennen, nachzuverfolgen und zu beheben. Er bietet Einblicke in Ihren Sicherheitsstatus, enthält umsetzbare Schritte zum Beheben von Sicherheitsproblemen und verbessert Ihre Datenbanksicherheit.
  • Advanced Threat Protection erkennt Anomalien bei Aktivitäten, die auf ungewöhnliche und potenziell schädliche Versuche hinweisen, auf Ihre Datenbank zuzugreifen oder diese zu nutzen. Sie überwacht Ihre Datenbank fortlaufend auf verdächtige Aktivitäten und bietet sofortige Sicherheitswarnungen zu potenziellen Sicherheitslücken, Angriffe durch Einschleusung von SQL-Befehlen und ungewöhnliche Datenbankzugriffsmuster. Die Warnungen von Advanced Threat Protection enthalten Details zu verdächtigen Aktivitäten sowie Empfehlungen, wie die Bedrohung untersucht und abgewendet werden kann.

Setup und Konfiguration

Aktivieren Sie ADS für Ihre Datenbank. ADS ist eine Einstellung auf Serverebene, daher beginnen Sie mit dieser.

  1. Kehren Sie ins Azure-Portal zurück und navigieren Sie zu Ihrem SQL-Server. Suchen Sie in der Suchleiste am oberen Rand der Seite nach serverNNNNN und wählen Sie dann den Server aus.

  2. Wählen Sie im Menübereich auf der linken Seite unter Sicherheit die Option Microsoft Defender für Cloud aus.

  3. Wählen Sie Microsoft Defender für SQL aktivieren aus.

  4. Wählen Sie neben der Meldung Auf Abonnementebene aktiviert die Option Konfigurieren aus. Der Bereich Servereinstellungen wird angezeigt.

  5. Die Option Regelmäßig wiederkehrende Überprüfungen ist standardmäßig aktiviert. Wenn Sie eine wöchentliche Überprüfung durchführen, wird eine Zusammenfassung der Überprüfungsergebnisse an die von Ihnen angegebene E-Mail-Adresse gesendet. Deaktivieren Sie in diesem Fall den Server. Die Option E-Mail-Benachrichtigung auch an Administratoren und Abonnementbesitzer senden ist standardmäßig aktiviert, damit Benachrichtigungen zu Bedrohungen an die Dienstadministratoren gesendet werden. Wählen Sie oben Speichern aus, um Ihre Einstellungen zu speichern.

  6. Wählen Sie unter Advanced Threat Protection-Einstellungen die Option Kontaktdetails hinzufügen... aus, um das Defender für Cloud-Fenster E-Mail-Benachrichtigungen zu öffnen. Hier können Sie optional in Form einer Liste durch Semikolons getrennter E-Mail-Adressen definieren, an wen E-Mail-Benachrichtigungen zur Sicherheitsrisikobewertung und Advanced Threat Protection übermittelt werden. Die Option E-Mail-Benachrichtigung auch an Administratoren und Abonnementbesitzer senden ist standardmäßig aktiviert, damit Benachrichtigungen zu Bedrohungen an die Dienstadministratoren gesendet werden.

  7. Sie können außerdem Überwachung aktivieren.... auswählen, um die Azure SQL-Überwachung zu aktivieren.

  8. Klicken Sie auf Speichern, um die Änderungen zu übernehmen.

Zudem erhalten Sie E-Mail-Benachrichtigungen, wenn Sicherheitsrisiken erkannt werden. In der E-Mail wird skizziert, was passiert ist, und welche Maßnahmen ergriffen werden sollten.

Screenshot shows an example notification warning from Microsoft Defender for Cloud.

Datenermittlung und -klassifizierung

  1. Wechseln Sie zu Ihrer Datenbank „Marketplace“. Suchen Sie in der Suchleiste oben im Azure-Portal nach „marketplace“ und wählen Sie dann die Datenbank aus.

  2. Wählen Sie im linken Menübereich unter Sicherheit die Option Datenermittlung und -klassifizierung aus.

Auf der Registerkarte Klassifizierung werden Spalten innerhalb Ihrer Tabellen angezeigt, die geschützt werden müssen. Einige der Spalten enthalten möglicherweise vertrauliche Informationen oder werden in anderen Ländern oder Regionen möglicherweise als vertraulich eingestuft.

Screenshot that shows the Classification tab in the Data Discovery and Classification pane.

Wenn bei irgendwelchen Spalten ein Schutz konfiguriert werden muss, wird eine entsprechende Meldung angezeigt. Diese Meldung könnte in etwa so lauten: 15 Spalten mit Klassifizierungsempfehlungen. Sie können den Text auswählen, um die Empfehlungen anzuzeigen.

Wählen Sie die Spalten aus, die Sie klassifizieren möchten, indem Sie das Häkchen neben der Spalte auswählen oder das Kontrollkästchen auf der linken Seite des Schemaheaders aktivieren. Klicken Sie auf die Schaltfläche Ausgewählte Empfehlungen annehmen, um die Klassifizierungsempfehlungen anzuwenden.

Bearbeiten Sie als nächstes die Spalten und definieren Sie dann den Informationstyp und die Vertraulichkeitsbezeichnung für die Datenbank. Klicken Sie zum Speichern der Änderungen auf Speichern.

Nachdem Sie die Empfehlungen erfolgreich verwaltet haben, sollten keine aktiven Empfehlungen mehr aufgeführt werden.

Sicherheitsrisiken

Wählen Sie im Menübereich auf der linken Seite unter Sicherheit die Option Microsoft Defender für Cloud aus.

Im Abschnitt Empfehlungen werden Konfigurationsprobleme in Ihrer Datenbank und das damit verbundene Risiko aufgeführt.

Wählen Sie eine Empfehlung aus. Im Bereich „Empfehlungen“ finden Sie die Details, wie z. B. die Risikostufe, die betroffene Datenbank, eine Beschreibung des Sicherheitsrisikos und die empfohlenen Wartungsmaßnahmen zum Beheben des Problems. Wenden Sie die Korrekturmaßnahme an, um Probleme zu beheben. Stellen Sie sicher, dass Sie alle Sicherheitsprobleme beheben.

Sicherheitsincidents und Warnungen

In diesem Abschnitt wird eine Liste der erkannten Bedrohungen angezeigt.

Beheben Sie alle Probleme, indem Sie die Empfehlungen befolgen. Bei Problemen, wie z. B. Warnungen zur Einschleusung von SQL-Befehlen, können Sie die Abfrage anzeigen und sich dann rückwärts bis zu der Stelle im Code durcharbeiten, an der die Abfrage ausgeführt wird. Sobald Sie die Stelle gefunden haben, sollten Sie den Code erneut generieren, um das Problem zu beheben.