Sicherheitsrahmen: Überwachung und Protokollierung | Gegenmaßnahmen

Produkt/Dienst Artikel
Dynamics CRM
Web Application
Datenbank
Azure Storage (in englischer Sprache)
WCF
Web-API
Zwischengeschaltetes IoT-Gateway
IoT-Cloudgateway

Identifizieren von vertraulichen Entitäten in der Lösung und Implementieren der Änderungsüberwachung

Titel Details
Komponente Dynamics CRM
SDL-Phase Entwickeln
Zutreffende Technologien Allgemein
Attribute
Referenzen
Schritte Identifizieren Sie in der Lösung Entitäten mit sensiblen Daten, und implementieren Sie eine Änderungsüberwachung für diese Entitäten und Felder.

Sicherstellen, dass Überwachung und Protokollierung für die Anwendung erzwungen werden

Titel Details
Komponente Webanwendung.
SDL-Phase Entwickeln
Zutreffende Technologien Allgemein
Attribute
Referenzen
Schritte Aktivieren Sie die Überwachung und Protokollierung für alle Komponenten. Überwachungsprotokolle sollten den Benutzerkontext erfassen. Identifizieren Sie alle wichtigen Ereignissen, und protokollieren Sie diese Ereignisse. Implementieren Sie eine zentralisierte Protokollierung.

Sicherstellen, dass die Protokollrotation und -trennung vorhanden sind

Titel Details
Komponente Webanwendung.
SDL-Phase Entwickeln
Zutreffende Technologien Allgemein
Attribute
Referenzen
Schritte

Protokollrotation ist ein automatisierter Prozess, der bei der Systemadministration verwendet wird und bei dem mit einem Datum versehene Protokolldateien archiviert werden. Server, die große Anwendungen ausführen, protokollieren häufig jede Anforderung: Bei umfangreichen Protokollen ist die Protokollrotation eine Methode, die Gesamtgröße der Protokolle zu beschränken, während nach wie vor die Analyse von aktuellen Ereignissen möglich bleibt.

Protokolltrennung bedeutet im Grunde, dass Sie die Protokolldateien auf einer anderen Partition speichern müssen als die, auf der das Betriebssystem/die Anwendung ausgeführt wird, um einen DoS-Angriff oder die Verschlechterung der Leistung Ihrer Anwendung abzuwenden.

Sicherstellen, dass die Anwendung keine sensiblen Benutzerdaten protokolliert

Titel Details
Komponente Webanwendung.
SDL-Phase Entwickeln
Zutreffende Technologien Allgemein
Attribute
Referenzen
Schritte

Stellen Sie sicher, dass Sie keine sensiblen Daten protokollieren, die ein Benutzer an Ihre Website übermittelt. Achten Sie auf eine beabsichtigte Protokollierung und auf Nebeneffekte, die auf Entwurfsprobleme zurückzuführen sind. Beispiele für sensible Daten:

  • Benutzeranmeldeinformationen
  • Sozialversicherungsnummer oder andere identifizierende Informationen
  • Kreditkartennummern oder andere finanzielle Informationen
  • Informationen zur Gesundheit
  • Private Schlüssel oder anderen Daten, die verwendet werden könnten, um verschlüsselte Informationen zu entschlüsseln
  • System- oder Anwendungsinformationen, die für effektivere Angriffe auf die Anwendung verwendet werden können

Sicherstellen, dass für die Überwachungs- und Protokolldateien der Zugriff eingeschränkt ist

Titel Details
Komponente Webanwendung.
SDL-Phase Entwickeln
Zutreffende Technologien Allgemein
Attribute
Referenzen
Schritte

Stellen Sie sicher, dass die Zugriffsrechte für die Protokolldateien in geeigneter Weise festgelegt werden. Anwendungskonten sollten lesegeschützten Zugriff und Operatoren und Supportmitarbeiter sollten bei Bedarf schreibgeschützten Zugriff erhalten.

