Web Security Scanner – Übersicht

>

Diese Seite bietet eine Übersicht über Web Security Scanner.

Einführung

Mit Web Security Scanner können Sie Sicherheitslücken in Ihren App Engine-, GKE- (Google Kubernetes Engine) und Compute Engine-Webanwendungen erkennen. Dieser Scanner führt ein Crawling Ihrer Anwendung durch, folgt dabei allen Links im Bereich der Start-URLs und versucht, so viele Nutzereingaben und Event-Handler wie möglich anzuwenden. Derzeit unterstützt Web Security Scanner nur öffentliche URLs und IP-Adressen hinter einer Firewall.

Web Security Scanner unterstützt derzeit die App Engine-Standardumgebung und die flexiblen App Engine-Umgebungen sowie Compute Engine-Instanzen und GKE-Ressourcen.

Web Security Scanner ist als Ergänzung Ihrer bestehenden Sicherheitsarchitektur und Ihrer Entwicklungsprozesse konzipiert. Damit Sie möglichst wenig durch falsch positive Meldungen abgelenkt werden, ist Web Security Scanner so eingestellt, dass nur Warnungen mit hohen Konfidenzwerten angezeigt werden. Das Tool ist kein Ersatz für eine manuelle Sicherheitsprüfung und bietet keine Garantie dafür, dass Ihre Anwendung frei von Sicherheitslücken ist. Weitere Informationen zum Thema Websicherheit finden Sie unter OWASP Top Ten Project.

Weitere Informationen zur Sicherheit der Google Cloud

Scantypen

Web Security Scanner ermöglicht verwaltetes und benutzerdefiniertes Scannen auf Sicherheitslücken im Web für öffentliche App Engine-, GKE- und Compute Engine-Dienste.

Verwaltete Scans

Von Web Security Scanner verwaltete Scans werden von Security Command Center konfiguriert und verwaltet. Verwaltete Scans werden jede Woche automatisch einmal ausgeführt, um öffentliche Webendpunkte zu erkennen und zu scannen. Bei diesen Scans wird keine Authentifizierung verwendet. Sie senden nur-GET-Anfragen, sodass sie keine Formulare auf Live-Websites senden.

Verwaltete Scans werden getrennt von benutzerdefinierten Scans ausgeführt, die Sie auf Projektebene definieren. Mit verwalteten Scans können Sie die grundlegende Erkennung von Sicherheitslücken in Webanwendungen für Projekte in Ihrer Organisation zentral verwalten, ohne die Teams für die einzelnen Projekte einzubeziehen. Wenn Ergebnisse gefunden werden, können Sie mit diesen Teams zusammenarbeiten, um umfassendere benutzerdefinierte Scans einzurichten.

Wenn Sie Web Security Scanner als Dienst aktivieren, sind die Ergebnisse des verwalteten Scans automatisch auf dem Tab "Sicherheitslücken" des Security Command Center und in zugehörigen Berichten verfügbar. Informationen zum Aktivieren verwalteter Scans in Web Security Scanner finden Sie unter Security Command Center konfigurieren.

Benutzerdefinierte Scans

Benutzerdefinierte Scans von Web Security Scanner liefern detaillierte Informationen zu Ergebnissen in Bezug auf die Anwendungssicherheit, wie veraltete Bibliotheken, Cross-Site-Scripting oder Verwendung von gemischten Inhalten. Benutzerdefinierte Scanergebnisse sind in Security Command Center verfügbar, nachdem Sie den Leitfaden zum Einrichten benutzerdefinierter Web Security Scanner-Scans befolgt haben.

Scan-Ergebnisse

Diese Tabellen enthalten eine Beschreibung der Zuordnung zwischen unterstützten Detektoren und der Best-Effort-Zuordnung zu relevanten Compliance-Systemen.

Die Zuordnungen von CIS Google Cloud Foundation 1.0 wurden vom Center for Internet Security auf die Übereinstimmung mit dem CIS Google Cloud Computing Foundations Benchmark v1.0.0 geprüft und zertifiziert. Zusätzliche Compliance-Zuordnungen sind zu Referenzzwecken enthalten und werden nicht vom Payment Card Industry Data Security Standard oder der OWASP Foundation bereitgestellt oder geprüft. Weitere Informationen finden Sie unter CIS Google Cloud Computing Foundations Benchmark v1.0.0 (CIS Google Cloud Foundation 1.0), Payment Card Industry Data Security Standard 3.2.1 (PCI-DSS v3.2.1) OWASP Top Ten, National Institute of Standards and Technology 800-53 (NIST 800-53) und International Organization for Standardization 27001 (ISO 27001) zur manuellen Prüfung auf diese Verstöße.

