So sichern Sie S3-Objekte mit Amazon S3 Verschlüsselung

><>

Direct Backup to AWS S3 | NAKIVO

Direct Backup to AWS S3 | NAKIVO

Avoid a single point of failure with simple Amazon S3 integration and anti-ransomware immutability options. Automated backup tiering and instant recovery features.

Über Datenverschlüsselung

Datenverschlüsselung ist ein Verfahren zur Sicherung von Daten durch Kodierung von Informationen. Daten werden mithilfe eines Passworts oder eines Verschlüsselungsschlüssels (Chiffre) und spezieller Verschlüsselungsalgorithmen kodiert. Auf die kodierten Daten kann dann mit dem richtigen Passwort oder Verschlüsselungsschlüssel (Entschlüsselungsschlüssel) zugegriffen werden. Die Datenverschlüsselung wird verwendet, um die Vertraulichkeit digitaler Daten zu schützen, selbst wenn eine unbefugte Person logischen oder physischen Zugriff auf diese Daten erhält. Wenn eine unbefugte Person Zugriff auf die kodierten Daten erhält, sind die Daten ohne den Schlüssel oder das Passwort unlesbar. Moderne Verschlüsselungsalgorithmen machen es schwierig und fast unmöglich, einen langen Verschlüsselungsschlüssel oder ein komplexes Passwort zu knacken. Es können verschiedene Verschlüsselungsalgorithmen verwendet werden, zum Beispiel AES, 3DES, RSA, Blowfish und so weiter. Die wichtigsten Arten der Kryptografie sind die symmetrische Kryptografie und die asymmetrische Kryptografie.

Amazon empfiehlt die Verwendung der S3-Verschlüsselung bei der Speicherung von Daten in Amazon S3-Buckets. Der erste Grund für diese Empfehlung ist die Sicherheit. Verschlüsselung erhöht das Maß an Sicherheit und Datenschutz. Es gibt jedoch noch einen weiteren Grund, warum in der Cloud gespeicherte Daten verschlüsselt werden sollten. Amazon speichert Daten von Nutzern aus verschiedenen Ländern. Manchmal kann ein Land die Herausgabe von Daten für eine Untersuchung verlangen, wenn ein Kunde oder eine Organisation im Verdacht steht, gegen das Gesetz verstoßen zu haben. Amazon muss jedoch die Lizenzvereinbarungen und Gesetze anderer Länder (Länder, deren Bürger Amazon-Kunden sind) respektieren, was zu Konflikten führen kann.

Wenn die Daten eines Nutzers verschlüsselt sind und Amazon nicht über die Codes für die Verschlüsselung verfügt, können die Daten des Nutzers nicht an Dritte weitergegeben werden (selbst wenn die verschlüsselten Daten bereitgestellt werden, handelt es sich um einen nutzlosen und unlesbaren Bit-Satz). Stellen Sie sich eine Situation vor, in der die USA Daten von einem europäischen Amazon-Kunden für Ermittlungszwecke anfordern. Was ist in diesem Fall zu tun? Wie Sie vielleicht bereits wissen, sind die personenbezogenen Daten europäischer Bürger durch die Datenschutz-Grundverordnung (DSGVO) geschützt. Weitere Informationen hierzu finden Sie im White Paper EU-Datenschutz-Grundverordnung.

Amazon S3-Verschlüsselungstypen

Wie funktioniert die S3-Verschlüsselung? Amazon bietet mehrere Verschlüsselungstypen für Daten, die in Amazon S3 gespeichert sind. Ist S3 verschlüsselt? Standardmäßig sind in einem S3-Bucket gespeicherte Daten nicht verschlüsselt, aber Sie können die AWS S3-Einstellungen für die Verschlüsselung konfigurieren.

Sie sollten nach Beantwortung der folgenden Fragen festlegen, welche Methode der Verschlüsselung verwendet werden soll:

  • Wer verschlüsselt und entschlüsselt die Daten?
  • Wer speichert den geheimen Schlüssel?
  • Wer verwaltet den geheimen Schlüssel?

