Empfehlungen zum Härten von Ressourcen

Gilt für die folgende Empfehlung der Sicherheitsprüfliste für Azure Well-Architected Framework:

SE:08 Härten Sie alle Workloadkomponenten, indem Sie die zusätzliche Oberfläche reduzieren und Konfigurationen straffen, um die Kosten für Angreifer zu erhöhen.

In diesem Leitfaden werden die Empfehlungen zum Härten von Ressourcen beschrieben, indem lokalisierte Steuerelemente innerhalb einer Workload entwickelt und beibehalten werden, um wiederholten Angriffen standzuhalten.

Die Sicherheitshärtung ist eine absichtliche Selbsterhaltungsübung. Ziel ist es, die Angriffsfläche zu verringern und die Kosten für Angreifer in anderen Bereichen zu erhöhen, was die Möglichkeiten für böswillige Akteure zur Ausnutzung von Sicherheitsrisiken einschränkt. Implementieren Sie bewährte Methoden und Konfigurationen für die Sicherheit, um Ihre Workload zu schützen.

Die Sicherheitshärtung ist ein fortlaufender Prozess , der eine kontinuierliche Überwachung und Anpassung an sich entwickelnde Bedrohungen und Sicherheitsrisiken erfordert.

Definitionen

Begriff Definition
Härtung Die Praxis, eine Angriffsfläche zu reduzieren, indem überflüssige Ressourcen entfernt oder Konfigurationen angepasst werden.
Arbeitsstation mit privilegiertem Zugriff (PAW) Ein dedizierter und sicherer Computer, den Sie zum Ausführen vertraulicher Aufgaben verwenden, wodurch das Risiko einer Kompromittierung verringert wird.
Sichere Verwaltungsarbeitsstation (SAW) Eine spezialisierte PAW, die von Konten mit kritischen Auswirkungen verwendet wird.
Oberfläche Ein logischer Speicherabdruck einer Workload, die Sicherheitsrisiken enthält.

Wichtige Entwurfsstrategien

Bei der Sicherheitshärtung handelt es sich um eine stark lokalisierte Übung, die die Kontrollen auf Komponentenebene stärkt, unabhängig davon, ob es sich um Ressourcen oder Prozesse handelt. Wenn Sie die Sicherheit jeder Komponente erhöhen, verbessert dies die gesamt sicherheitsrelevante Sicherheit Ihrer Workload.

Die Sicherheitshärtung berücksichtigt nicht die Funktionalität der Workload und erkennt keine Bedrohungen und führt keine automatisierte Überprüfung durch. Die Sicherheitshärtung konzentriert sich auf die Konfigurationsoptimierung mit einer Annahmeverletzungs- und Defense-in-Depth-Mentalität. Ziel ist es, es einem Angreifer zu erschweren, die Kontrolle über ein System zu erlangen. Die Härtung sollte das beabsichtigte Hilfsprogramm einer Workload oder deren Vorgänge nicht ändern.

Der erste Schritt des Härtungsprozesses besteht darin, eine umfassende Bestandsaufnahme aller Hardware-, Software- und Datenressourcen zu sammeln. Halten Sie Ihre Bestandsdatensätze auf dem neuesten Stand, indem Sie neue Ressourcen hinzufügen und außer Betrieb genommene Ressourcen entfernen. Berücksichtigen Sie für alle Ressourcen in Ihrem Bestand die folgenden bewährten Methoden:

  • Reduzieren Sie den Speicherbedarf. Entfernen Sie eine fremde Oberfläche, oder verringern Sie den Bereich. Beseitigen Sie einfache Ziele oder günstige und gut etablierte Angriffsvektoren, z. B. nicht gepatchte Software-Exploits und Brute-Force-Angriffe. Vor der Produktionsbereitstellung sollten Sie Identitäten, Buildkomponenten und andere nicht erforderliche Ressourcen aus der Quellstruktur sauber.

  • Optimieren von Konfigurationen. Auswerten und Festziehen der verbleibenden Oberfläche. Wenn Ressourcen gehärtet sind, sind bewährte Methoden, die Angreifer verwenden, nicht mehr erfolgreich. Es zwingt Angreifer, erweiterte oder ungetestete Angriffsmethoden zu erwerben und zu verwenden, was ihre Kosten erhöht.

  • Aufrechterhalten von Abwehrmaßnahmen. Halten Sie Schutzmaßnahmen aufrecht, indem Sie eine kontinuierliche Bedrohungserkennung durchführen, um sicherzustellen, dass die Härtungsbemühungen im Laufe der Zeit zuverlässig sind.

