[Pratique] ZeroBin et Amazon Elastic Beanstalk : mise en ligne pour les nuls
AWS à la rescousse de votre liberté ?
Au début du mois, PasteBin annonçait vouloir faire le ménage au sein des données qu'il héberge. Pour rappel, ce service permet de stocker des morceaux de texte de toutes sortes, et de les partager simplement. Après avoir été plusieurs fois médiatisées suite à des publications de groupes tels que les Anonymous, l'équipe du site a décidé que cela suffisait.
Depuis, l'on a vu de nombreuses solutions alternatives émerger, parmi lesquelles ZeroBin, proposé sous licence libre (OSI zlib/libpng) par Seb Sauvage, via ce projet Github. Celui-ci se veut ainsi différent par bien des aspects. Outre son code ouvert et sa licence, il se veut simple et minimaliste, mais propose aussi des fonctionnalités de chiffrement des données (une démonstration en ligne est disponible par ici).
Ainsi, tous les textes que vous envoyez sur un site exploitant Zerobin sont compressés et chiffrés (AES-256) côté client, et stockés en l'état. Le principe est assez simple : vous collez un texte dans la zone centrale et lors de l'envoi une clef AES-256 est créée puis utilisée pour chiffrer les données. Celles-ci sont alors envoyées au serveur et identifiées par un code unique.
Votre navigateur vous indique alors une URL contenant ce code, mais aussi la clef nécessaire pour la lecture des données. Un maximum de 2 Mo peut être stocké à chaque fois, et vous aurez la possibilité d'ouvrir des commentaires (qui seront chiffré eux aussi). Ils sont anonymes, mais un identifiant visuel basé sur l'IP vous permettra de distinguer les différents protagonistes.
De plus, vous pouvez définir une durée d'expiration variant de 10 minutes à 1 an, ou même utiliser un mode « Burn after reading », les moteurs de recherche ne peuvent indexer les pages produites ou leur contenu déchiffré et une protection par mot de passe devrait bientôt être permise.
Car Zerobin utilise PHP, ainsi que Javascript côté client et ne nécessite pas de base de données. C'est d'ailleurs ce qui nous a donné l'idée de l'utiliser afin de tester une fonctionnalité du « Cloud » d'Amazon (voir notre dossier sur Juju) : Elastic Beanstalk (EB).
Une fois l'envoi des données effectué, le système se charge de mettre en place les instances nécessaires, de les configurer et un « Load balancer » permettra d'adapter le fonctionnement au succès que rencontre l'application, selon des règles prédéfinies, que vous pourrez décider de changer.
Si vous disposez d'un compte AWS il vous suffira donc de vous rendre au sein de la page dédiée à EB de votre console de gestion. Si vous n'avez aucune application en cours de fonctionnement, vous pourrez choisir d'uploader la vôtre.
Il vous faudra alors lui trouver un nom, une description, lui choisir un environnement (Amazon Linux 64 bits avec PHP 5.3 dans notre cas) et sélectionner le fichier .zip que vous aurez téléchargé sur le site du projet Zerobin.
Un récapitulatif sera alors affiché, vous devrez alors attendre quelques minutes le temps que le système se mette en place. On se retrouve ainsi sur un système assez proche de ce que proposait Juju, mais pour des applications maison, ou qui n'auraient pas de charme à disposition. De plus, le système fonctionne depuis n'importe quel navigateur.
Une fois l'application mise en place, il vous suffira de vous rendre sur l'URL indiquée pour vérifier que tout est bien en place. Comme nous le disions plus tôt, vous aurez alors la possibilité de configurer de nombreux détails du fonctionnement de votre instance afin de l'adapter à vos besoins, ou même de tout supprimer :
Vous pourrez aussi suivre l'état de votre instance via des logs, une liste des évènements et un système de surveillance complet.
Si vous voulez contrôler l'instance créée, ainsi que ses éléments, vous pourrez bien entendu vous rendre dans le panneau de contrôle d'EC2 pour les instances ou de S3 pour la partie stockage, avec toutes les options que cela vous ouvre (création d'AMI, de snapshot...).
Notez que sous Azure, un tel déploiement simplifié devrait aussi être possible via l'application Webmatrix proposée par Microsoft, actuellement au stade de Beta et pour laquelle un module de déploiement pour Azure est proposé.
Bien entendu, EB vous ouvre aussi des possibilités bien plus importantes que le simple exemple que nous avons utilisé ici, ZeroBin étant plutôt destiné à un hébergement sur un petit serveur mutualisé, ou en complément d'autres applications au sein d'un tel environnement. Mais cette solution pourra aussi séduire les amateurs de simplicité et flexibilité qui ne veulent pas forcément s'encombrer d'un contrat à l'année avec un hébergeur, ou qui ne veulent que tester de telles applications en ligne, lors d'une phase de développement par exemple.
Depuis, l'on a vu de nombreuses solutions alternatives émerger, parmi lesquelles ZeroBin, proposé sous licence libre (OSI zlib/libpng) par Seb Sauvage, via ce projet Github. Celui-ci se veut ainsi différent par bien des aspects. Outre son code ouvert et sa licence, il se veut simple et minimaliste, mais propose aussi des fonctionnalités de chiffrement des données (une démonstration en ligne est disponible par ici).
ZeroBin : Pastebin en version chiffrée et libre
Ainsi, tous les textes que vous envoyez sur un site exploitant Zerobin sont compressés et chiffrés (AES-256) côté client, et stockés en l'état. Le principe est assez simple : vous collez un texte dans la zone centrale et lors de l'envoi une clef AES-256 est créée puis utilisée pour chiffrer les données. Celles-ci sont alors envoyées au serveur et identifiées par un code unique.
Votre navigateur vous indique alors une URL contenant ce code, mais aussi la clef nécessaire pour la lecture des données. Un maximum de 2 Mo peut être stocké à chaque fois, et vous aurez la possibilité d'ouvrir des commentaires (qui seront chiffré eux aussi). Ils sont anonymes, mais un identifiant visuel basé sur l'IP vous permettra de distinguer les différents protagonistes.
De plus, vous pouvez définir une durée d'expiration variant de 10 minutes à 1 an, ou même utiliser un mode « Burn after reading », les moteurs de recherche ne peuvent indexer les pages produites ou leur contenu déchiffré et une protection par mot de passe devrait bientôt être permise.
Une solution INtéressante, mais qui demandera tout de même des précautions
Bien entendu, la protection est surtout effective concernant un éventuel accès aux données du serveur. Rien n'empêche l'utilisation d'attaques au niveau de votre navigateur ou du type « Man in the middle ». De plus, la mise en place d'un service ressemblant à Zerobin, mais n'en ayant pas les fonctionnalités de sécurité est tout à fait possible. Attention donc aux serveurs que vous utilisez. La meilleure solution est d'ailleurs d'héberger vous même le service, ce qui s'avère assez simple.Car Zerobin utilise PHP, ainsi que Javascript côté client et ne nécessite pas de base de données. C'est d'ailleurs ce qui nous a donné l'idée de l'utiliser afin de tester une fonctionnalité du « Cloud » d'Amazon (voir notre dossier sur Juju) : Elastic Beanstalk (EB).
Déploiement simplifié : le cas d'Elastic Beanstalk d'Amazon
Pour faire simple, il s'agit ici de proposer aux développeurs de déployer simplement leurs applications Java ou PHP au sein d'AWS. Le tout se fait en quelques clics, via un package WAR pour JAVA, un fichier Zip ou via GIT dans le cas de PHP.Une fois l'envoi des données effectué, le système se charge de mettre en place les instances nécessaires, de les configurer et un « Load balancer » permettra d'adapter le fonctionnement au succès que rencontre l'application, selon des règles prédéfinies, que vous pourrez décider de changer.
Si vous disposez d'un compte AWS il vous suffira donc de vous rendre au sein de la page dédiée à EB de votre console de gestion. Si vous n'avez aucune application en cours de fonctionnement, vous pourrez choisir d'uploader la vôtre.
Il vous faudra alors lui trouver un nom, une description, lui choisir un environnement (Amazon Linux 64 bits avec PHP 5.3 dans notre cas) et sélectionner le fichier .zip que vous aurez téléchargé sur le site du projet Zerobin.
Mise en ligne d'une application PHP : un fichier ZIP, quelques paramètres... et voilà !
Vous devrez ensuite choisir un nom d'environnement qui sera utilisé comme sous-domaine via lequel votre application sera disponible. Là aussi vous pourrez remplir une description. Plusieurs options vous seront alors proposées : le type d'instance, une clef pour un éventuel accès SSH, une adresse mail pour recevoir une notification des modifications effectuées sur votre environnement, l'URL exacte à surveiller pour vérifier le fonctionnement de l'application.Un récapitulatif sera alors affiché, vous devrez alors attendre quelques minutes le temps que le système se mette en place. On se retrouve ainsi sur un système assez proche de ce que proposait Juju, mais pour des applications maison, ou qui n'auraient pas de charme à disposition. De plus, le système fonctionne depuis n'importe quel navigateur.
Une fois l'application mise en place, il vous suffira de vous rendre sur l'URL indiquée pour vérifier que tout est bien en place. Comme nous le disions plus tôt, vous aurez alors la possibilité de configurer de nombreux détails du fonctionnement de votre instance afin de l'adapter à vos besoins, ou même de tout supprimer :
Vous pourrez aussi suivre l'état de votre instance via des logs, une liste des évènements et un système de surveillance complet.
Le contrôle des instance reste total, un déploiement possible via GIT
Notez qu'en cas de mise à jour de l'application, il vous suffira de déployer la nouvelle version de la même manière. Dans le cas de l'utilisation de GIT pour vos développements, notez que vous pourrez utiliser ce système de gestion des versions via un module spécifique à installer sur votre système, vous trouverez la méthode détaillée indiquée par ici.Si vous voulez contrôler l'instance créée, ainsi que ses éléments, vous pourrez bien entendu vous rendre dans le panneau de contrôle d'EC2 pour les instances ou de S3 pour la partie stockage, avec toutes les options que cela vous ouvre (création d'AMI, de snapshot...).
Notez que sous Azure, un tel déploiement simplifié devrait aussi être possible via l'application Webmatrix proposée par Microsoft, actuellement au stade de Beta et pour laquelle un module de déploiement pour Azure est proposé.
Elastic Beanstalk : une solution pratique pour les développeurs en herbe
Au final, vous pourrez donc mettre simplement en place un serveur dédié vous permettant de stocker vos contenus via Zerobin chez AWS, de manière chiffrée et occasionnelle, sans avoir à vous en faire pour un éventuel coût d'hébergement, Amazon ne facturant les services d'AWS qu'en fonction de leur utilisation. Atttention néanmoins, les données ne sont pas stockées de manière définitive mais sur le stockage éphémère de l'instance. Ainsi, si vous redémarrez celle-ci, les données contenues seront perdues.Bien entendu, EB vous ouvre aussi des possibilités bien plus importantes que le simple exemple que nous avons utilisé ici, ZeroBin étant plutôt destiné à un hébergement sur un petit serveur mutualisé, ou en complément d'autres applications au sein d'un tel environnement. Mais cette solution pourra aussi séduire les amateurs de simplicité et flexibilité qui ne veulent pas forcément s'encombrer d'un contrat à l'année avec un hébergeur, ou qui ne veulent que tester de telles applications en ligne, lors d'une phase de développement par exemple.
David Legrand
Journaliste, responsable des PCi Labs. Geek de l'extrême spécialisé dans l'analyse des produits high-tech, les réseaux sociaux et les trios d'écrans. Adepte du libre.
Le 30 avril 2012 à 16:30
(8 124
lectures)
Il y a 19 commentaires
Ca va servir a qui ca?
Pastebin est très bien pour son rôle > envoyer/exposer un fichier texte au reste de la terre.
Pour le reste, autant utiliser Skydrive qui chiffre très bien les données, et/ou keepass pour sauvegarder des MDP.
Pastebin est très bien pour son rôle > envoyer/exposer un fichier texte au reste de la terre.
Pour le reste, autant utiliser Skydrive qui chiffre très bien les données, et/ou keepass pour sauvegarder des MDP.
Si j'ai bien compris, c'est parce que c'est simple à utiliser, et surtout assez anonymisé. :)
En tout cas, c'est super toute cette communication autour de ce qu'a mis au point SebSauvage, c'est une super récompense je trouve !
En tout cas, c'est super toute cette communication autour de ce qu'a mis au point SebSauvage, c'est une super récompense je trouve !
David_L
Le lundi 30 avril 2012 à 16:47:09
#3
Inscrit
le vendredi 13 septembre 02
-
25270
commentaires
Ca va servir a qui ca?
Pastebin est très bien pour son rôle > envoyer/exposer un fichier texte au reste de la terre.
Pour le reste, autant utiliser Skydrive qui chiffre très bien les données, et/ou keepass pour sauvegarder des MDP.
Pastebin est très bien pour son rôle > envoyer/exposer un fichier texte au reste de la terre.
Pour le reste, autant utiliser Skydrive qui chiffre très bien les données, et/ou keepass pour sauvegarder des MDP.
SkyDrive-like = stockage de données (avec partage)
Pastebin-like = partage de morceaux de codes / textes
Comme dit au dessus, le but est de faire ça de manière simple, et sans craindre un éventuel souci au niveau du serveur puisque les données sont chiffrées / anonymisées. Rien à voir avec keypass hein (en fait je vois même pas du tout le rapport
Plus globalement, c'est aussi pour ne pas avoir à dépendre de solution telles que Pastebin qui montrent à l'occasion que leur désir de s'étendre est plus important que le désir de liberté de leurs utilisateurs, que ce genre de solutions est née ;)
Auto hébergement toussa toussa
David_L
Le lundi 30 avril 2012 à 16:55:01
#5
Inscrit
le vendredi 13 septembre 02
-
25270
commentaires
Auto hébergement toussa toussa
Je parle d'Elastic Beanstalk parce que c'était l'occasion de présenter la solution. Après, pour l'hébergement, chacun voit midi à sa porte. D'autres diraient que d'ouvrir un port qui mène à une machine hébergée localement ne les interesse pas, d'autres qu'un mutualisé ou leur dédié suffira... question de possibilité, d'habitudes et de besoin de simplicité.
Il n'est plus possible de commenter cette actualité
Vous devez être connecté ou vous inscrire en haut pour pouvoir participer aux commentaires.






