Administratorkonten sind die einzige Konten, die vollständigen Zugriff haben sollten. Überprüfen Sie die Windows-ACL auf Protokolldateien, um sicherzustellen, dass sie ordnungsgemäß beschränkt sind:

  • Anwendungskonten sollten lesegeschützten Zugriff haben.
  • Operatoren und Supportmitarbeiter sollten bei Bedarf schreibgeschützten Zugriff haben.
  • Nur Administratorkonten sollten vollständigen Zugriff haben.

Sicherstellen, dass Ereignisse der Benutzerverwaltung protokolliert werden

Titel Details
Komponente Webanwendung.
SDL-Phase Entwickeln
Zutreffende Technologien Allgemein
Attribute
Referenzen
Schritte

Stellen Sie sicher, dass die Anwendung Ereignisse der Benutzerverwaltung überwacht, z.B. erfolgreiche und fehlgeschlagene Benutzeranmeldungen, Kennwortzurücksetzungen, Kennwortänderungen, Kontosperrungen, Benutzerregistrierungen. Auf diese Weise kann potenziell verdächtiges Verhalten erkannt und darauf reagiert werden. So wird auch das Sammeln von Betriebsdaten ermöglicht, um z.B. nachzuverfolgen, wer auf die Anwendung zugreift.

Sicherstellen, dass das System über integrierte Schutzmaßnahmen gegen missbräuchliche Nutzung verfügt

Titel Details
Komponente Webanwendung.
SDL-Phase Entwickeln
Zutreffende Technologien Allgemein
Attribute
Referenzen
Schritte

Es sollten Kontrollen vorhanden sein, die bei einer missbräuchlichen Anwendungsnutzung eine Sicherheitsausnahme auslösen. Beispiel: Wenn eine Überprüfung von Eingaben vorhanden ist und ein Angreifer versucht, schädlichen Code einzufügen, der nicht mit dem regulären Ausdruck übereinstimmt, kann eine Sicherheitsausnahme ausgelöst werden, die ein Hinweis auf die missbräuchliche Nutzung des Systems sein könnte.

