Encrypt files in S3

Last time I wrote about encrypting EBS boot volumes, this week I will continue with the encryption as the main topic by writing about S3 encryption and since it could not have turned out any other way, we will use again KMS for that.

Files in S3 also can be encrypted by using KMS, providing an extra layer of security.
In the example I will use to explain it, I will use:

  • An EC2 instance
  • An IAM role (I will call it “sync”) attached to the EC2 instance
  • S3 Bucket  (I will call it „encrypted-sync“)
  • Key in KMS

Remember that to use roles for applications that run on Amazon EC2 instances instead of AWS credentials is an AWS best practice.

 

Use Case

Files in the server will synchronise with S3 every 5 minutes. The files will be encrypted in S3.

 

Graphical overview

 

Solution

As simple as our scenario: Just a command.

/usr/local/bin/aws s3 --region eu-central-1 sync --sse aws:kms --sse-kms-key-id 611g215z-a7j3-3c6f-g59e-f1e6f53b2et3 /data/ s3://encrypted-sync

 
Here a small explanation for some parts of the command:

--sse (string) Specifies server-side encryption of the object in S3.

--sse-kms-key-id (string) The AWS KMS key ID that should be used to server-side encrypt the object in S3.

 
In order that the synchronisation takes place every 5 minutes, you just need to create a cronjob.

 

Encrypted EBS Boot Volumes

Encryption is an important part of any data protection strategy, and because of that today we are showing how encryption for EBS boot volumes works.

This will aid your security, compliance, and auditing efforts by allowing you to verify that all of the data that you store on EBS is encrypted. Further, because this feature makes use of KMS, you can track and audit all uses of the encryption keys.

 

Creating an Encrypted EBS Boot Volume

First of all you need to create the key you will use to encrypt the boot volume. This is done in IAM:

IAM Management Console

Note that the key must be created in the same region where you want to encrypt the boot volume.

(mehr …)

AWS Key Management Service … Verschlüsselung leicht gemacht

Auf der re:Invent in Las Vegas hatte Amazon Web Services jüngst den neuen Key Management Service vorgestellt.

Mit dem Key Management Service (KMS) können Kunden in ihrem AWS Account pro AWS-Region eigene Customer Master Keys erstellen und diese nutzen, um damit sehr einfach EBS-Laufwerke, S3-Daten und Redshift-Datenbanken mit AES-256 zu verschlüsseln.

Nun ist der KMS ein gemanagter Service und es stellt sich die entscheidene Frage, ob AWS Zugriff auf die Customer Master Keys hat. AWS sagt aus, dass der KMS so konzipiert wurde, dass ein Zugriff von AWS Mitarbeitern auf die Keys nicht möglich ist.


Can AWS employees access my keys in AWS KMS?

AWS KMS is designed so that no one has access to your master keys. The service is built on systems that are designed to protect your master keys with extensive hardening techniques such as never storing plaintext master keys on disk, not persisting them in memory, and limiting which systems can connect to the device. All access to update software on the service is controlled by a multi-level approval process that is audited and reviewed by an independent group within Amazon.

More details about these security controls can be found in the AWS KMS Cryptographic Details whitepaper. In addition, you can request a copy of the Service Organization Controls (SOC) report available from AWS Compliance to learn more about security controls AWS uses to protect your data and master keys.

Ich persönlich bin sehr froh über diesen neuen KMS Service … warum, möchte ich wie folgt darstellen … es ist aber nur meine persönliche Meinung und stellt keinerlei Rechtsberatung dar …

Probleme  bei Speicherung personenbezogener Daten

Einige Datenschutzbeauftragte sahen in der Vergangenheit folgendes Problem bei der Speicherung von personenbezogenen Daten bei AWS:

  • AWS bietet für die AWS-Accounts Support an, der entsprechend weltweit wegen 24×7 rollierend ist.
  • AWS-Support-Mitarbeiter ausserhalb von Europa haben somit einen entsprechenden Zugriff auf AWS-Ressoucen der Kunden und könnten ggf. somit auch einen theoretischen Zugriff auf personenbezogene Daten haben.
  • AWS hatte zwar bereits in der Vergangenheit betont und auch auf Anfrage zugesichert, dass durch das entsprechende Design der Systeme dieses gar nicht nicht möglich sei, da die AWS-Support Mitarbeiter die AWS-Ressourcen nur von aussen als Infrastruktur sehen können und daher niemals Zugriff direkt auf die Daten der Kunden haben …

Key Management Service löst Datenschutzprobleme

Das alles aber war immer wieder ein Diskussionspunkt. der manche Projekte nicht gerade leichter gemacht hat … durch den Einsatz von Verschlüsselung mittels des AWS KMS wird dieses Problem nun eigentlich obsolet … so zumindest meine Hoffnung 😉

Unabhängig von dem AWS Key Management Service kann man natürlich mittels des AWS Services CloudHSM eigene dedizierte Hardware bei AWS für die Speicherung von privaten Keys anfordern, bei der AWS technisch überhaupt gar keine Möglichkeit hat, an die privaten Keys heranzukommen … das ist aber entsprechend aufwändig zu implementieren, da entsprechende 3rd-Party Software für die Verschlüsselung verwendet werden muss und damit das eine oder andere Budget gesprengt wird.

