Skip to content

Les variables d'environnement et github.

cveneziani edited this page Dec 31, 2014 · 9 revisions

Salut tout le monde,

Je me suis fait une belle frayeur il y a quelques jours. J'ai voulu utiliser AWS S3 pour permettre aux utilisateurs de mon site d'uploader des fichiers directement dans le cloud (avec Jquery file upload mais Dropzone a l'air stylé aussi). Mais pour celà, il faut écrire ses codes d'accès à Amazon quelque part et c'est là qu'on utilise généralement des variables d'environnement ENV['ma_variable'] = 'valeur de la variable'. Il faut créer un nouveau fichier 'variable.rb' et y mettre les variables et surtout après AJOUTER 'variable.rb' à .GITIGNORE! Il existe une autre méthode avec foreman et un fichier .env que je ne suis pas sur d'avoir comprise. (Sur heroku, il y a une autre méthode : https://devcenter.heroku.com/articles/config-vars).

Oubliant l'étape .gitignore, j'ai push mes codes sur github, il s'est passé quelques heures avant que je m'en rende compte (Amazon m'a envoyé un mail d'avertissement avec le lien vers mon repo github et le fichier contenant mes codes) et en 2 jours j'avais une facture de 15 000 $, bienvenue dans la Matrix! Je pense que c'est des pirates qui ont utilisé mes codes pour lancer plein de machines virtuelles (EC2) pour miner des bitcoins et consorts... Maintenant je suis en contact avec le service client d'Amazon, ils sont plutôt rassurants et m'ont dit qu'ils allaient me régler tout ça. J'ai googlé là dessus et c'est un problème fréquent et c'est assez flippant!

Voila j'espère que vous ne ferez pas mon erreur et bon coding! Ciao -- Dan

Edit: le problème a été réglé.

Corollaires

  • Juste retirer la donnée sensible du repository ne suffit pas
  • Une donnée sensible committée est considérée compromise

https://jordan-wright.github.io/blog/2014/12/30/why-deleting-sensitive-information-from-github-doesnt-save-you/

Solution

Prévention

Clone this wiki locally