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:
|
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:
|
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:
|
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:
|