Berücksichtigen Sie auch die folgenden Faktoren.

Vertrauenswürdige Quelle. Ein Teil der Härtungsübung umfasst die Softwarelieferkette. In diesem Leitfaden wird davon ausgegangen, dass alle Komponenten aus vertrauenswürdigen Quellen abgerufen werden. Ihr organization muss Software genehmigen, die von Drittanbietern beschafft wird. Diese Genehmigung gilt für Quellen des Betriebssystems, Images und andere Tools von Drittanbietern. Ohne vertrauenswürdige Ressourcen kann die Härtung eine unendliche Abwanderung von Sicherheitsgarantien für nicht vertrauenswürdige Quellen sein.

Empfehlungen zur Sicherheit für Ihre Lieferkette finden Sie unter Empfehlungen zum Sichern eines Entwicklungslebenszyklus.

Training. Härtung ist eine spezialisierte Fähigkeit. Es ist methodisch und erfordert ein hohes Maß an Kompetenz. Sie müssen die Funktionalität einer Komponente verstehen und verstehen, wie sich Änderungen auf die Komponente auswirken. Ein Teammitglied muss in der Lage sein, die Anleitung von Branchenexperten und der Plattform zu unterscheiden, um sie von Anleitungen aus unsicheren Quellen zu unterscheiden. Schulen Sie Ihre Teammitglieder beim Erstellen einer sicherheitsorientierten Kultur. Stellen Sie sicher, dass Ihr Team mit bewährten Sicherheitsmethoden vertraut ist, über ein Bewusstsein für potenzielle Bedrohungen verfügt und aus Retrospektiven nach Vorfällen lernt.

Dokumentation Dokumentieren und veröffentlichen Sie Härtungsanforderungen, Entscheidungen und definierte Methoden. Dokumentieren Sie aus Gründen der Transparenz auch Ausnahmen oder Abweichungen von diesen Anforderungen.

Die Härtung kann umständlich sein, aber es ist eine wichtige Sicherheitsübung, die Sie dokumentieren müssen. Härten Sie zunächst die Kernkomponenten, und erweitern Sie sie dann auf andere Bereiche, wie automatisierte Prozesse und menschliche Prozesse, um potenzielle Lücken zu schließen. Seien Sie akribisch bei Änderungen. Ein notwendiger Schritt besteht beispielsweise darin, die Standardeinstellungen zu deaktivieren, da Änderungen an Standardwerten die Stabilität des Systems nicht beeinträchtigen können. Auch wenn die Ersetzungskonfiguration mit der Standardkonfiguration identisch ist, muss sie definiert werden. In den folgenden Abschnitten werden allgemeine Ziele für die Härtung beschrieben. Bewerten Sie wichtige Entwurfsbereiche Ihrer Workload, und befolgen Sie die wichtigsten Strategien zum Härten auf Komponentenebene.

Netzwerk

Teilen Sie das Netzwerk in Segmente auf, um kritische Ressourcen und vertrauliche Daten von weniger sicheren Ressourcen zu isolieren, wodurch Lateral Movements durch Angreifer reduziert werden. Wenden Sie in diesen Segmenten einen Deny-by-Default-Ansatz an. Fügen Sie nur zugriff auf die Zulassungsliste hinzu, wenn dies gerechtfertigt ist.

Deaktivieren Sie Ports und Protokolle, die nicht aktiv verwendet werden. Wenn Sie z. B. auf Azure App Service nicht über FTP bereitstellen müssen, können Sie sie deaktivieren. Oder wenn Sie Verwaltungsvorgänge über ein internes Netzwerk ausführen, können Sie den Administratorzugriff über das Internet deaktivieren.

Entfernen oder Deaktivieren von Legacyprotokollen. Angreifer nutzen Systeme aus, die alte Versionen verwenden. Verwenden Sie einen Azure-Erkennungsdienst, um Protokolle zu überprüfen und die Protokollnutzung zu ermitteln. Es kann schwierig sein, Protokolle zu entfernen, da dies die Funktionalität des Systems stören kann. Testen Sie alle Änderungen vor der Implementierung, um das Risiko einer Betriebsunterbrechung zu minimieren.

