Überlegungen zu Sicherheit und Datenschutz

Übersicht

Dieser Abschnitt enthält Details zu verschiedenen Vorsichtsmaßnahmen, die gsutil zum Schutz der Datensicherheit bereitstellt, sowie Empfehlungen zur Sicherheit der Kunden.

Transport Layer Security

gsutil führt alle Vorgänge mit Transport Layer-Verschlüsselung (HTTPS) aus, um Datenverluste über freigegebene Netzwerklinks zu verhindern. Das ist auch wichtig, da gsutil "Inhabertokens" für die Authentifizierung (OAuth2) sowie für fortsetzbare Upload-IDs verwendet und diese Tokens vor dem Löschen und Wiederverwenden geschützt sind.

gsutil unterstützt auch den älteren HMAC-Authentifizierungsstil über die XML API (siehe gsutil help apis). Auch wenn die HMAC-Authentifizierung keine Inhabertokens verwendet (und daher keinen Abhör- / Wiedergabeangriffen ausgesetzt ist), ist es trotzdem wichtig, den Datenverkehr zu verschlüsseln.

Vor gsutil Version Release 4.0 konnten Sie HTTP anstelle von HTTPS verwenden, da Sie den Konfigurationsparameter "is_secure" im Abschnitt [Boto] der Boto-Konfigurationsdatei auf "False" gesetzt haben. Ab gsutil Version 4.0 ist die Einstellung "is_secure" auf "False" jedoch nicht zulässig. Weitere Informationen zu den verschiedenen Anmeldedatenoptionen finden Sie unter gsutil help creds.

Local File Storage Security

gsutil trifft eine Reihe von Sicherheitsmaßnahmen, um die in den lokal gespeicherten Dateien vor Sicherheitsangriffen zu schützen:

  • Wenn der Befehl gsutil config (oder gcloud init für Cloud SDK-Installationen) ausgeführt wird, wird der Dateischutzmodus 600 ("-rw-------") für die generierte .boto-Konfigurationsdatei festgelegt, sodass nur der Nutzer (oder Superuser) lesen kann. Dies ist wichtig, da diese Dateien sicherheitsrelevante Informationen enthalten, einschließlich Anmeldedaten und Proxykonfiguration.
  • Der Befehl "gsutil"-Konfiguration (oder gcloud init für Cloud SDK-Installationen) verwendet auch den Dateischutzmodus 600 für die Datei mit dem privaten Schlüssel, die lokal beim Erstellen von Anmeldedaten für das Dienstkonto gespeichert wird.
  • Die standardmäßige Logging-Ausgabe von gsutil-Befehlen enthält keine sicherheitsrelevanten Informationen wie OAuth2-Tokens und Proxy-Konfigurationsinformationen. Wenn Sie die Debug-Ausgabe mit der Option "gsutil -D" erhöhen, lesen Sie den Abschnitt "EMPFOHLENER NUTZERVORSICHTSMASSNAHMEN" weiter unten.

Beachten Sie, dass Schutzmodi unter Windows nicht unterstützt werden. Wenn Sie gsutil unter Windows verwenden, sollten Sie daher ein verschlüsseltes Dateisystem und starke Kontopasswörter verwenden.

Sicherheitsempfindliche Dateien, die von Gsutil vorübergehend auf das Laufwerk geschrieben wurden

gsutil puffert Daten in temporären Dateien in verschiedenen Situationen:

  • Beim Komprimieren von Daten, die über gsutil cp -z/-Z hochgeladen werden, speichert gsutil die Daten in temporären Dateien mit Schutz 600, die nach Abschluss des Uploads gelöscht werden (ähnlich wie beim Herunterladen von Dateien, die mit gsutil cp -z/-Z oder ein anderer Prozess, bei dem die Content-Codierung auf "gzip" gesetzt wird). Wenn Sie den gsutil-Prozess jedoch beenden, während der Upload noch nicht abgeschlossen ist, wird die teilweise geschriebene Datei gespeichert. Weitere Informationen dazu, wo die temporären Dateien geschrieben werden und wie Sie den Speicherort des temporären Verzeichnisses ändern, finden Sie im Abschnitt "TEMPORÄRE VERZEICHNISSE ÄNDERN" in gsutil help cp.
  • Bei einem fortsetzbaren Upload speichert gsutil die Upload-ID (die, wie oben erwähnt, ein Inhabertoken ist und daher geschützt sein sollte) in einer Datei unter ~/.gsutil/tracker-files mit Schutz 600 und löscht diese Datei, nachdem der Upload abgeschlossen ist. Wenn der Upload jedoch nicht erfolgreich abgeschlossen wird, bleibt die Tracker-Datei erhalten, sodass der fortsetzbare Upload später noch einmal gestartet werden kann. Im Laufe der Zeit ist es möglich, diese Tracker-Dateien von abgebrochenen Upload-Versuchen zu sammeln, obwohl fortsetzbare Upload-IDs nur eine Woche lang gültig sind, sodass das Sicherheitsrisiko nur für Dateien unter diesem Alter besteht. Wenn Sie das Risiko erwägen, abgebrochene Upload-IDs im Tracker-Verzeichnis zu belassen, können Sie Ihre Uploadskripts so ändern, dass die Tracker-Dateien gelöscht werden. oder Sie erstellen einen Cronjob, um in regelmäßigen Abständen das Tracker-Verzeichnis zu löschen.
  • Der gsutil rsync-Befehl speichert temporäre Dateien (mit Schutz 600), die die Namen, Größen und Prüfsummen von Quell- und Zielverzeichnissen/Buckets enthalten und nach Abschluss des rsync-Vorgangs gelöscht werden. Wenn Sie jedoch den gsutil-Prozess abbrechen, während der rsync ausgeführt wird, bleiben die Auflistungsdateien erhalten.