Sehen wir uns die verfügbaren AWS-Methoden für die Verschlüsselung von S3-Objekten an, die in einem Bucket gespeichert sind.

Serverseitige Verschlüsselung

Die serverseitige Verschlüsselung (SSE) ist die einfachste Option zur Verschlüsselung der Daten. Alle aufwändigen Vorgänge der Verschlüsselung werden auf der Serverseite in der AWS-Cloud durchgeführt. Sie senden Rohdaten (unverschlüsselt) an AWS, und die Daten werden dann auf der AWS-Seite verschlüsselt, wenn sie im Cloud-Speicher aufgezeichnet werden. Wenn Sie Ihre Daten zurückerhalten möchten, liest Amazon die verschlüsselten Daten, führt die Entschlüsselung der benötigten Daten auf der Amazon-Serverseite durch und sendet Ihnen die unverschlüsselten Daten dann über das Netzwerk zu. Dieser Vorgang ist für Endbenutzer transparent.

SSE-S3 ist die einfachste Methode – die Schlüssel werden von AWS verwaltet und verarbeitet, um die von Ihnen ausgewählten Daten zu verschlüsseln. Sie können den Schlüssel nicht direkt einsehen oder manuell zur Verschlüsselung oder Entschlüsselung der Daten verwenden. Als Verschlüsselungsalgorithmus wird AES-256 verwendet. AES (Advanced Encryption Standard) ist eine symmetrische Blockverschlüsselung mit einer kryptografischen Schlüssellänge von 256 Bit. Wenn Sie AWS voll und ganz vertrauen, verwenden Sie diese S3-Verschlüsselungsmethode.

SSE-KMS ist eine etwas andere Methode als SSE-S3. Der AWS Key Management Service (KMS) wird verwendet, um S3-Daten auf der Amazon-Serverseite zu verschlüsseln. Der Datenschlüssel wird von AWS verwaltet, aber ein Benutzer verwaltet den Kunden-Hauptschlüssel (CMK) in AWS KMS. Die Vorteile der Verwendung des Verschlüsselungstyps SSE-KMS sind die Benutzerkontrolle und der Prüfpfad.

Bei SSE-Cwerden die Schlüssel vom Kunden bereitgestellt und AWS speichert die Verschlüsselungsschlüssel nicht. Der bereitgestellte Schlüssel wird an AWS übergeben, um jede Anfrage im Zusammenhang mit der Datenverschlüsselung oder -Entschlüsselung zu bearbeiten. Der Benutzer muss für die Sicherheit der Schlüssel sorgen. Die S3-Datenverschlüsselung wird auf der AWS-Serverseite durchgeführt. Es kann nur eine HTTPS-Verbindung verwendet werden (kein HTTP).

Clientseitige Verschlüsselung

Bei der Verwendung der S3-Clientseitigen Verschlüsselung ist der Client für alle Verschlüsselungsvorgänge verantwortlich. In diesem Fall werden die Daten nicht von AWS verschlüsselt, sondern auf der Seite des Benutzers. Die im Rechenzentrum des Benutzers verschlüsselten Daten werden direkt zu AWS hochgeladen. Für die S3-Client-seitige Verschlüsselung stehen zwei Optionen zur Verfügung: Ein Hauptschlüssel kann auf der Client-Seite oder auf der Server-Seite gespeichert werden. Wenn ein Hauptschlüssel auf der Client-Seite gespeichert ist, übernimmt der Client die volle Verantwortung für die Verschlüsselung. Der Vorteil dieses Ansatzes besteht darin, dass Amazon niemals die Verschlüsselungsschlüssel des Benutzers kennt und die Daten niemals in unverschlüsseltem Zustand auf Amazon-Servern gespeichert werden. Ein Benutzer verschlüsselt Daten, bevor er sie an Amazon S3 sendet, und führt die Entschlüsselung durch, nachdem er sie von Amazon S3 abgerufen hat.