Behandeln Sie öffentliche IP-Adressen (PIP) als hoch riskante Ressourcen , da sie leicht zugänglich sind und eine breite weltweite Reichweite haben. Um die Gefährdung zu verringern, entfernen Sie unnötigen Internetzugriff auf die Workload. Verwenden Sie freigegebene öffentliche IP-Adressen, die Von Microsoft-Diensten wie Azure Front Door bereitgestellt werden. Diese Dienste sind so konzipiert, dass sie mit dem Internet verbunden sind, und sie blockieren den Zugriff auf unzulässige Protokolle. Viele dieser Dienste führen anfängliche Überprüfungen eingehender Anforderungen am Netzwerkrand durch. Mit einem dedizierten PIP sind Sie für die Verwaltung der Sicherheitsaspekte, das Zulassen oder Blockieren von Ports und das Überprüfen eingehender Anforderungen verantwortlich, um deren Gültigkeit sicherzustellen.

Für Anwendungen mit Internetzugriff können Sie den Zugriff einschränken, indem Sie einen Layer-7-Dienst hinzufügen , der ungültigen Datenverkehr filtern kann. Erkunden Sie native Dienste, die DDoS-Schutz (Distributed Denial-of-Service) erzwingen, Über Webanwendungsfirewalls verfügen und Schutz am Edge bieten, bevor der Datenverkehr die Anwendungsebene erreicht.

Die DNS-Härtung (Domain Name System) ist eine weitere Netzwerksicherheitsmethode. Um sicherzustellen, dass die DNS-Infrastruktur sicher ist, wird empfohlen, vertrauenswürdige DNS-Resolver zu verwenden. Verwenden Sie nach Möglichkeit ein DNS-Sicherheitsprotokoll für hochsensible DNS-Zonen, um Informationen von DNS-Resolvern zu überprüfen und eine zusätzliche Sicherheitsebene bereitzustellen. Um Angriffe wie DNS-Cachevergiftungen, DDoS-Angriffe und Verstärkungsangriffe zu verhindern, untersuchen Sie andere DNS-bezogene Sicherheitskontrollen, z. B. die Begrenzung der Abfragerate, die Begrenzung der Antwortrate und DNS-Cookies.

Identität

Entfernen Sie nicht verwendete oder Standardkonten. Deaktivieren Sie nicht verwendete Authentifizierungs- und Autorisierungsmethoden.

Deaktivieren Sie legacy-Authentifizierungsmethoden , da sie häufig Angriffsvektoren sind. In alten Protokollen fehlen häufig Maßnahmen gegen Angriffe, z. B. Kontosperrungen. Externalisieren Sie Ihre Authentifizierungsanforderungen an Ihren Identitätsanbieter (IdP), z. B. Microsoft Entra ID.

Verbund gegenüber dem Erstellen doppelter Identitäten bevorzugen. Wenn eine Identität kompromittiert ist, ist es einfacher, ihren Zugriff zu widerrufen, wenn sie zentral verwaltet wird.

Grundlegendes zu Plattformfunktionen für erweiterte Authentifizierung und Autorisierung. Härten Sie zugriffssteuerungen, indem Sie mehrstufige Authentifizierung, kennwortlose Authentifizierung, bedingten Zugriff und andere Features nutzen, die Microsoft Entra ID zum Überprüfen der Identität bietet. Sie können zusätzlichen Schutz für Anmeldeereignisse hinzufügen und den Umfang verringern, in dem ein Angreifer eine Anforderung stellen kann.

Verwenden Sie nach Möglichkeit verwaltete Identitäten und Workloadidentitäten ohne Anmeldeinformationen. Anmeldeinformationen können kompromittiert werden. Weitere Informationen finden Sie unter Empfehlungen zum Schutz von Anwendungsgeheimnissen.

Verwenden Sie den Ansatz mit den geringsten Rechten für Ihre Verwaltungsprozesse. Entfernen Sie unnötige Rollenzuweisungen, und führen Sie regelmäßige Microsoft Entra Zugriffsüberprüfungen durch. Verwenden Sie Rollenzuweisungsbeschreibungen, um eine Papierspur von Begründungen zu führen, was für Überwachungen von entscheidender Bedeutung ist.

Cloudressourcen

