1 votes

Cryptage sur jenkins ou S3 et décryptage sur l'instance EC2

Je veux automatiser le déploiement d'un nouveau code sur mon application en utilisant AWS CodeDeploy. J'utilise AWS pour exécuter mon application. Ce que je veux faire est le suivant :

  1. Construire l'application dans jenkins (fonctionne aussi sur AWS)
  2. Envoyer l'application compilée sur S3, ainsi que certaines variables d'environnement qui doivent être définies automatiquement par les crochets de CodeDeploy (AfterInstall).
  3. CodeDeploy s'occupera du reste des étapes

Ce que je veux savoir, c'est s'il existe une pratique AWS pour crypter ces env vars (ils sont dans un fichier texte) sur S3 et les décrypter dans l'instance ? Si ce n'est pas le cas, avez-vous des indications sur la façon dont je pourrais obtenir ce que je veux (une certaine sécurité concernant ces variables d'environnement sur S3) ?

P.S. La raison pour laquelle nous téléchargeons ces variables d'environnement dans S3 et les paramétrons à chaque déploiement est qu'elles ont tendance à changer. Je ne veux pas les intégrer dans l'image. De plus, il n'est pas possible de s'éloigner des env vars.

2voto

DuStorm Points 106

Lorsque vous placez des données dans Amazon S3, il existe deux façons de les crypter :

  1. Cryptage côté client, ou
  2. Cryptage côté serveur.

Cryptage côté client

Amazon n'a pas de mécanisme intégré de cryptage côté client. Vous devrez le mettre en place vous-même : Cryptez les données dans Jenkins à l'aide de votre outil préféré puis téléchargez-les. Lorsque les objets sont téléchargés depuis S3, décryptez les objets après leur téléchargement.

Une façon de procéder est d'utiliser 7z pour compresser et crypter l'archive en utilisant le cryptage AES256. Une autre solution consiste à utiliser OpenSSL.

Cryptage côté serveur

Amazon dispose d'un mécanisme intégré de cryptage côté serveur.

Si vous utilisez l'AWS CLI pour télécharger vos fichiers vers S3, vous pouvez utiliser la commande --server-side-encryption pour que vos fichiers soient chiffrés sur le serveur. Lorsque les objets seront téléchargés, ils seront automatiquement décryptés.

Toutefois, sachez que cela ne protège pas l'objet contre le téléchargement via l'API S3 par quelqu'un d'autre que vous. Si quelqu'un utilise des informations d'identification AWS valides et télécharge le fichier, celui-ci lui sera ouvert.

Ce qui est protégé, c'est l'accès à l'objet par des moyens autres que l'API, comme l'accès direct au centre de données.

Notes finales

Si vous voulez que les fichiers soient illisibles pour tout le monde, sauf pour vous, et à tout moment, il vous faut un cryptage côté client.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X