Diese Funktion dient lediglich zur Überwachung auf Verstöße gegen die Compliance-Vorkehrungen. Die Zuordnungen dienen nicht als Grundlage bzw. Ersatz für die Prüfung, Zertifizierung oder Bestätigung der Compliance Ihrer Produkte oder Dienstleistungen gemäß aller regulatorischen oder branchenspezifischen Benchmarks oder Standards.

Im Folgenden finden Sie Typen, die von benutzerdefinierten und verwalteten Scans von Web Security Scanner identifiziert werden.

Tabelle 18. Web Security Scanner-Ergebnisse
Category Ergebnisbeschreibung CIS GCP Foundation 1.0 PCI DSS v3.2.1 OWASP Top 10 NIST 800–53 ISO-27001
ACCESSIBLE_GIT_REPOSITORY Ein GIT-Repository ist öffentlich zugänglich. Um dieses Problem zu beheben, entfernen Sie den unbeabsichtigten öffentlichen Zugriff auf das GIT-Repository. A3
ACCESSIBLE_SVN_REPOSITORY Ein SVN-Repository ist öffentlich zugänglich. Um dieses Problem zu beheben, entfernen Sie den öffentlichen Zugriff auf das SVN-Repository. A3
CLEAR_TEXT_PASSWORD Passwörter werden unverschlüsselt übertragen und können abgefangen werden. Verschlüsseln Sie zur Behebung dieses Problems das über das Netzwerk übertragene Passwort. A3
INVALID_CONTENT_TYPE Die geladene Ressource stimmt nicht mit dem Content-Type HTTP-Header der Antwort überein. Um dieses Problem zu lösen, legen Sie für den HTTP-Header "X-Content-Type-Options" den richtigen Wert fest. A6
INVALID_HEADER Ein Sicherheitsheader hat einen Syntaxfehler und wird von Browsern ignoriert. Um dieses Problem zu beheben, legen Sie die HTTP-Sicherheitsheader richtig fest. A6
MISMATCHING_SECURITY_HEADER_VALUES Ein Sicherheitsheader hat doppelte, nicht übereinstimmende Werte, was zu nicht definiertem Verhalten führt. Um dieses Problem zu beheben, legen Sie die HTTP-Sicherheitsheader richtig fest. A6
MISSPELLED_SECURITY_HEADER_NAME Ein Sicherheitsheader ist falsch geschrieben und wird ignoriert. Um dieses Problem zu beheben, legen Sie die HTTP-Sicherheitsheader richtig fest. A6
MIXED_CONTENT Ressourcen werden über HTTP auf einer HTTPS-Seite bereitgestellt. Achten Sie zur Behebung dieses Problems darauf, dass alle Ressourcen über HTTPS bereitgestellt werden. A6
OUTDATED_LIBRARY Es wurde eine Bibliothek mit bekannten Sicherheitslücken gefunden. Aktualisieren Sie die Bibliotheken auf eine neuere Version, um dieses Problem zu beheben. A9
XSS Ein Feld in dieser Webanwendung ist anfällig für einen Cross-Site-Scripting-Angriff (XSS). Um dieses Problem zu beheben, validieren und maskieren Sie nicht vertrauenswürdige vom Nutzer bereitgestellte Daten. A7
XSS_ANGULAR_CALLBACK Ein vom Nutzer bereitgestellter String ist nicht maskiert und kann von AngularJS interpoliert werden. Um dieses Problem zu beheben, validieren und maskieren Sie nicht vertrauenswürdige vom Nutzer bereitgestellte Daten, die vom Angular-Framework verarbeitet werden. A7
XSS_ERROR Ein Feld in dieser Webanwendung ist anfällig für einen Cross-Site-Scripting-Angriff. Um dieses Problem zu beheben, validieren und maskieren Sie vom Nutzer bereitgestellte nicht vertrauenswürdige Daten. A7

Nutzungswarnungen

Bei der Verwendung von Web Security Scanner sollten Sie Folgendes beachten:

  • Web Security Scanner wird kontinuierlich verbessert. Daher kann es vorkommen, dass zukünftige Scans Probleme melden, die von aktuellen Scans nicht erkannt wurden.
  • Einige Funktionen oder Bereiche Ihrer Anwendung werden möglicherweise nicht getestet.
  • Web Security Scanner versucht, alle gefundenen Steuerelemente und Eingaben zu aktivieren.
  • Wenn Sie über Ihr Testkonto Vorgänge zu Statusänderungen freigeben können, wird Web Security Scanner diese wahrscheinlich vornehmen. Dies kann zu unerwünschten Ergebnissen führen.

