Récemment, un article est apparu dans mon flux non-rss concernant le nombre de développeurs qui ont négligemment enregistré des identifiants sensibles pour que le monde entier puisse les voir :
- http://www.net-security.org/secworld.php?id=16566
Quelques points m'ont frappé dans cet article :
-
Comment quelqu'un peut-il gérer un site web avec 'sécurité' et 'php' dans ses URL… ?
-
À quel point le développeur moyen peut-il être paresseux ?
Sérieusement, la paresse est généralement considérée comme une grande vertu parmi les programmeurs (http://c2.com/cgi/wiki?LazinessImpatienceHubris) mais cela ne s'est jamais appliqué à la sécurité, malgré ma propre tendance personnelle à résoudre les problèmes avec 'chmod -R 0777'. (temporairement Dave !)
Il y a une armée de développeurs, listés comme contributeurs aux dépôts incriminés, qui argumenteront jusqu'à en devenir rouges sur toutes sortes de choses comme les éditeurs, les langages, les frameworks, les plateformes, les grilles CSS et les frameworks de test. Ces mêmes développeurs enregistreront des mots de passe sensibles dans un dépôt, pour être conservés comme de l'ambre dans une caverne glacée, parce qu'ils ne peuvent tout simplement pas se donner la peine d'écrire 100 lignes de code pour chiffrer correctement des choses qui ne devraient jamais être dans un dépôt.
Si vous êtes l'un de ces développeurs, veuillez mettre une tranche d'oignon dans votre trou de pipi et réfléchissez-y un peu.
Si vous êtes une entreprise qui pratique cet anti-patron, veuillez utiliser tout l'oignon.
Si vous écrivez des frameworks qui encouragent l'utilisation de 'config/hack-my-db-little-pony.yml', utilisez tout le sac.
OpenSSl n'est pas si difficile. Chiffrez vos trucs. Chiffrez au moins les trucs de vos clients.
Ne laissez tout simplement pas le mot de passe que votre patron, client ou fondateurs utilisent pour tout le reste (parce que vous savez qu'ils le font) traîner dans la congélation cryogénique d'un dépôt GitHub. Public ou privé.
Les patrons de conception pour résoudre cela sont simples ;
- https://github.com/ahoward/sekrets
en est un.
Si vous êtes en Ruby, vous pouvez carrément avoir celui-ci.
Sinon, veuillez en écrire un dans le langage de votre choix.
Mais quoi que vous fassiez, ne soyez pas paresseux lorsqu'il s'agit d'enregistrer des mots de passe. C'est juste complètement et totalement - amateur hour #weaksauce.