So sichern Sie S3-Objekte mit Amazon S3 Verschlü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. 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: Sehen wir uns die verfügbaren AWS-Methoden für die Verschlüsselung von S3-Objekten an, die in einem Bucket gespeichert sind. 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). 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. 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. 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) > 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. 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. Ü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. 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: 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. 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: Kopieren und entschlüsseln Sie eine Datei von AWS S3 auf eine lokale Festplatte: Laden Sie die Datei von einer lokalen Festplatte in einen S3-Bucket hoch und verschlüsseln Sie sie mit der SSE-KMS-Verschlüsselung: Herunterladen und Entschlüsseln einer Datei aus einem S3-Bucket auf eine lokale Festplatte: 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.Über Datenverschlüsselung
Amazon S3-Verschlüsselungstypen
Serverseitige Verschlüsselung
Clientseitige Verschlüsselung
Was ist der Amazon S3-Verschlüsselungsclient?
Wie konfiguriert man die AWS S3-Verschlüsselung?
https://s3.console.aws.amazon.com/s3/home




Verschlüsselung benutzerdefinierter Objekte im Bucket

aws s3 cp s3://mybucket/myfile.zip s3://mybucket/myfile.zip --sseHochladen von Objekten über die AWS-CLI
aws s3 cp /directory/file-name s3://bucket-name/file-encrypted --sse AES256aws s3 cp s3://bucket-name/file-encrypted /directory/file-nameaws s3 cp /directory/file-name s3://bucket-name/file-encrypted --sse aws:kmsaws s3 cp s3://bucket-name/file-encrypted /directory/file-nameFazit