gsutil löscht temporäre Dateien mit dem Standardaufruf des Betriebssystems, der keine Datenlöschung durchführt. Daher kann der Inhalt solcher temporären Dateien von einem bestimmten Angreifer wiederhergestellt werden.

Zugriffskontrolllisten

Sofern Sie keine andere ACL angeben (z. B. über die Option gsutil cp -a), verwenden standardmäßig in einen Bucket geschriebene Objekte die Standard-Objekt-ACL für diesen Bucket. Wenn Sie diese ACL nicht ändern (z. B. mit dem Befehl "gsutil defacl"), können standardmäßig alle Projektbearbeiter Schreibzugriff auf das Objekt und Lese-/Schreibzugriff auf die Metadaten des Objekts gewähren und allen Projektbetrachtern Lesezugriff auf das Objekt gewähren.

Das Zugriffssteuerungssystem von Cloud Storage bietet die Möglichkeit, bestimmte Objekte öffentlich lesbar zu machen. Sie sollten sich sehr sicher sein, dass Objekte, die Sie mit dieser Berechtigung schreiben, öffentlich verfügbar sein sollen. Sobald sie "veröffentlicht" wurden, können Daten im Internet an viele Orte kopiert werden. Daher ist es praktisch unmöglich, später die Kontrolle über den Lesezugriff auf ein Objekt wiederherzustellen, das mit dieser Berechtigung geschrieben wurde.

Das Zugriffssteuerungssystem von Cloud Storage bietet außerdem die Möglichkeit, für Buckets einen öffentlichen Schreibzugriff zu gewähren. Diese Bucket-Konfiguration kann zwar für verschiedene Zwecke nützlich sein, dennoch empfehlen wir, diese Berechtigung nicht zu verwenden. Sie kann missbraucht werden, um illegale Inhalte, Viren und andere Malware zu verbreiten. Der Bucket-Inhaber ist für die in seinen Buckets gespeicherten Inhalte rechtlich und finanziell verantwortlich. Wenn Sie Inhalte für Kunden zur Verfügung stellen möchten, die kein Google-Konto haben, sollten Sie stattdessen signierte URLs verwenden (siehe gsutil help signurl).

Software-Integrität und -Updates

gsutil wird als eigenständiges Bundle über TAR- und ZIP-Dateien bereitgestellt, die im gs://pub-Bucket, als PyPi-Modul und als Teil des gebündelten Cloud SDK-Release gespeichert sind. Für jede dieser Verteilungsmethoden gelten verschiedene Sicherheitsvorkehrungen, um die Integrität der Software zu schützen. Es wird dringend empfohlen, eine Kopie von gsutil aus anderen Quellen (z. B. gespiegelten) abzurufen.

Proxy-Nutzung

gsutil unterstützt den Zugriff über Proxys wie Squid und eine Reihe von kommerziellen Produkten. Eine vollständige Beschreibung ihrer Funktionen wird in dieser Dokumentation nicht behandelt. Proxys können jedoch so konfiguriert werden, dass sie viele sicherheitsbezogene Funktionen unterstützen, darunter der Virenscan, Vermeidung von Datenlecks, die Kontrolle darüber, welche Zertifikate/CAs die vertrauenswürdig sind, die Filterung nach Inhaltstyp und viele weitere Funktionen. Einige dieser Funktionen können ein ordnungsgemäßes gsutil-Verhalten verlangsamen oder blockieren. Der Virenscan ist beispielsweise darauf angewiesen, Dateiinhalte zu entschlüsseln, was wiederum erfordert, dass der Proxy die gsutil-Verbindung beendet und eine neue Verbindung herstellt. In einigen Fällen schreiben Proxys Inhalte so um, dass Prüfsummen-Validierungsfehler und andere Probleme auftreten.

Weitere Informationen zur Konfiguration von Proxys finden Sie im Proxy-Hilfetext in Ihrer .boto-Konfigurationsdatei (durch den Befehl gsutil config oder gcloud init generiert).

Verschlüsselung inaktiver Daten

Alle Cloud Storage-Daten werden verschlüsselt gespeichert. Weitere Informationen finden Sie unter Serverseitige Verschlüsselung.

Sie können auch eigene Verschlüsselungsschlüssel angeben. Weitere Informationen finden Sie unter Verschlüsselung der gsutil-Hilfe.

Datenschutz

Google wird Sie niemals auffordern, Ihre Anmeldedaten, Ihr Passwort oder andere sicherheitsrelevante Informationen weiterzugeben. Achten Sie auf mögliche Phishing-Betrugsversuche, bei denen jemand versucht, sich für Google auszugeben und nach diesen Informationen zu fragen.

Messdaten

Der Befehl "gsutil perdiag" erfasst verschiedene leistungsbezogene Messungen und Details zu Ihrem lokalen System und Ihrer Netzwerkumgebung, um Leistungsprobleme zu beheben. Keine dieser Informationen wird an Google gesendet, es sei denn, Sie senden sie.