Was ist der Amazon S3-Verschlüsselungsclient?

Der Amazon S3-Verschlüsselungsclient wird verwendet, um Daten auf der Benutzerseite zu verschlüsseln. Ein einmaliger Schlüssel für die Verschlüsselung wird zufällig generiert und für die Verschlüsselung der Daten auf Objektebene verwendet, was bedeutet, dass sich verschlüsselte und unverschlüsselte Objekte im selben Amazon S3-Bucket befinden können. AmazonS3EncryptionClient ist eine öffentliche Klasse für AWS SDK. Sie können AWS SDK für Java, C++, Python, .NET und andere unterstützte Programmiersprachen verwenden, um eigene Anwendungen zu erstellen, die mit Amazon S3 kompatibel sind und zur Verschlüsselung von an S3 gesendeten Daten sowie zur Entschlüsselung von von S3 empfangenen Daten auf der Clientseite verwendet werden können.

Wie konfiguriert man die AWS S3-Verschlüsselung?

  1. Melden Sie sich bei der Weboberfläche von AWS an. Ihr Konto muss über ausreichende Berechtigungen zum Bearbeiten der S3-Einstellungen verfügen.
  2. Rufen Sie die Amazon S3-Seite auf (der Link kann je nach Region und Konto variieren):
    https://s3.console.aws.amazon.com/s3/homeOpening the S3 bucket to configure Amazon S3 encryption
  3. Wählen Sie Ihren Bucket aus oder erstellen Sie einen neuen Bucket, für den Sie die Einstellungen für die Verschlüsselung konfigurieren möchten.
  4. Klicken Sie auf der Seite mit den Bucket-Einstellungen auf die Registerkarte „ <“ (Eigenschaften) >„Properties“ (Eigenschaften) und dann auf „ <“ (Verschlüsselungseinstellungen) >„Default encryption“ (Standardverschlüsselung).Amazon S3 bucket encryption is disabled by default
  5. Die Verschlüsselungseinstellungen sind nun geöffnet. Standardmäßig ist die S3-Bucket-Verschlüsselungsoption deaktiviert.
  6. Wählen Sie die gewünschte Option aus, z. B. AES-256. Dies ist eine serverseitige Verschlüsselung mit von Amazon S3 verwalteten Schlüsseln (SSE-S3). Sie können die Bucket-Richtlinie ansehen. Klicken Sie auf Speichern Sie , um die Einstellungen für die Verschlüsselung für den Bucket zu speichern. Die Einstellungen werden als Standard-S3-Verschlüsselungseinstellungen für Objekte verwendet, die in Zukunft zu diesem Bucket hinzugefügt werden.Changing default S3 bucket encryption settings
  7. Klicken Sie auf Speichern Sie.
  8. Nun ist die Standard-Verschlüsselung festgelegt. Alle neuen Objekte, die im S3-Bucket gespeichert werden, werden gemäß der festgelegten Konfiguration verschlüsselt. Es wird empfohlen, die Verschlüsselung beim Erstellen eines Buckets zu aktivieren. Sie können die Verschlüsselung auch später auf Bucket-Ebene aktivieren. Wenn Sie die Einstellungen für die Verschlüsselung jedoch später konfigurieren, haben diese Einstellungen keine Auswirkungen auf unverschlüsselte Dateien, die bereits in den Bucket hochgeladen wurden.
    S3 encryption at rest is configured
  9. Wenn Sie die AWS-KMS-Verschlüsselung auswählen möchten, klicken Sie auf die entsprechende Option. Wählen Sie in diesem Fall einen Schlüssel aus der Dropdown-Liste aus.
    Using AWS-KMS for AWS encryption

Verschlüsselung benutzerdefinierter Objekte im Bucket

Sehen wir uns an, wie Sie benutzerdefinierte Objekte verschlüsseln können, die bereits in einen Bucket hochgeladen wurden und für die die Einstellungen zur Verschlüsselung auf Keinegesetzt sind.