Wer kann Sicherheitsscans durchführen?

Informationen zu den für Web Security Scanner verfügbaren IAM-Rollen (Identity and Access Management) finden Sie unter Zugriffssteuerung.

Wie lange dauert ein Sicherheitsscan?

Der Sicherheitsscan wird nicht sofort ausgeführt, sondern für eine spätere Ausführung in die Warteschlange gestellt. Abhängig von der aktuellen Last kann es mehrere Stunden dauern, bis der Scan ausgeführt wird. Sobald der Scan startet, ist die Scandauer abhängig von der Größe Ihrer Anwendung. Für große Anwendungen mit vielen URLs kann ein Scan möglicherweise mehrere Stunden in Anspruch nehmen.

Zieleinschränkungen

Web Security Scanner verfügt über Filter, die Scanziele auf die bestimmte App Engine-Instanz begrenzen, für die der Scan erstellt wurde. Die Eingabe von URLs für ein anderes App Engine-Projekt oder eine externe Domain führt zu einer Fehlermeldung.

Innerhalb Ihres Projekts versucht Web Security Scanner automatisch, Logout-URLs und andere allgemeine Standorte zu vermeiden, die sich negativ auf den Scan auswirken könnten. Sie können jedoch zur Sicherheit über die Scaneinstellungen URLs manuell ausschließen.

Best Practices

Da Web Security Scanner Felder ausfüllt, auf Schaltflächen klickt, auf Links klickt usw., sollten Sie das Tool mit Vorsicht verwenden. Web Security Scanner kann Features aktivieren, die den Status Ihrer Daten oder Ihres Systems ändern, was zu unerwünschten Ergebnissen führt.

Beispiel:

  • In einem Blog, in dem öffentlich kommentiert werden kann, postet Web Security Scanner möglicherweise Teststrings als Kommentare für alle Blogartikel.
  • Auf einer E-Mail-Anmeldeseite generiert Web Security Scanner möglicherweise eine hohe Anzahl von Test-E-Mails.

Im Folgenden finden Sie einige Methoden, die Sie separat oder in Kombination verwenden können, um unerwünschte Ergebnisse zu vermeiden:

  1. Scans in einer Testumgebung ausführen. Richten Sie durch Erstellen eines separaten App Engine-Projekts eine Testumgebung ein, auf der Sie Ihre Anwendung und Daten laden. Wenn Sie das gcloud-Befehlszeilentool verwenden, können Sie das Zielprojekt beim Hochladen Ihrer Anwendung als Befehlszeilenoption angeben.
  2. Testkonto verwenden. Erstellen Sie zum Scannen Ihrer Anwendung ein Nutzerkonto, das nicht auf vertrauliche Daten oder schädliche Vorgänge zugreifen kann. Viele Anwendungen bieten bei der ersten Anmeldung eines Nutzers einen bestimmten Workflow ‒ Akzeptieren der Bedingungen, Erstellen eines Profils usw. Da der Workflow unterschiedlich ist, kann ein Testkonto für einen erstmaligen Nutzer andere Scanergebnisse ausgeben als ein Nutzerkonto für einen etablierten Nutzer. Wir empfehlen, den Scan mit einem Konto durchzuführen, bei dem der Workflow der Ersteinrichtung abgeschlossen ist.
  3. Einzelne UI-Elemente blockieren, die Sie nicht aktivieren möchten. Wenden Sie dazu die CSS-Klasse inq-no-click an. Event-Handler, die diesem Element angehängt sind, werden beim Crawling und Prüfen nicht aktiviert. Dies ist unabhängig davon, ob sie mit Inline-JavaScript, mit addEventListener oder durch Festlegen des entsprechenden Event-Handlers angehängt wurden.
  4. Sicherungsdaten verwenden. Es wird empfohlen, Daten vor einem Scan zu sichern.
  5. Ausgeschlossene URLs. Sie können URL-Muster angeben, die nicht gecrawlt oder getestet werden. Informationen zur Syntax finden Sie unter URLs ausschließen.

Prüfen Sie Ihre Anwendung vor dem Scan sorgfältig auf Features, die über den gewünschten Scanumfang hinausgehen und dadurch Daten, Nutzer oder Systeme beeinträchtigen könnten.

Nächste Schritte