Grundlage für jede Azure-Projektimplementierung 8 Best Practices für die Cloud-Sicherheit in Microsoft Azure

Autor / Redakteur: Ben Layer* / Elke Witmer-Goßner

Für die Sicherheit von AWS-Managementkonfigurationen liefert die Benchmark-Richtlinie „Amazon Web Services Foundations“ des Center for Internet Security (CIS) eine gute Basis. Viele dieser Cloud-Sicherheitsgrundlagen, haben auch in anderen Cloud-Umgebungen ihre Berechtigung und lassen sich beispielsweise auf Microsoft Azure anwenden.

Firmen zum Thema

Best Practices zur Sicherheitskonfiguration geben Nutzern eine Handlungsempfehlung für ein standardisiertes Implementierungsverfahren von Cloud-Umgebungen.
Best Practices zur Sicherheitskonfiguration geben Nutzern eine Handlungsempfehlung für ein standardisiertes Implementierungsverfahren von Cloud-Umgebungen.
(Bild: © dmshpak - stock.adobe.com)

1. Identitätsmanagement mit Azure Active Directory

Wie für die sichere AWS-Management-Konfiguration ist Multi-Faktor-Authentifizierung auch hier eine kritische Komponente. Sei es, um Phishing zu bekämpfen oder den Schaden durch verloren gegangene oder kompromittierte Anmeldeinformationen zu begrenzen. Zumindest sollte jeder administrative Azure Active Directory-Benutzer und jeder, der Ressourcen erstellen und ändern darf, Multi-Faktor-Authentifizierung einsetzen. Innerhalb der Passwortrichtlinie sollte die entsprechende Einstellung komplexe Passwörter gewährleisten.

Es ist oft nicht ganz einfach, den Überblick zu behalten, welche Berechtigungen innerhalb benutzerdefinierter Rollen existieren. Deshalb sollte man sämtliche benutzerdefinierten Rollendefinitionen überprüfen und sicherstellen, dass keine Rolle über unnötige Administratorrechte verfügt, wo es ausreicht, Standardrollen zuzuweisen.

Stellen Sie sicher, dass nicht unnötig viele Gastbenutzer im Azure Active Directory erstellt werden. Grundsätzlich sollten Sie die Benutzereinstellung so setzen, dass Gäste nur über eingeschränkte Rechte verfügen und keine weiteren Benutzer einladen dürfen. Wenn Sie Active Directory Federation Services verwenden, damit ein Benutzer sich mit seinem lokalen Passwort bei Azure-AD-basierten Diensten anmelden kann, ist es wichtig, auch Ihr lokales Active Directory auf Sicherheit und Compliance hin zu überprüfen.

2. Das Microsoft Azure Security Center

Im Microsoft Azure Security Center stehen eine Reihe hilfreicher Sicherheitsfunktionen zur Verfügung, wobei Microsoft die Erkennung und Implementierung eines Großteils von ihnen automatisiert hat. Die Sammlung von Sicherheitsdaten für virtuelle Maschinen sollte standardmäßig aktiviert sein. Dazu braucht man bei virtuellen Computern und anderen Computerressourcen einen Agent, der die Überwachungsdaten automatisch erfasst.

Wenn der Überwachungsagent läuft, sollten Sie sicherstellen, dass alle empfohlenen Einstellungen in der Sicherheitsrichtlinie aktiviert sind. Die Empfehlungen decken eine Vielzahl von Sicherheitseinstellungen ab, z. B. wann Betriebssystem-Patches erforderlich sind oder wo die Verschlüsselung nicht aktiviert wurde. Machen Sie es sich zur Gewohnheit, die „Empfehlungen“ im Blade des Security Center dahingehend zu überprüfen, dass keine Sicherheitsaufgaben offen sowie alle Empfehlungen berücksichtigt und nach Möglichkeit umgesetzt worden sind.