Öffnen Sie Ihren Bucket in der Weboberfläche von AWS. Sie können Ihre S3-Objekte auf der Registerkarte „ <“ (Übersicht) >AWS encryption for the file stored in an S3 bucket is set to none

Wählen Sie ein oder mehrere Objekte aus, klicken Sie auf Aktionen und dann auf Verschlüsselung ändern um die Einstellungen für benutzerdefinierte Objekte in Ihrem S3-Bucket zu ändern.

Changing AWS S3 encryption settings for custom files stored in an S3 bucket

Wählen Sie im sich öffnenden Fenster den gewünschten Typ der Verschlüsselung aus, z. B. AES-256, und klicken Sie auf Speichern Sie.

Changing AWS S3 encryption settings for custom files stored in an S3 bucket

Überprüfen Sie im Bestätigungsfenster die ausgewählten Objekte, die von den neuen Einstellungen für die Verschlüsselung betroffen sind, und klicken Sie auf Ändern Sie.

Confirmation that all affected S3 objects will change AWS encryption

Jetzt ist die Verschlüsselung für die ausgewählten Objekte eingestellt.

Beachten Sie, dass nach dem Festlegen der Einstellungen für die Verschlüsselung für den gesamten Bucket die Dateien, die vor der Aktivierung der Verschlüsselung in den Bucket hochgeladen wurden, unverschlüsselt bleiben. Wenn sich in Ihrem S3-Bucket eine große Anzahl von Objekten befindet, kann es schwierig sein, alle unverschlüsselten Objekte zu finden und auszuwählen, die verschlüsselt werden müssen. Um die unverschlüsselten Objekte in einem Bucket mit aktivierter Verschlüsselung auszuwählen, können Sie Amazon S3 Inventar oder AWS CLI verwenden.

Sie sollten die unverschlüsselten Objekte identifizieren und diese Objekte dann erneut hochladen, um sie mit der für den gesamten Bucket festgelegten Standard-S3-Bucket-Verschlüsselungsstufe zu verschlüsseln. Wenn Sie nicht nach unverschlüsselten S3-Objekten in Ihrem Bucket (z. B. bucket1) suchen möchten, können Sie einen neuen Bucket (bucket2) erstellen, alle Dateien von bucket1 in bucket2 kopieren und dann alle Dateien von bucket2 zurück in bucket1 kopieren.

Sie können unverschlüsselte Objekte kopieren, indem Sie sie mit dem AWS CLI-Befehl copy umschreiben, indem Sie die Methode der Verschlüsselung definieren, zum Beispiel –sse aktiviert die SSE-S3-128-Bit-Verschlüsselung, ohne einen neuen Bucket zu erstellen:

aws s3 cp s3://mybucket/myfile.zip s3://mybucket/myfile.zip --sse

Nach dem Neuschreiben ist die Datei verschlüsselt. Beachten Sie, dass Dateiattribute wie der Zeitpunkt der Dateierstellung und -änderung nach dem Neuschreiben geändert werden. Ihre Anwendungen, die diese Attribute (Datum und Uhrzeit der Dateierstellung/letzten Änderung) lesen und für die Arbeit mit in Amazon S3-Buckets gespeicherten Dateien verwenden können, verhalten sich nach dem Überschreiben der Dateien möglicherweise nicht wie erwartet.

Wenn für Ihren AWS S3-Bucket aus Kostengründen Optionen zur Lebenszyklusverwaltung aktiviert sind, können einige Probleme auftreten. Sie können beispielsweise die Lebenszykluskonfiguration so einstellen, dass Dateien gelöscht werden, die vor 6 Monaten erstellt oder geändert wurden. Alte Dateien werden automatisch gelöscht, es wird weniger Speicherplatz in der Cloud belegt und Sie zahlen weniger Geld für Cloud-Speicher. Wenn der LastModified Zeitstempel (Datum/Uhrzeit der letzten Änderung) für eine alte Datei, die bald gelöscht werden soll, neu geschrieben wird, erkennt die Funktion zum Verwalten des Lebenszyklus dieser Datei als eine kürzlich erstellte Datei, die für einen längeren Zeitraum (z. B. für 6 Monate, wie oben erwähnt) nicht gelöscht werden sollte. Infolgedessen werden mehr Dateien im Bucket gespeichert, was zu höheren Kosten führt.