Beispielsweise wird empfohlen, für die folgenden Probleme Sicherheitsausnahmen zu protokollieren und Maßnahmen zu ergreifen:

  • Eingabeüberprüfung
  • CSRF-Verstöße
  • Brute-Force (obere Grenze für die Anzahl von Anforderungen pro Benutzer und Ressource)
  • Verstöße bei Dateiuploads

    Aktivieren der Diagnoseprotokollierung für Web-Apps in Azure App Service

    Titel Details
    Komponente Webanwendung.
    SDL-Phase Entwickeln
    Zutreffende Technologien Allgemein
    Attribute EnvironmentType: Azure
    Referenzen
    Schritte

    Azure bietet integrierte Diagnosefunktionen zur Unterstützung beim Debuggen einer App Service-Web-App. Dies gilt auch für API-Apps und mobile Apps. App Service-Web-Apps bieten Diagnosefunktionen zum Protokollieren von Informationen sowohl über den Webserver als auch über die Webanwendung.

    Diese sind logisch in Webserverdiagnose und Anwendungsdiagnose unterteilt.

    Sicherstellen, dass die Anmeldungsüberwachung in SQL Server aktiviert ist

    Titel Details
    Komponente Datenbank
    SDL-Phase Entwickeln
    Zutreffende Technologien Allgemein
    Attribute
    Referenzen Konfigurieren der Anmeldungsüberwachung
    Schritte

    Die Anmeldungsüberwachung für Datenbankserver muss aktiviert sein, um Angriffe zu erkennen/bestätigen, bei denen das Kennwort erraten wird. Es ist wichtig, fehlgeschlagene Anmeldeversuche zu erfassen. Das Erfassen erfolgreicher und fehlgeschlagener Anmeldeversuche bietet zusätzliche Vorteile während der forensischen Untersuchung.

    Aktivieren der Bedrohungserkennung in Azure SQL

    Titel Details
    Komponente Datenbank
    SDL-Phase Entwickeln
    Zutreffende Technologien SQL Azure
    Attribute SQL-Version: V12
    Referenzen Erste Schritte mit der Bedrohungserkennung von SQL-Datenbank
    Schritte

    Die Bedrohungserkennung erkennt anomale Datenbankaktivitäten, die auf potenzielle Sicherheitsrisiken für die Datenbank hindeuten. Sie bietet eine neue Sicherheitsebene und ermöglicht es den Kunden, auf erkannte potenzielle Bedrohungen zu reagieren. Zu diesem Zweck werden Sicherheitswarnungen zu anormalen Aktivitäten bereitgestellt.

    Die Benutzer können die verdächtigen Ereignisse mithilfe der Überwachung von Azure SQL-Datenbank untersuchen, um zu ermitteln, ob sie auf einen Zugriffsversuch zurückzuführen sind oder die Verletzung der Datensicherheit oder den Missbrauch von Daten zum Ziel haben.

    Die Bedrohungserkennung vereinfacht den Umgang mit potenziellen Bedrohungen für die Datenbank, ohne das Fachwissen eines Sicherheitsexperten besitzen oder komplexe Sicherheitsüberwachungssysteme verwalten zu müssen.

    Verwenden der Azure-Speicheranalyse zum Überwachen des Zugriffs auf Azure Storage

    Titel Details
    Komponente Azure Storage
    SDL-Phase Bereitstellung
    Zutreffende Technologien Allgemein
    Attribute
    Referenzen Verwenden der Speicheranalyse zur Überwachung des Autorisierungstyps
    Schritte

    Für jedes Speicherkonto kann die Azure-Speicheranalyse zur Protokollierung und Speicherung von Metrikdaten aktiviert werden. Bei der Speicheranalyse werden wichtige Informationen bereitgestellt, z. B. die Authentifizierungsmethode, die von einem Benutzer verwendet wird, wenn er auf den Speicher zugreift.

    Dies kann sehr hilfreich sein, wenn Sie den Zugriff auf den Speicher sehr genau beobachten. In Blob Storage können Sie z. B. alle Container als privat festlegen und die Verwendung eines SAS-Diensts in allen Anwendungen implementieren. Anschließend können Sie die Protokolle regelmäßig überprüfen, um festzustellen, ob der Zugriff auf Ihre Blobs über die Schlüssel des Speicherkontos erfolgt, was auf eine Sicherheitslücke hinweisen könnte, oder ob die Blobs öffentlich sind, obwohl sie es nicht sein sollten.

    Implementieren einer ausreichenden Protokollierung

    Titel Details
    Komponente WCF
    SDL-Phase Entwickeln
    Zutreffende Technologien .NET Framework
    Attribute
    Referenzen MSDN, Fortify Kingdom
    Schritte

    Das Fehlen eines richtigen Audit-Trails nach einem Sicherheitsincident kann die forensische Untersuchung behindern. Windows Communication Foundation (WCF) bietet die Möglichkeit, erfolgreiche und/oder fehlgeschlagene Authentifizierungsversuche zu protokollieren.

    Die Protokollierung fehlgeschlagener Authentifizierungsversuche kann Administratoren vor Brute-Force-Angriffen warnen. Die Protokollierung von Ereignissen für eine erfolgreiche Authentifizierung können einen nützlichen Audit-Trail bereitstellen, wenn ein berechtigtes Konto gefährdet wird. Aktivieren Sie die Funktion für die Sicherheitsüberwachung von Diensten in WCF.

    Beispiel

    Im Folgenden wird eine Beispielkonfiguration mit aktivierter Überwachung veranschaulicht.

    <system.serviceModel>
        <behaviors>
            <serviceBehaviors>
                <behavior name=""NewBehavior"">
                    <serviceSecurityAudit auditLogLocation=""Default""
                    suppressAuditFailure=""false"" 
                    serviceAuthorizationAuditLevel=""SuccessAndFailure""
                    messageAuthenticationAuditLevel=""SuccessAndFailure"" />
                    ...
                </behavior>
            </servicebehaviors>
        </behaviors>
    </system.serviceModel>
    

    Implementieren einer ausreichenden Behandlung von Überwachungsfehlern

    Titel Details
    Komponente WCF
    SDL-Phase Entwickeln
    Zutreffende Technologien .NET Framework
    Attribute
    Referenzen MSDN, Fortify Kingdom
    Schritte

    Die entwickelte Lösung wird so konfiguriert, dass keine Ausnahme generiert wird, wenn nicht in ein Überwachungsprotokoll geschrieben werden kann. Wenn WCF so konfiguriert ist, dass keine Ausnahme ausgelöst wird, wenn nicht in ein Überwachungsprotokoll geschrieben werden kann, wird das Programm nicht über den Fehler benachrichtigt, und es findet möglicherweise keine Überwachung auf kritische Sicherheitsereignisse statt.

    Beispiel

    Das <behavior/>-Element der folgenden WCF-Konfigurationsdatei weist WCF an, die Anwendung nicht zu benachrichtigen, wenn WCF nicht in ein Überwachungsprotokoll schreiben kann.

    <behaviors>
        <serviceBehaviors>
            <behavior name="NewBehavior">
                <serviceSecurityAudit auditLogLocation="Application"
                suppressAuditFailure="true"
                serviceAuthorizationAuditLevel="Success"
                messageAuthenticationAuditLevel="Success" />
            </behavior>
        </serviceBehaviors>
    </behaviors>
    

    Konfigurieren Sie WCF so, dass das Programm benachrichtigt wird, wenn nicht in ein Überwachungsprotokoll geschrieben werden kann. Im Programm sollte ein alternatives Benachrichtigungsschema vorhanden sein, um die Organisation zu informieren, dass Audit-Trails nicht verwaltet werden.

    Sicherstellen, dass Überwachung und Protokollierung für die Web-API erzwungen werden

    Titel Details
    Komponente Web-API
    SDL-Phase Entwickeln
    Zutreffende Technologien Allgemein
    Attribute
    Referenzen
    Schritte Aktivieren Sie die Überwachung und Protokollierung für Web-APIs. Überwachungsprotokolle sollten den Benutzerkontext erfassen. Identifizieren Sie alle wichtigen Ereignissen, und protokollieren Sie diese Ereignisse. Implementieren Sie eine zentralisierte Protokollierung.

    Sicherstellen, dass geeignete Überwachung und Protokollierung auf dem Bereichsgateway erzwungen werden

    Titel Details
    Komponente Zwischengeschaltetes IoT-Gateway
    SDL-Phase Entwickeln
    Zutreffende Technologien Allgemein
    Attribute
    Referenzen
    Schritte

    Wenn mehrere Geräte zu einem Bereichsgateway verbunden werden, stellen Sie sicher, dass Verbindungsversuche und der Authentifizierungsstatus (Erfolg oder Fehler) für die einzelnen Geräte protokolliert und auf dem Bereichsgateway verwaltet werden.

    In Fällen, in denen das Bereichsgateway die IoT Hub-Anmeldeinformationen für die einzelnen Geräte verwaltet, stellen Sie zudem sicher, dass die Überwachung ausgeführt wird, wenn diese Anmeldeinformationen abgerufen werden. Entwickeln Sie einen Prozess, um die Protokolle in regelmäßigen Abständen in Azure IoT Hub/Speicher für die langfristige Aufbewahrung hochzuladen.

    Sicherstellen, dass geeignete Überwachung und Protokollierung auf dem Cloudgateway erzwungen werden

    Titel Details
    Komponente IoT-Cloudgateway
    SDL-Phase Entwickeln
    Zutreffende Technologien Allgemein
    Attribute
    Referenzen Einführung in die IoT Hub-Vorgangsüberwachung
    Schritte

    Berücksichtigen Sie im Entwurf das Sammeln und Speichern von Überwachungsdaten, die durch die IoT Hub-Vorgangsüberwachung erfasst werden. Aktivieren Sie die folgenden Kategorien für die Überwachung:

    • Geräte-Identitätsvorgänge
    • Gerät-zu-Cloud-Kommunikation
    • Cloud-zu-Gerät-Kommunikation
    • Verbindungen
    • Dateiuploads