Design zum Schutz der Verfügbarkeit
Verhindern oder minimieren Sie System- und Workload-Downtime und -Beeinträchtigungen im Falle eines Sicherheitsvorfalls, indem Sie starke Sicherheitskontrollen verwenden. Sie müssen die Datenintegrität während des Incidents und nach der Wiederherstellung des Systems aufrechterhalten. |
---|
Sie müssen die Entscheidungen für die Verfügbarkeitsarchitektur mit denen für die Sicherheitsarchitektur in Einklang bringen. Das System sollte über Verfügbarkeitsgarantien verfügen, um sicherzustellen, dass Benutzer*innen Zugang zu den Daten haben und dass die Daten erreichbar sind. Aus Sicherheitsgründen sollten die Benutzer*innen innerhalb des erlaubten Zugriffsbereichs agieren, und die Daten müssen vertrauenswürdig sein. Sicherheitskontrollen sollten böswillige Akteure blockieren, aber sie sollten legitime Benutzer*innen nicht vom Zugriff auf das System und die Daten abhalten.
Beispielszenario
Contoso Concierge betreibt eine Hotelverwaltungssoftware, die von über 50 Hotelmarken in Nordamerika eingesetzt wird. Mit diesem System können Buchungen vorgenommen, Gäste eingecheckt und der Gästeservice und das Reinigungspersonal gesteuert werden. Es handelt sich um ein Cloud-basiertes System, das von zwei Regionen in Nordamerika aus betrieben wird. Es wird meist auf VM-Skalierungsgruppen gehostet. Die Clients in den Hotels sind browserbasiert.
Verbessern der Zuverlässigkeit durch robuste Sicherheit
Verwenden Sie Sicherheitskontrollen und Entwurfsmuster, um zu verhindern, dass Angriffe und Codefehler zur Auslastung von Ressourcen führen und den Zugriff blockieren.
Mit diesem Ansatz können Sie sicherstellen, dass das System nicht durch böswillige Aktionen wie DDoS-Angriffe (Distributed Denial of Service) unterbrochen wird.
Herausforderung von Contoso
- Das Workload-Team und die Projektbeteiligten der Workload erachten die Zuverlässigkeit dieses Systems als äußerst wichtig, da so viele Hotelgäste für Geschäfts- und Urlaubsreisen darauf angewiesen sind. Für den Betrieb der Hotels ist wichtig, dass das System funktioniert.
- Das Team hat beträchtliche Ressourcen in das Testen funktionaler und nicht-funktionaler Anforderungen investiert, um eine hohe Zuverlässigkeit zu gewährleisten. Dazu gehört auch die Verwendung sicherer Bereitstellungspraktiken, um Anwendungsupdates zuverlässig zu veröffentlichen.
- Das Team hat sich zwar intensiv mit der Zuverlässigkeit beschäftigt, aber der Sicherheit weniger Aufmerksamkeit geschenkt. Vor kurzem wurde ein Update mit einem Code-Fehler veröffentlicht, der einen Angriff und den Ausfall des gesamten Systems für viele Hotels zur Folge hatte. Der Angriff legte die Anwendungsserver in einer Region an einem Abend für mehr als vier Stunden lahm und verursachte Probleme für Kund*innen und Hotelgäste.
- Der Eindringling nutzte die Anwendungsserver von Contoso, um über einen Proxy Anforderungen an ein regionales Speicherkonto zu senden, um vorgenerierte Folio-Informationen zu erhalten. Es wurde ein übermäßig großes bösartiges Folio generiert, das dazu führte, dass die Ressourcen des Anwendungsservers ausgelastet wurden, während es in den Speicher geladen wurde. Zudem verbreitete sich das Problem durch wiederholte Versuche der Clients auf alle Anwendungsserver.
Anwenden des Ansatzes und Umsetzen der Ergebnisse
- Das Team untersuchte ein Entwurfsmuster, um die Anwendungsserver aus dem Flow der Folio-Anforderungen herauszunehmen und entschied sich stattdessen für einen Valetschlüssel-Ansatz. Dies hätte das Problem zwar nicht verhindert, aber es hätte die Auswirkungen eingedämmt.
- Außerdem wurde das System um eine weitere Eingabevalidierung ergänzt, um Eingaben zu filtern, was dazu beitragen wird, bösartige Versuche wie diesen in Zukunft zu verhindern.
- Durch die Filterung der Eingaben und ein verbessertes Design wurde eine bestimmte Art von Risiko abgeschwächt.
Proaktives Einschränken von Angriffsvektoren
Implementieren Sie Präventivmaßnahmen für Angriffsvektoren, die Sicherheitslücken in Anwendungscode, Netzwerkprotokollen, Identitätssystemen, Malwareschutz und anderen Bereichen ausnutzen.
Implementieren Sie Codescanner, wenden Sie die neuesten Sicherheitspatches an, aktualisieren Sie Ihre Software und schützen Sie Ihr System laufend mit wirksamer Antischadsoftware. Dies trägt dazu bei, die Angriffsmöglichkeiten zu verringern und die Geschäftskontinuität zu gewährleisten.
Herausforderung von Contoso
- Die zum Hosten des Systems verwendeten VMs sind Azure Marketplace-Images mit dem aktuellsten Ubuntu-Betriebssystem. Die Bootstrapping-Prozesse für eine VM richten einige Zertifikate ein, ändern bestimmte SSH-Konfigurationen und installieren den Anwendungscode, aber es werden keine Antischadsoftwaretools eingesetzt.
- Azure Application Gateway ist zwar das Herzstück der Lösung, wird aber nur als Internet-Gateway verwendet. Die Funktion der Web Application Firewall (WAF) ist derzeit nicht aktiviert.
- Bei beiden Konfigurationsentscheidungen ist die Compute-Umgebung nicht vor Sicherheitslücken im Code oder durch die unbeabsichtigte Installation von Malware geschützt.
Anwenden des Ansatzes und Umsetzen der Ergebnisse
- Nach Rücksprache mit dem Sicherheitsteam von Contoso sind die virtuellen VMs nun in einer vom Unternehmen verwalteten Antivirenlösung registriert.
- Das Team beschließt außerdem, die WAF-Funktion zu aktivieren und einzustellen, um den Anwendungscode zu schützen, indem bekannte riskante Anforderungen, wie z.B. SQL-Injection-Versuche, auf Gateway-Ebene verhindert werden.
- Die Anwendung und die Anwendungsplattform verfügen nun über zusätzliche Verteidigungsmaßnahmen, um sich vor Angriffen zu schützen, die die Verfügbarkeit des Systems beeinträchtigen könnten.
Sichern Ihrer Wiederherstellungsstrategie
Wenden Sie bei Ihren Wiederherstellungsressourcen und -prozessen mindestens das gleiche Maß an Sicherheit an wie bei der primären Umgebung, einschließlich der Sicherheitskontrollen und der Häufigkeit der Sicherung.
Sie sollten für die Notfallwiederherstellung einen erhaltenen sicheren Systemzustand haben. In diesem Fall können Sie auf ein sicheres sekundäres System oder einen sicheren Standort ausweichen und Sicherungen wiederherstellen, die keine Bedrohung darstellen.
Ein gut durchdachter Prozess kann verhindern, dass ein Incident den Wiederherstellungsprozess behindert. Beschädigte Sicherungsdaten oder verschlüsselte Daten, die nicht entschlüsselt werden können, können die Wiederherstellung verlangsamen.
Herausforderung von Contoso
- Während das System regionenübergreifend aktiv-aktiv arbeitet, verfügt das Team über einen Notfallwiederherstellungsplan, um die Geschäftskontinuität im schlimmsten Fall wiederherstellen zu können.
- Zu diesem Plan gehört auch die Lieferung von Sicherungen in eine dritte Region in den USA.
- Leider befanden sich die Sicherungen in einem System, das nicht regelmäßig überwacht wurde und relativ lockere Sicherheitskontrollen aufwies. Während einer Übung wurde festgestellt, dass alle Sicherungen mit Schadsoftware infiziert waren. Hätte es zu diesem Zeitpunkt eine echte Katastrophe gegeben, hätte keine erfolgreiche Wiederherstellung stattfinden können.
Anwenden des Ansatzes und Umsetzen der Ergebnisse
- Das Team investierte viel Zeit und Mühe in die Sicherung des Sicherungsstandorts und fügte zusätzliche Netzwerk- und Identitätskontrollen hinzu, um die Daten zu schützen. Sicherungen werden jetzt auch in unveränderlichem Speicher abgelegt, um Manipulationen zu verhindern.
- Nach Überprüfung der Sicherheitskontrollen stellt das Team fest, dass die Anwendung während des Wiederherstellungsprozesses eine Zeit lang ohne WAF ausgeführt wird. Die Reihenfolge der Vorgänge wird geändert, um diese Lücke zu schließen.
- Jetzt ist das Team zuversichtlich, dass die Sicherungen und der Wiederherstellungsprozess für das System kein leicht auszunutzender Angriffsvektor mehr sind.