Stellen Sie sicher, dass in der Security Center Policy eine aktuelle E-Mail-Adresse und Telefonnummer für den zentralen Kontakt hinterlegt ist. So hat Microsoft bei sicherheitsrelevanten Vorfällen innerhalb des Unternehmens einen eindeutigen Ansprechpartner. Zu guter Letzt sollten Sie ein Upgrade von Free Azure auf die Standardstufe in Betracht ziehen, um auf erweiterte Sicherheitsoptionen zugreifen zu können. Die kostenpflichtige Version erlaubt zusätzlich die Bedrohungserkennung auf virtuellen Maschinen und Datenbanken.

3. Netzwerk mit Microsoft SQL Server

Es ist wichtig, die Anfälligkeit für Brute-Force-Angriffe zu senken, indem Sie den Zugriff auf ssh und rdp in den Netzwerksicherheitsgruppen beschränken. Unabhängig von der gewählten Plattform, sollten die Ports 22 oder 3389 niemals für das Internet geöffnet sein. Wenn Sie mit Microsoft SQL Server arbeiten, steht Ihnen ein separater SQL Server Firewall-Mechanismus außerhalb der Funktion Netzwerksicherheitsgruppen zur Verfügung. Sie sollten die SQL Server-Firewall überprüfen und gewährleisten, dass der Zugriff auf das offene Internet oder auf Netzwerkblöcke, die keinen Zugriff benötigen, nicht gestattet ist.

Es ist nach wie vor sinnvoll auf virtuellen Maschinen Betriebssystem-Firewalls zu verwenden, etwa im Fall einer versehentlichen Fehlkonfiguration der Netzwerksicherheitsgruppe oder bei einem Plattformfehler. Auch Schwachstellen-Scans innerhalb der Infrastruktur sind weiterhin empfehlenswert. Wenn man dabei den „Einsatzregeln für Penetrationstests“ folgt, muss man Microsoft dazu nicht benachrichtigen. Eine Azure-Infrastruktur kann man mit Lösungen zum Schwachstellenmanagement sowohl auf netzwerk- wie hostbasierte Schwachstellen hin überprüfen.

4. Protokollierung mit ausreichender Speicherreserve

In Microsoft Azure gibt es mehrere Protokollierungsfunktionen, die eine wichtige Rolle bei Sicherheits-Audits und Compliance-Anforderungen spielen: „Plattformprotokolle liefern detaillierte Diagnose- und Überwachungsinformationen für Azure-Ressourcen und die Azure-Plattform, von der sie abhängen. Sie werden automatisch generiert, obwohl Sie bestimmte Plattformprotokolle so konfigurieren müssen, dass sie an mindestens ein Ziel weitergeleitet werden, damit sie gespeichert werden.“ Dies ist wichtig, weil man sie benutzt, um Monitoring Alerts für unterschiedliche Verhaltensweisen zu erstellen (siehe unten).

Außerdem sollte für jede Netzwerksicherheitsgruppe die Ablaufprotokollierung und für jede SQL Server-Datenbank die Datenbanküberwachung aktiviert sein. Jede dieser Logging-Funktionen verwendet ein Speicherkonto. Für jede dieser Funktionen sollten Sie ein Speicherkonto erstellen, das für gespeicherte Daten über die Einstellung „Storage Service Encryption“ und für Daten während der Übertragung über die Einstellung „Secure Transfer required“ verschlüsselt wird.

Zusätzlich empfiehlt es sich den Protokollspeicher für eine Aufbewahrung von mehr als 90 Tagen einzustellen oder die Aufbewahrungszeit für jeden einzelnen Protokollierungsfall nach Möglichkeit auf „unbegrenzt“ zu setzen.

5. Monitoring mit Activity Log Alerts

Mithilfe der Activity Log Alerts können Sie verschiedene sicherheitsrelevante Ereignisse überwachen und sicherstellen, dass die zuständigen Stellen benachrichtigt werden, wenn ein verdächtiges oder nicht genehmigtes Verhalten beobachtet wird, z. B. das Ändern von Sicherheitseinstellungen.