Verschlüsselung von Daten auf AWS S3

Datenverschlüsselung auf AWS S3  symmkryptDas Thema Datensicherheit und damit auch Verschlüsselung ist bei unseren deutschen Amazon Web Services Kunden eigentlich ein Dauerthema. Amazon AWS trägt diesem Bedürfnis zunehmend mehr Rechnung und hat gerade gestern wieder eine entsprechende Erweiterung der S3 Dienste veröffentlicht.

Hier nun eine Übersicht, über die von Amazon Web Services angebotenen Verschlüsselungsoptionen für Ihre Daten auf S3:

(mehr …)

Teil 3: NSA sichere Passwörter für AES-256 Bit Verschlüsselung

Die ganze Verschlüsselung mit AES-256 ist natürlich nur so gut, wie das gewählte Passwort … denn die Tools zum Knacken von Passwörten sind richtig gut und wenn man viel Rechenpower mit GPU’s hat, sind manche Passwörter sehr schnell erraten. Im Wesentlichen kommt es auf die Entropie des Passwortes an und nicht auf das Verwenden von gängigen Sonderzeichen etc.

In der nachfolgend dargestellten Grafik wird das super auf den Punkt gebracht:

xkcd-936-password_strength

In diesem Artikel wird der technische Unterschied anhand der oben dargestellten Grafik ausführlich erklärt:

http://blog.agilebits.com/2011/08/10/better-master-passwords-the-geek-edition/

Mit diesem Online-Tool kann man die aktuelle Entropie seines Passwortes errechnen:

http://rumkin.com/tools/password/passchk.php

In diesem Artikel wird beschrieben, wie schnell man Passwörter mit einem Tool wie John-the-Ripper oder Hash-Suite basierend auf einer entsprechenden Entropie des Passwortes knacken kann … hier in der Tabelle ist aber berücksichtigt, dass der Passwort-Algorithmuss mittels PBKDF2 abgebildet wurde, der dazuführt, dass bei der Prüfung des Passworts stets eine entsprechende Anzahl von Iterationen durchlaufen werden muss, was die Geschwindigkeit von den Passwort-Jnack-Tools dramatisch verringert.

JtR-1P-crack-times-750x305

Teil 2: NSA sichere Amazon AWS Ressourcen

Amazon AWS stellt als Speicher-Ressourcen unter anderem folgende Dienste zur Verfügung:

  • S3 als allgemeinen Multi-Redundanten Speicherdienst für Dateien
  • EBS als Dienst, der virtuelle Laufwerke für Windows oder Linux EC2-Instanzen bereitstellt

Es existieren zur Zeit drei gute Tools um EC2-Instanzen und deren EBS Laufwerke und teilweise auch S3-Dateien komplett zu verschlüsseln:

  • Porticor – stellt eine virtuelle EC2-Appliance zur Verfügung, die zwischen 99,00 und 599,00 US$ pro Monat kostet und EBS-Laufwerke und S3-Dateien komplett verschlüsselt
  • Safenet ProtectV – stellt eine eine virtuelle EC2-Appliance zur Verfügung, die EC2-Instanzen und deren EBS-Laufwerke komplett verschlüsselt
  • Trendmicro SecureCloud – stellt einen Software-Dienst zur Verfügung, der eine EC2-Istanz mit deren EBS-Laufwerken komplett verschlüsselt

Bei Einsatz einer dieser Tools werden die Daten NSA-sicher auf EBS-Laufwerken gespeichert, da Amazon AWS selbst dann nicht der entsprechende Key zur Entschlüsselung zur Verfügung steht … Amazon AWS muss ja notfalls im Zuge des Patriot-Acts entsprechende Daten an die Behörden ausliefern … kann dieses aber nur tun, wenn die Daten vom Kunden nicht entsprechend verschlüsselt wurden.

Selbstverständlich sollte dann auch die Kommunikation mit den Amazon AWS Ressourcen ausschliesslich via HTTPS oder VPN durchgeführt werden, so dass auch ein Abgreifen des Datenstroms auf dem Weg zum Amazon AWS Datacenter nicht den gewünschten Erfolg bringt.

Teil 1: NSA sichere Cloud für Endconsumer Dienste wie Dropbox, etc.

Leider mussten wir in der letzten Zeit erfahren, dass die NSA und andere Geheimdienste doch mehr Daten mitlesen als wir alle dachten. Wer dieses verhindern möchte, kann selbst tätig werden und seine Daten entsprechend verschlüsseln. Es existieren bereits zahlreiche Tools auf dem Markt, die alle AES 256 unterstützen, damit ist man, sofern man einen guten Key verwendet hat, eigentlich 100% auf der sicheren Seite.

Tools für CloudDrives wie DropBox, SkyDrive, GoogleDrive, etc:

Tools für Office365, GMail, etc.