Die oben genannten Empfehlungen zur Härtung von Netzwerken und Identitäten gelten für einzelne Clouddienste. Achten Sie für Netzwerke besonders auf Firewalls auf Servicelevel, und bewerten Sie deren Regeln für eingehenden Datenverkehr.

Entdecken und deaktivieren Sie nicht verwendete Funktionen oder Features, z. B. nicht verwendete Datenebenenzugriff und Produktfeatures, die möglicherweise von anderen Komponenten abgedeckt werden. Beispielsweise unterstützt App Service Kudu, das FTP-Bereitstellungen, Remotedebuggen und andere Features bereitstellt. Wenn Sie diese Features nicht benötigen, deaktivieren Sie sie.

Bleiben Sie immer mit der Azure-Roadmap und der Workloadroadmap auf dem Laufenden. Wenden Sie Patching- und Versionsupdates an, die Azure-Dienste anbieten. Lassen Sie von der Plattform bereitgestellte Updates zu, und abonnieren Sie automatisierte Updatekanäle.

Risiko: Cloudressourcen haben häufig Anforderungen für Zertifikate oder müssen in dokumentierten Konfigurationen ausgeführt werden, um als unterstützt betrachtet zu werden. Einige Härtungstechniken, z. B. das aggressive Blockieren ausgehenden Datenverkehrs, können dazu führen, dass ein Dienst außerhalb einer unterstützten Konfiguration fällt, selbst wenn der Dienst normal ausgeführt wird. Machen Sie sich mit den Laufzeitanforderungen jeder Cloudressource von Ihrer Plattform vertraut, um sicherzustellen, dass Sie die Unterstützung für diese Ressource beibehalten.

Anwendungen

Bewerten Sie Bereiche, in denen Ihre Anwendung versehentlich Informationen preis gibt. Angenommen, Sie verfügen über eine API, die Benutzerinformationen abruft. Eine Anforderung verfügt möglicherweise über eine gültige Benutzer-ID, und Ihre Anwendung gibt den Fehler 403 zurück. Bei einer ungültigen Kunden-ID gibt die Anforderung jedoch den Fehler 404 zurück. Dann geben Sie effektiv Informationen über Ihre Benutzer-IDs aus.

Es kann subtilere Fälle geben. Beispielsweise ist die Antwortlatenz mit einer gültigen Benutzer-ID höher als eine ungültige Kunden-ID.

Erwägen Sie die Implementierung der Anwendungshärtung in den folgenden Bereichen:

  • Eingabevalidierung und Bereinigung: Verhindern Sie Einschleusungsangriffe wie SQL-Einschleusung und Cross-Site Scripting (XSS), indem Sie alle Benutzereingaben überprüfen und bereinigen. Automatisieren der Eingabebereinigung mithilfe von Eingabevalidierungsbibliotheken und -frameworks.

  • Sitzungsverwaltung: Schützen Sie Sitzungsbezeichner und Token vor Diebstahl- oder Sitzungsfixierungsangriffen, indem Sie sichere Sitzungsverwaltungstechniken verwenden. Implementieren Sie Sitzungstimeouts, und erzwingen Sie die erneute Authentifizierung für vertrauliche Aktionen.

  • Fehlerverwaltung: Implementieren Sie benutzerdefinierte Fehlerbehandlung, um die Offenlegung vertraulicher Informationen für Angreifer zu minimieren. Protokollieren Sie Fehler sicher, und überwachen Sie diese Protokolle auf verdächtige Aktivitäten.

  • HTTP-Sicherheitsheader: Verringern Sie häufige Websicherheitsrisiken, indem Sie Sicherheitsheader in HTTP-Antworten verwenden, z. B. die Inhaltssicherheitsrichtlinie (Content Security Policy, CSP), X-Content-Type-Options und X-Frame-Options.

  • API-Sicherheit: Schützen Sie Ihre APIs mit geeigneten Authentifizierungs- und Autorisierungsmechanismen. Um die Sicherheit weiter zu verbessern, implementieren Sie Ratenbegrenzung, Anforderungsvalidierung und Zugriffssteuerungen für API-Endpunkte.

Befolgen Sie sichere Codierungsmethoden, wenn Sie Anwendungen entwickeln und verwalten. Führen Sie regelmäßig Codeüberprüfungen durch und überprüfen Sie Anwendungen auf Sicherheitsrisiken. Weitere Informationen finden Sie unter Empfehlungen zum Sichern eines Entwicklungslebenszyklus.