Für die folgende Ereignisse sollte man Activity Log Alerts erstellen:

  • Richtlinienzuweisungen erstellen,
  • Netzwerksicherheitsgruppe erstellen oder aktualisieren,
  • Netzwerksicherheitsgruppe löschen,
  • Regel für Netzwerksicherheitsgruppe erstellen oder aktualisieren,
  • Regel für Netzwerksicherheitsgruppe löschen,
  • SQL-Server-Firewall-Regel erstellen oder aktualisieren,
  • SQL-Server-Firewall-Regel löschen,
  • Sicherheitslösung erstellen oder aktualisieren,
  • Sicherheitslösung löschen,
  • Sicherheitsrichtlinie aktualisieren.

6. Sicherheit für Cloud-Speicher

Wie schon erwähnt, sollten die Logs in Konten mit SSL und Festplattenverschlüsselung gespeichert werden. Wenn möglich, sollten Sie jedes Speicherkonto so konfigurieren, dass es Blob-Verschlüsselung, Dateiverschlüsselung und sichere Übertragung verwendet. Schlüssel von Speicherkonten sollten regelmäßig neu generiert werden, um das Risiko kompromittierter Zugangsschlüssel soweit wie möglich zu minimieren. Shared Access-Signaturen sollten nur mit sicherer Übertragung verwendet werden und Ablaufzeiten von höchstens acht Stunden haben, damit der Zugriff nicht auf unbestimmte Zeit gewährt wird.

Jeder öffentliche Zugriff auf Blob- oder Datei-Container sollte sorgfältig geprüft werden, damit er z. B. nur auf öffentlichen Websites verwendet wird. Es gibt geeignete Tools, um den öffentlichen Zugriff auf Speicher-Container zu überprüfen und sogar Datenschutzeinstellungen automatisch zu erzwingen.

7. Sicherheitsdaten auf virtuellen Maschinen

Eine einzigartige Facette der Azure-Sicherheit für virtuelle Maschinen ist ein Agent, der Sicherheitsdaten sammelt. Dieser Agent liefert einen guten Überblick über Ihre Assets und sollte deshalb permanent aktiv sein. Vor allem aber sollte man sich vergegenwärtigen, dass Sicherheit für virtuelle Computer in der Cloud nach ähnlichen Prinzipien funktioniert wie für On-Premises-Betrieb. Stellen Sie sicher, dass Sie aktuelle Betriebssystem- und Software-Patches einspielen und verwenden Sie Endpoint Protection. Nutzen Sie Festplattenverschlüsselung, um gespeicherte Dateien zu verschlüsseln, falls der Speicher selbst kompromittiert wird.

8. Integration von Azure in Microsoft SQL Server

Eines der Hauptverkaufsargumente von Azure ist die Integration in Microsoft SQL Server. Zumindest sollten Sie Ihre SQL Server-Firewall nach einer möglichst strengen Richtlinie konfigurieren und Audit Logs aktivieren, um Einblicke zu Datenschutzverletzungen oder Datenmissbrauch zu bekommen.

Die Microsoft SQL Server Bedrohungserkennung in Azure erkennt SQL-Injection, SQL-Injection-Schwachstellen und andere Anomalien. Auch dabei handelt es sich um eine kostenpflichtige Funktion. Sie gestattet aber einen Defense-in-Depth-Ansatz und sollte nach Möglichkeit genutzt werden. Wenn Sie die Bedrohungserkennung aktivieren, sollten Sie die Benachrichtigungen an den dedizierten Sicherheitskontakt und den jeweiligen Service Owner versenden lassen.

Basis für jedes Azure-Projekt

Diese Best Practices sind eine Grundlage für jede Projektimplementierung innerhalb von Microsoft Azure. Sie lassen sich natürlich erweitern und auf individuelle Installationen hin maßschneidern. Für die meisten der hier besprochenen Empfehlungen funktioniert das mit Bezug auf die Foundations Benchmarks des Center for Internet Security Microsoft Azure.

* Der Autor Ben Layer ist Principal Software Engineer bei Tripwire.

(ID:47187372)