Wenn die Versionierung aktiviert ist, wird eine neue verschlüsselte Version eines Objekts erstellt. Frühere Versionen des Objekts bleiben unverschlüsselt.

Hochladen von Objekten über die AWS-CLI

Die AWS-CLI kann auch in anderen Verwendungsfällen verwendet werden, wenn Sie Dateien mit Optionen für die Verschlüsselung nach Amazon S3 oder von Amazon S3 kopieren müssen. Sie können diese Befehlszeilenschnittstelle auch verwenden, um Objekte innerhalb eines S3-Buckets und von einem Bucket in einen anderen zu kopieren. Sie können die Verschlüsselungsoptionen für die Dateien, die hochgeladen werden, mithilfe der CLI für den Bucket festlegen, wenn sich die Standard-Verschlüsselungseinstellungen des Buckets und die Verschlüsselungseinstellungen, die für die hochgeladenen Dateien verwendet werden müssen, unterscheiden. Sehen wir uns Beispiele für die Verwendung von AWS CLI-Befehlen in Bash an.

Kopieren Sie eine Datei vom lokalen Rechner in den AWS S3-Bucket und legen Sie die serverseitige Verschlüsselung (SSE-S3-Verschlüsselung) fest:

aws s3 cp /directory/file-name s3://bucket-name/file-encrypted --sse AES256

Kopieren und entschlüsseln Sie eine Datei von AWS S3 auf eine lokale Festplatte:

aws s3 cp s3://bucket-name/file-encrypted /directory/file-name

Laden Sie die Datei von einer lokalen Festplatte in einen S3-Bucket hoch und verschlüsseln Sie sie mit der SSE-KMS-Verschlüsselung:

aws s3 cp /directory/file-name s3://bucket-name/file-encrypted --sse aws:kms

Herunterladen und Entschlüsseln einer Datei aus einem S3-Bucket auf eine lokale Festplatte:

aws s3 cp s3://bucket-name/file-encrypted /directory/file-name

Fazit

Die Amazon S3-Verschlüsselung hilft Ihnen, Ihre in AWS S3-Buckets in der Cloud gespeicherten Daten zu schützen, was insbesondere für sensible Daten wichtig ist. Die AWS S3-Verschlüsselung kann auf der Serverseite von Amazon und auf der Clientseite eines Kunden durchgeführt werden. Geheime Schlüssel können auf der Server- und auf der Clientseite gespeichert werden. Wenn Sie die Amazon S3-Verschlüsselung für Objekte verwenden möchten, die Sie in S3-Buckets speichern möchten, aktivieren Sie die Verschlüsselung beim Erstellen eines Buckets. Wenn Sie bereits einen Bucket verwenden und die in diesem Bucket gespeicherten Objekte unverschlüsselt sind, können Sie die Verschlüsselung für diese Objekte aktivieren. In diesem Fall gibt es jedoch einige Probleme zu beachten.

Die Verwendung von Verschlüsselung ist eine gute Idee, um die Sicherheit zu erhöhen und Ihre Daten vor dem Zugriff durch Dritte zu schützen. Zusätzlich zur Verwendung der AWS-Verschlüsselung sollten Sie die Durchführung von AWS S3-Backups und AWS EC2-Backups in Betracht ziehen, um die Sicherheit Ihrer Daten zu erhöhen.

Try NAKIVO Backup & Replication

Try NAKIVO Backup & Replication

Get a free trial to explore all the solution’s data protection capabilities. 15 days for free. Zero feature or capacity limitations. No credit card required.

Empfohlene Artikel