Verwaltungsvorgänge

Härten Sie auch andere Ressourcen, die nicht zur Laufzeit gehören. Reduzieren Sie beispielsweise den Speicherbedarf Ihrer Buildvorgänge, indem Sie eine Bestandsaufnahme aller Ressourcen erstellen und nicht verwendete Ressourcen aus Ihrer Pipeline entfernen. Pullen Sie dann Aufgaben, die von vertrauenswürdigen Quellen veröffentlicht werden, und führen Sie nur Aufgaben aus, die überprüft werden.

Ermitteln Sie, ob Sie von Microsoft gehostete oder selbstgehostete Build-Agents benötigen. Selbstgehostete Build-Agents benötigen zusätzliche Verwaltung und müssen gehärtet werden.

Implementieren Sie aus Sicht der Beobachtbarkeit einen Prozess zum Überprüfen von Protokollen auf potenzielle Sicherheitsverletzungen. Überprüfen und aktualisieren Sie die Regeln für die Zugriffssteuerung regelmäßig basierend auf Zugriffsprotokollen. Arbeiten Sie mit zentralen Teams zusammen, um SIEM- (Security Information Event Management) und SOAR-Protokolle (Security Orchestration Automated Response) zu analysieren, um Anomalien zu erkennen.

Erwägen Sie die Anforderung von PAWs oder SAWs für Vorgänge der privilegierten Verwaltung. PAWs und SAWs sind gehärtete physische Geräte, die erhebliche Sicherheitsvorteile bieten, aber ihre Implementierung erfordert eine sorgfältige Planung und Verwaltung. Weitere Informationen finden Sie unter Schützen von Geräten als Teil der Story zum privilegierten Zugriff.

Azure-Erleichterung

Microsoft Defender für Cloud bietet mehrere Härtungsfunktionen:

Das Center for Internet Security (CIS) bietet gehärtete Images in Azure Marketplace.

Sie können Azure VM Image Builder verwenden, um einen wiederholbaren Prozess für gehärtete Betriebssystemimages zu erstellen. Common Base Linux-Mariner ist eine gehärtete Linux-Distribution, die von Microsoft entwickelt wird und Sicherheitsstandards und Branchenzertifizierungen folgt. Sie können sie mit Azure-Infrastrukturprodukten verwenden, um Workloadimplementierungen zu erstellen.

Beispiel

Das folgende Verfahren ist ein Beispiel für das Härten eines Betriebssystems:

  1. Reduzieren Sie den Speicherbedarf. Entfernen Sie unnötige Komponenten in einem Image. Installieren Sie nur das, was Sie benötigen.

  2. Optimieren von Konfigurationen. Deaktivieren Sie nicht verwendete Konten. Die Standardkonfiguration von Betriebssystemen verfügt über zusätzliche Konten, die mit Sicherheitsgruppen verknüpft sind. Wenn Sie diese Konten nicht verwenden, deaktivieren oder entfernen Sie sie aus dem System. Zusätzliche Identitäten sind Bedrohungsvektoren, die verwendet werden können, um Zugriff auf den Server zu erhalten.

    Deaktivieren Sie unnötigen Zugriff auf das Dateisystem. Verschlüsseln Sie das Dateisystem, und optimieren Sie die Zugriffssteuerungen für Identität und Netzwerk.

    Führen Sie nur die erforderlichen Schritte aus. Blockieren Sie Anwendungen und Dienste, die standardmäßig ausgeführt werden. Genehmigen Sie nur Anwendungen und Dienste, die für die Workloadfunktionalität benötigt werden.

  3. Aufrechterhalten von Abwehrmaßnahmen. Aktualisieren Sie die Betriebssystemkomponenten regelmäßig mit den neuesten Sicherheitsupdates und Patches, um bekannte Sicherheitsrisiken zu minimieren.

Organisationsausrichtung

Cloud Adoption Framework für Azure bietet Anleitungen zum Erstellen zentralisierter Identitäts- und Zugriffsverwaltungsfunktionen. Weitere Informationen finden Sie im Entwurfsbereich für die Azure-Identitäts- und Zugriffsverwaltung.

CIS-Benchmarks

Checkliste für die Sicherheit

Sehen Sie sich den vollständigen Satz von Empfehlungen an.