2016-10-19 1 views
1

Ich mache Firebase-Backups und versuche herauszufinden, wie die Daten am besten sicher und verschlüsselt bleiben.Wie richtet man am besten die Verschlüsselung für Dateien ein, die auf aws hochgeladen werden?

Ich wurde von Firebase angewiesen, einen öffentlichen PGP-Schlüssel bereitzustellen, aber AWS verfügt auch über ein Schlüsselverwaltungssystem (KMS) zum Erstellen von Schlüsseln. Ich habe einen Schlüssel erstellt, bin mir aber nicht sicher, wo ich die Version mit dem öffentlichen Schlüssel für die Firebase erhalten soll.

Nicht sicher, ob ich das richtig mache, aber lassen Sie mich wissen, wenn Sie Ratschläge haben, wie Sie den Bucket und die Daten, die er hat, am besten sichern können.

Antwort

1

Sie können "grundlegende" SSE (Server Side Encryption) mit AES256 einrichten, was die Standardeinstellung ist. Mit dieser und einer Bucket-Richtlinie, die alle Uploads verweigert, die nicht über den SSE-Header verfügen, sollte alles in Ordnung sein.

Dies ist eine recht vernünftige Verschlüsselungsstufe, da jedes Objekt mit einem eindeutigen Schlüssel verschlüsselt ist und als zusätzliche Sicherheitsmaßnahme den Schlüssel mit einem Hauptschlüssel verschlüsselt, der regelmäßig von AWS selbst gedreht wird.

Um dies einzurichten, Sie im Grunde die folgenden Eimer Richtlinie anwenden:

{ 
    "Version": "2012-10-17", 
    "Id": "PutObjPolicy", 
    "Statement": [ 
    { 
    "Sid": "DenyIncorrectEncryptionHeader", 
    "Effect": "Deny", 
    "Principal": "*", 
    "Action": "s3:PutObject", 
    "Resource": "arn:aws:s3:::YourBucket/*", 
    "Condition": { 
    "StringNotEquals": { 
     "s3:x-amz-server-side-encryption": "AES256" 
    } 
    } 
}, 
{ 
    "Sid": "DenyUnEncryptedObjectUploads", 
    "Effect": "Deny", 
    "Principal": "*", 
    "Action": "s3:PutObject", 
    "Resource": "arn:aws:s3:::YourBucket/*", 
    "Condition": { 
    "Null": { 
     "s3:x-amz-server-side-encryption": "true" 
    } 
    } 
} 
] 
} 

Dies wird putObject Anfragen nur akzeptieren, die folgenden Request-Header haben:

"x-amz-server-side-encryption":"AES256" 

Sie auch Ihre Set können bis eigenes KMS (Key Management System), aber ich glaube, es ist ziemlich teuer.

+0

danke @tom! wenige Fragen - so verschlüsselt das Objekte, nachdem sie auf aws geantwortet haben, richtig? Möchten Sie nicht, dass die Objekte verschlüsselt werden, bevor sie mit einem öffentlichen Schlüssel an aws gesendet werden? – user3527354

+0

Das liegt ganz bei Ihnen. Wenn Sie Ihre Daten jedoch über HTTPS senden, das TLS (Transport Layer Security) 1.2 verwendet, sollte es bereits verschlüsselt sein. Wenn Sie ein paranoides Sicherheitsniveau anstreben, können Sie es sogar verschlüsseln, bevor Sie es über die Leitung senden, die, wenn Sie mich fragen, nicht notwendig ist. –

Verwandte Themen