Shared posts

29 Dec 11:13

Anodisez vos objets en aluminium

by Pascal

Je vous propose dans ce tutoriel une solution d’anodisation adaptée à de petits projets, pour de petites pièces comme un radiateur ou un boîtier de Raspberry par exemple. Nous allons créer une ligne d’anodisation industrielle en miniature (2 ou 3 litres) qui permet des résultats professionnels. Anodisation de petits objets en aluminium Commençons par découvrir […]

Cet article Anodisez vos objets en aluminium a été publié en premier sur Framboise 314, le Raspberry Pi à la sauce française.....

03 Sep 14:39

Visiophones Ring d’Amazon : les partenariats avec la police américaine inquiètent

by PetitYoda
11 Nov 08:55

Débuter avec duniter puis héberger un nœud

by Colargol
25 Oct 07:02

Hacker Hijacks CoinHive's DNS to Mine Cryptocurrency Using Thousands of Websites

by noreply@blogger.com (Mohit Kumar)
When yesterday I was reporting about the sudden outbreak of another global ransomware attack 'Bad Rabbit,' I thought what could be worse than this? Then late last night I got my answer with a notification that Coinhive has been hacked — a popular browser-based service that offers website owners to embed a JavaScript to utilise their site visitors' CPUs power to mine the Monero cryptocurrency
20 Sep 05:16

State of MAC address randomization

by Robert Graham
tldr: I went to DragonCon, a conference of 85,000 people, so sniff WiFi packets and test how many phones now uses MAC address randomization. Almost all iPhones nowadays do, but it seems only a third of Android phones do.


Ten years ago at BlackHat, we presented the "data seepage" problem, how the broadcasts from your devices allow you to be tracked. Among the things we highlighted was how WiFi probes looking to connect to access-points expose the unique hardware address burned into the phone, the MAC address. This hardware address is unique to your phone, shared by no other device in the world. Evildoers, such as the NSA or GRU, could install passive listening devices in airports and train-stations around the world in order to track your movements. This could be done with $25 devices sprinkled around a few thousand places -- within the budget of not only a police state, but also the average hacker.

In 2014, with the release of iOS 8, Apple addressed this problem by randomizing the MAC address. Every time you restart your phone, it picks a new, random, hardware address for connecting to WiFi. This causes a few problems: every time you restart your iOS devices, your home network sees a completely new device, which can fill up your router's connection table. Since that table usually has at least 100 entries, this shouldn't be a problem for your home, but corporations and other owners of big networks saw their connection tables suddenly get big with iOS 8.

In 2015, Google added the feature to Android as well. However, even though most Android phones today support this feature in theory, it's usually not enabled.


Recently, I went to DragonCon in order to test out how well this works. DragonCon is a huge sci-fi/fantasy conference in Atlanta in August, second to San Diego's ComicCon in popularity. It's spread across several neighboring hotels in the downtown area. A lot of the traffic funnels through the Marriot Marquis hotel, which has a large open area where, from above, you can see thousands of people at a time.

And, with a laptop, see their broadcast packets.

So I went up on a higher floor and setup my laptop in order to capture "probe" broadcasts coming from phones, in order to record the hardware MAC addresses. I've done this in years past, before address randomization, in order to record the popularity of iPhones. The first three bytes of an old-style, non-randomized address, identifies the manufacturer. This time, I should see a lot fewer manufacturer IDs, and mostly just random addresses instead.

I recorded 9,095 unique probes over a couple hours. I'm not sure exactly how long -- my laptop would go to sleep occasionally because of lack of activity on the keyboard. I should probably setup a Raspberry Pi somewhere next year to get a more consistent result.

A quick summary of the results are:
The 9,000 devices were split almost evenly between Apple and Android. Almost all of the Apple devices randomized their addresses. About a third of the Android devices randomized. (This assumes Android only randomizes the final 3 bytes of the address, and that Apple randomizes all 6 bytes -- my assumption may be wrong).
A table of the major results are below. A little explanation:

  • The first item in the table is the number of phones that randomized the full 6 bytes of the MAC address. I'm guessing these are either mostly or all Apple iOS devices. They are nearly half of the total, or 4498 out of 9095 unique probes.
  • The second number is those that randomized the final 3 bytes of the MAC address, but left the first three bytes identifying themselves as Android devices. I'm guessing this represents all the Android devices that randomize. My guesses may be wrong, maybe some Androids randomize the full 6 bytes, which would get them counted in the first number.
  • The following numbers are phones from major Android manufacturers like Motorola, LG, HTC, Huawei, OnePlus, ZTE. Remember: the first 3 bytes of an un-randomized address identifies who made it. There are roughly 2500 of these devices.
  • There is a count for 309 Apple devices. These are either older iOS devices pre iOS 8, or which have turned off the feature (some corporations demand this), or which are actually MacBooks instead of phones.
  • The vendor of the access-points that Marriot uses is "Ruckus". There have a lot of access-points in the hotel.
  • The "TCT mobile" entry is actually BlackBerry. Apparently, BlackBerry stopped making phones and instead just licenses the software/brand to other hardware makers. If you buy a BlackBerry from the phone store, it's likely going to be a TCT phone instead.
  • I'm assuming the "Amazon" devices are Kindle ebooks.
  • Lastly, I'd like to point out the two records for "Ford". I was capturing while walking out of the building, I think I got a few cars driving by.



(random)  4498
(Android)  1562
Samsung  646
Motorola  579
Murata  505
LG  412
Apple  309
HTC-phone  226
Huawei  66
Ruckus  60
OnePlus Tec  40
ZTE  23
TCT mobile  20
Amazon Tech  19
Nintendo  17
Intel  14
Microsoft  9
-hp-  8
BLU Product  8
Kyocera  8
AsusTek  6
Yulong Comp  6
Lite-On  4
Sony Mobile  4
Z-COM, INC.  4
ARRIS Group  2
AzureWave  2
Barnes&Nobl  2
Canon  2
Ford Motor  2
Foxconn  2
Google, Inc  2
Motorola (W  2
Sonos, Inc.  2
SparkLAN Co  2
Wi2Wi, Inc  2
Xiaomi Comm  2
Alps Electr  1
Askey  1
BlackBerry  1
Chi Mei Com  1
Clover Netw  1
CNet Techno  1
eSSys Co.,L  1
GoPro  1
InPro Comm  1
JJPlus Corp  1
Private  1
Quanta  1
Raspberry P  1
Roku, Inc.  1
Sonim Techn  1
Texas Instr  1
TP-LINK TEC  1
Vizio, Inc  1






28 Aug 15:54

Boot simplifié sur USB avec les Raspberry Pi 1, 2 et 3

by François MOCQ

La Fondation a dû avoir les retours sur les dégâts que le  Raspberry Pi occasionne aux cartes SD. C’est sans doute pour pallier à ce problème qu’elle a développé des moyens de s’affranchir de la carte SD, le maillon faible du Raspberry. Dyox vous propose ce tutoriel pour éliminer la carte micro SD du Raspberry Pi.

Boot simplifié sur USB avec les Raspberry Pi 1, 2 et 3

Nous devons cet article à Jean-François (@dyox), lecteur assidu et attentif du blog, et participant actif au forum framboise314. Il a publié ce tutoriel il y a quelques jours sur le forum.

Lexique
OTP : One-Time Programmable
MSD : Mass Storage Device (pour dire disque dur ou clé USB)
DD : Disque Dur

Si c’est une nouvelle installation :Sinon, il faut refaire une image complète de la carte micro SD pour la mettre sur le MSD.

Les prérequis

  • Un Raspberry Pi 3 (BCM2837)
  • Une version de Raspian >= 2017-04-10 (actuellement 2017-07-05)
  • Le nouveau bootcode.bin pour les Raspberry Pi (BCM2835), Raspberry Pi 2 (BCM2836) et si la méthode conventionnelle pour le Raspberry Pi 3 ne fonctionne pas.

Nota : Le tutoriel qui suit concerne le Raspberry Pi 3 avec une nouvelle installation de Raspian, en l’occurrence la version du 2017-07-05.

Tutoriel

Sur PC (pour ma part sous Windows) :

  1. Installez Raspian sur la SD ET ensuite sur le MSD avec la procédure conventionnelle.
  2. Reprogrammer l’OTP en ajoutant program_usb_boot_mode=1 à la fin du fichier config.txt de la carte SD. Pour cela, aucune difficulté. Bien que la SD possède au moins 2 partitions, seule la 1ère (la partition de boot), qui est en FAT32, est accessible sous Windows et donc le fichier config.txt peut être modifié sous Windows
  3. Démarrer le Raspberry Pi avec la carte microSD et on vérifier tout de suite la modification du registre 17 de l’OPT :
    $ vcgencmd otp_dump | grep 17
    17:3020000a  la réponse doit être cette valeur, sinon il est inutile de continuer

On peut maintenant effacer ou commenter la ligne program_usb_boot_mode=1

Vous pouvez éteindre le Raspberry Pi et enlever la carte micro SD.

Branchez le MSD et démarrez le Raspberry Pi. Si le MSD est compatible, on boote dessus. Le temps de démarrage se situe entre 5 et 10s.

Les résultats


Pour ma part, cela fonctionne avec un -très vieux- DD 2,5 » 40Go (Momentus, 0,47A) PATA branché sur hub alimenté car directement sur le Raspberry Pi il « gratte », même avec son cordon double USB. Et je n’ai pas besoin de ralentir la séquence de boot (voir plus loin).

Si cela ne fonctionne pas pour vous voir la section dépannage.

Voilà c’est fini ! Votre Raspberry Pi peut maintenant booter sur USB et LAN, en plus de la micro SD bien sûr ! Si celle-ci est présente, elle reste prioritaire lors de la séquence de boot.

Dépannage

  • Si cela ne fonctionne pas, essayez d’étendre la durée d’initialisation du MSD (5s au lieu de 2s) avec l’option program_usb_timeout=1 dans le config.txt.
  • Augmentez l’intensité des ports USB avec l’option max_usb_current=1 dans le config.txt (1200mA au lieu de 600mA) pour un DD. Inutile car automatique sur la v3 !
  • Essayez aussi avec le nouveau bootcode.bin. A mettre SEUL sur une carte microSD formatée en FAT32. Si cela ne fonctionne toujours pas, ajoutez un fichier timeout en plus pour étendre la durée d’initialisation du MSD à 6s.
  • Si cela ne fonctionne toujours pas, alors le MSD n’est pas compatible.

Astuces

On peut raccourcir le délai de boot sur MSD en insérant une carte micro SD vierge (5s de gagnées)

Si le MSD est une clé USB, pensez à utiliser le système de fichier F2FS.

Pour en savoir plus

Lisez les articles pointés par des liens dans les sources, tout est bien documenté et expliqué en particulier sur https://www.raspberrypi.org/documentation/hardware/raspberrypi/bootmodes/README.md

Pour info

Mes clés OCZ ATV USB2 32Go et INTEGRAL USB2 32Go (ci-dessus) n’ont pas fonctionné

Par contre cette clé Transcend 16 Go a fonctionné sans « artifice », comme mon DD.

Sur les Pi 1 et 2 et la manip du bootcode.bin modifié (pas besoin du fichier timeout ) :
Cette clé fonctionne, mes précédentes clés, toujours pas… et mon DD a toujours besoin de son hub.
Le boot sur le Raspberry Pi 3 avec NOOBS sur ma clé USB Transcend fonctionne également.

Bon maintenant, j’ai besoin de motivation :mrgreen:
L’objectif est de modifier rpi-clone pour que le clonage se fasse sur MSD et si c’est une clé qui est détectée, celle-ci sera formatée en F2FS.

Conclusion

L’article sur le boot du Raspberry Pi 3 que j’avais publié en août 2016 n’est plus d’actualité car la Fondation a fait évoluer les méthodes de boot pour tous les Raspberry Pi.

Merci à Jean-François @dyox pour ce tutoriel publié sur le forum framboise314 🙂 et dont il a autorisé la reprise sur le blog, afin qu’un maximum de lecteurs en profite.

Bien entendu si @dyox aboutit dans sa modification de rpi-clone, les pages de framboise314 lui sont ouvertes 😀

Si vous utilisez la méthode de Jean-François, n’hésitez pas à signaler dans les commentaires ci-dessous les modèles de clés, disques durs… qui fonctionnent et ceux qui restent récalcitrants malgré vos efforts.

Sources

Bootez votre Raspberry Pi 3 sur une clé USB

 

 

Cet article Boot simplifié sur USB avec les Raspberry Pi 1, 2 et 3 a été publié en premier sur Framboise 314, le Raspberry Pi à la sauce française.....

21 Apr 12:56

Détection de mouvement sur une mangeoire d’oiseau filmée par un Raspberry Pi

by Guillaume Membré

2ème article sur ma mangeoire d’oiseau filmée par un Raspberry Pi : je vous parle aujourd’hui de la mise en place logicielle pour être capable de diffuser la vidéo capturée par la caméra du Raspberry Pi sur le réseau local et ajouter de la détection de mouvement pour prendre des photos lorsque cela est nécessaire.

Remémorons nous le projet initial : je veux filmer une mangeoire d’oiseau avec un Raspberry Pi au milieu de mon jardin et prendre des photos lorsque des moineaux, mésanges, colombes… viennent picorer. Je ne souhaite pas non plus avoir un nombre très important d’images, donc la détection de mouvement doit être configurable.

Après quelques recherches et expérimentations, la solution est composée de 2 logiciels :

  • mjpg-streamer : capture le flux vidéo de la webcam et permet via une interface web de consultation soit de prendre une photo instantanée soit de visionner le « live »;
  • motion : lit le flux vidéo diffusé par mjpg-streamer et sauvegarde des photos en fonction des mouvements détectés.

Matériel

La caméra utilisée est un clone du modèle officiel avec en plus un objectif interchangeable de 22 mm compatible CCTV (caméra de surveillance) testée dans ce billet. Elle embarque un capteur de 5 Mega Pixel. Elle peut prendre des photos avec une résolution de 2592×1944 et filmer en 1080p à 30fps.

Webcam du Pi avec un objectif interchangeable de 22 mm

Webcam du Pi avec un objectif interchangeable de 22 mm

La première chose à faire est de vérifier que la caméra fonctionne bien à l’aide de l’outil raspistill :

$ raspistill -o $(date +"%Y-%m-%d_%H%M%S").jpg

A chaque exécution de la commande raspistill, une image sera sauvegardée dans le dossier courant avec un nom de la forme : 2017-03-19_122629.jpg.

Capture de mouvement

mjpg-streamer est le premier maillon de la chaîne : il s’occupe de capturer le flux vidéo pour le rendre accessible sur le réseau local via une interface web.

Il n’existe pas de paquet précompilé à l’heure actuelle, il faut le compiler, voici la procédure :

Installation des dépendances

Il faut installer quelques paquets au préalable :

$ sudo apt-get install libjpeg8-dev imagemagick libv4l-dev git

Récupération des sources et compilation

Plusieurs fork du projet initial mjpg-streamer existent dont un notamment qui inclus un driver pour la caméra de notre framboise préférée que nous allons cloner. Malheureusement, ce projet ne tag pas les sources ni n’effectue de release, donc la récupération des sources peut être périlleuse si elle s’opère en plein cœur d’un refactoring :'(

$ git clone https://github.com/jacksonliam/mjpg-streamer.git
Cloning into 'mjpg-streamer'...
remote: Counting objects: 2579, done.
remote: Total 2579 (delta 0), reused 0 (delta 0), pack-reused 2578
Receiving objects: 100% (2579/2579), 3.41 MiB | 569 KiB/s, done.
Resolving deltas: 100% (1604/1604), done.

pour mémoire, la version que j’utilise est :

$ git rev-parse HEAD
3ed3f4cad86c4ad6e58bdc70a91c3cc3c949276a

Lancement de la compilation des sources :

$ cd mjpg-streamer/mjpg-streamer-experimental
$ make USE_LIBV4L2=true clean all
$ sudo make install

Il est important d’inspecter les logs de la première commande make pour vérifier les plugins  compilés :

-- The following features have been enabled:
* PLUGIN_INPUT_FILE , File input plugin
* PLUGIN_INPUT_HTTP , HTTP input proxy plugin
* PLUGIN_INPUT_RASPICAM , Raspberry Pi input camera plugin
* PLUGIN_INPUT_UVC , Video 4 Linux input plugin
* PLUGIN_OUTPUT_FILE , File output plugin
* PLUGIN_OUTPUT_HTTP , HTTP server output plugin
* PLUGIN_OUTPUT_RTSP , RTSP output plugin
* PLUGIN_OUTPUT_UDP , UDP output stream plugin

Les plugins qui nous intéressent sont PLUGIN_INPUT_RASPICAM et PLUGIN_OUTPUT_HTTP

Lancement

Finalement exécuter la commande suivante :
$ LD_LIBRARY_PATH=/usr/local/lib mjpg_streamer -i "input_raspicam.so -fps 30 -q 75 -x 1920 -y 1080 -ex verylong" -o "output_http.so -p 9000 -w /usr/local/share/mjpg-streamer/www/"
MJPG Streamer Version.: 2.0
[...]
i: fps.............: 30
i: resolution........: 1920 x 1080
i: camera parameters..............:
Sharpness 0, Contrast 0, Brightness 50
Saturation 0, ISO 400, Video Stabilisation No, Exposure compensation 0
Exposure Mode 'verylong', AWB Mode 'auto', Image Effect 'none'
Metering Mode 'average', Colour Effect Enabled No with U = 128, V = 128
Rotation 0, hflip No, vflip No
o: www-folder-path...: /usr/local/share/mjpg-streamer/www/
o: HTTP TCP port.....: 9000
o: username:password.: disabled
o: commands..........: enabled
i: Starting Camera
[...]
DBG(/home/pi/mjpg-streamer/mjpg-streamer-experimental/plugins/input_raspicam/input_raspicam.c, worker_thread(), 880): Starting video output

Les options disponibles sont décrites sur le site web du projet :

  • plugin raspicam : capture effectuée en 1080p à 30 fps
  • plugin http : IHM web lancée sur le port 9000 et servant les fichiers statiques à partir du dossier /usr/local/share/mjpg-streamer/www/

Ouvrir un navigateur et le faire pointer sur l’ip du Raspberry Pi, port 9000, l’IHM ressemble à cela :

IHM de mjpg-streamer

IHM de mjpg-streamer

Le menu de gauche offre différentes vues :

  • static : photo unique de la caméra, il faut rafraichir la page pour en avoir une nouvelle;
  • stream : flux vidéo live de la caméra. mplayer, vlc savent lire la vidéo à l’url indiquée;
  • java : lance une applet java pour lire la vidéo dans le navigateur;
  • javascript : affiche une vidéo à l’aide d’un script javascript. La perception utilisateur est une vidéo mais n’est en réalité que la succession de photos prises et affichées très rapidement

Détection de mouvement

Motion est un programme qui surveille le signal vidéo d’une ou plusieurs caméras en détectant si une part significative de l’image a changé. Il sauvegarde les images dans un dossier prédéfini en fonction des événements détectés sur la caméra.

Installation

le paquet Debian armf est disponible dans les dépôts officiels :

$ sudo apt-get install motion

Configuration

La configuration par défaut nécessite un peu de paramétrage, notamment l’url du flux vidéo exposé par mjpg-streamer.

netcam_url http://localhost:9000/?action=stream

Les photos sont sauvegardées sur un partage NFS monté sur /mnt/media/webcam, il faut indiquer à motion où écrire :

target_dir /mnt/media/webcam/

Il est possible de spécifier un format de nom de fichier pour les photos prises lors de la détection d’un mouvement :

jpeg_filename %m-%d/%Y%m%d-%H.%M.%S

Les fichiers produits seront stockés dans un dossier <MOIS>-<JOUR> et le nom du fichier sera de la forme <ANNEE><MOIS><JOUR>-<HEURE>.<MINUTES>.<SECONDES>. Avec cette configuration, un dossier par jour sera créé contenant les photos de la journée. Cela va nous être vite utile car il y a entre 50 et 300 photos chaque jour. Motion créé tout seul le dossier spécifié dans le nom de fichier.

J’en profite pour mettre les logs dans le dossier racine :

logfile /mnt/media/webcam/log/motion-pi.log

La taille de l’image reçue est spécifiée :

width 1920
height 1080

La configuration ci dessous est empirique. Je l’ai mise au point en fonction des réactions de la webcam par rapport au soleil, aux mouvements des oiseaux et des ombres projetées etc…
L’idée est de ne pas produire 30 images par secondes à chaque mouvement sur la mangeoire, mais plutôt prendre une photo de temps en temps. La documentation est très détaillée et vaut le détour.

J’ai diminué le nombre d’image par seconde analysé (option framerate), augmenté le seuil de détection de mouvement (threshold, threshold_tune), augmenté le nombre d’images devant avoir du mouvement (minimum_motion_frames), affiné le vieillissement des pixels pour que motion ne détecte pas le mouvement des arbres ou l’ombre (despeckle)…

framerate 2
threshold 3500
threshold_tune on
despeckle EedDl
minimum_motion_frames 5
smart_mask_speed 1

Lancement de la détection de mouvement

Exécuter la commande pour démarrer motion :

$ sudo service motion start

Yapluka attendre que les oiseaux passent pour que les photos se déclenchent ! 😎

Conclusion

J’espère que ces 2 articles vous ont donné l’envie de faire une projet similaire, n’hésitez pas à faire part de vos projets en commentaires ci dessous !

La mise en place de la détection de mouvement est plutôt ludique mais nécessite du temps afin d’affiner la configuration pour ne pas être noyé par le nombre de photos prises.

Une évolution intéressante de la solution serait d’ajouter un mécanisme me notifiant lorsqu’il n’y a plus de graines dans le réservoir à partir des images prises par la caméra.

Cet article Détection de mouvement sur une mangeoire d’oiseau filmée par un Raspberry Pi a été publié en premier sur Framboise 314, le Raspberry Pi à la sauce française.....

27 Feb 17:55

Lessons from my Devoxx4Kids workshop

on saturday 14th - which was also Valentine’s day - I gave a workshop in Berkeley with Devoxx4Kids USA, for about 30 kids

I already did one with the US chapter of Devoxx4kids last year, but that was before the release of NAOqi 2. By that time, I used the workshop created by Daniel De Luca. This year, I updated it.

First, since I don’t always have a red ball with me, I decided to change that part for a handkerchief, which you will find almost everywhere. It’s also easier to get the robot to grab it.

Another decision I took was not to divide the workshop into chapters (which was wrong, but Ill talk about it later). I made up my mind based on the fact that with the new boxes that have been implemented, the workshop is really faster to go through.

The workshop went fine, as you can see; but I wasn’t really satisfied, and after discussing it with the organizers, with my coworker James and with some other people, I think Ill need to rework it. 

Here are some of the problems I identified in the end:

- the workshop is too long for kids between 8 and 14 years old. Chapters would have allowed  kids to have a break and test what they were working on. Going through all the workshop first has been hard for them.

- the workshop is also too ambitious. There’s no need to create an entire application with kids this age. It should be focused on more basic tasks, maybe independent from each other.

- going through all the workshop before testing makes something else difficult: debugging. Instead of debugging step by step, when you wait until the end of the workshop, it’s really hard to find where the error comes from. Plus, when one bug is solved, you redownload the app on NAO, test it again, and might face another bug. Time consuming and useless.

- I also faced a lot of problems connecting NAO to Macs. Mine wasn’t able to see the robot, even with a wire connexion, and it was the same with kids with Macs. Anyway, when I realized this at the end of the workshop, I decided to focus my attention on a kid (any of them) with a PC, so as to be able to at least show once to all of the kids what they had been working on all morning long. If I can’t test it with every kids, I want them to see it at least once for one of their peers. Except it seems it’s not the way to behave in the US. As Arun Gupta told me, here that’s not something you can do. We’re more like we all succeed or we all fail.

So, Im going to build a new workshop:

- divided in small chapters of 30mn: 20mn of programming and 10mn of test..

- all chapters will be independent, but Ill try to make them complementary.

- Im going to focus on things you can test in the simulator, without necessarily connecting to a real robot each time.

Anyway, if you want to use it, here’s the workshop. You’ll also need a custom library that can be dowloaded here

NAO Robot workshop for kids (english)

from

Nicolas RIGAUD

13 Feb 12:49

Lut.im, un service d’hébergement d’images gratuit, libre et anonyme

by Luc

Que celui qui n’a jamais voulu partager simplement une capture d’écran lève le doigt. Personne ?

Logo de LUTIm

Le partage d’images nous confronte souvent à divers problèmes :

  • un email prend du temps (retrouver l’adresse du destinataire, l’envoi, etc.) ;
  • un email prend de la place. Ce n’est pas grand chose, mais pour une image jetable, c’est de l’espace disque perdu, que ce soit dans le dossier « Envoyé » de l’expéditeur ou celui du destinataire. Oui, on peut supprimer le mail, mais c’est encore une action à effectuer.
  • une solution commme imgur nous ramène au sempiternel problème des Conditions Générales d’Utilisation imbitables, pas traduites et qu’on ne lit de toute façon jamais en entier. Pour ce genre de service, on risque de fournir certains droits à l’hébergeur… et ça c’est pas cool !
  • un owncloud (ou équivalent) fera bien le travail, au prix d’une certaine complexité de partage et de liens à la longueur ahurissante.

Pour répondre à cette problèmatique, j’ai codé LUTIm (prononcez comme lutin). Écrit en Perl avec le framework Mojolicious, utilisant le Twitter Bootstrap, un sous ensemble de Font Awesome et un plugin jQuery légèrement modifié pour la gestion du glisser/déposer, LUTIm est un logiciel libre (licence AGPL) de partage d’image anonyme et gratuit.

Capture d'écran de l'interface de LUTIm

Le principe est simple : on glisse/dépose des images (ou via le sélecteur de fichier classique) et on récupère 3 liens :

  • un lien vers l’image (utilisable dans une balise img par exemple) ;
  • un lien de téléchargement de l’image (pour éviter le Clic droit > Enregistrer sous) ;
  • un lien vers une page qui affiche l’image et qui est utilisable sur Twitter (l’image apparaîtra dans le tweet).

Des options du formulaire d’envoi permettent de supprimer automatiquement les images après la première consultation ou après 24h.

Bien évidemment, pour des questions légales, il n’est pas possible d’avoir un service totalement anonyme : les IPs des envoyeurs d’image et celles des consulteurs sont enregistrées dans les logs, mais c’est quelque chose de tout à fait habituel sur tout site web. Les IPs des envoyeurs ainsi que celle du dernier consulteur sont enregistrées dans la base SQLite pour accélerer la recherche d’informations en cas de requète judiciaire (je sais comme il peut être fastidieux et long de chercher dans des logs).

Lors de la suppression automatique d’une image, le fichier est bel et bien supprimé, mais son entrée en base de données persiste et contient l’empreinte SHA512 du fichier.

De par sa nature libre, vous pouvez bien évidemment installer et utiliser très facilement LUTIm sur votre propre serveur, mais vous pouvez aussi vous contenter d’utiliser l’instance officielle : http://lut.im

LUTIm est disponible en français et en anglais, la langue étant choisie selon les préférences du navigateur. Toutes les bonnes volontés sont les bienvenues pour proposer d’autres langues !

Enfin, LUTIm propose un plugin pour Shutter, logiciel de capture d’écran, pour permettre à celui-ci d’envoyer les capture sur http://lut.im directement (plugin à installer soi-même, le site du projet ayant l’air cassé, je n’ai pu leur remonter le plugin).

Flattr this!

11 Jan 19:33

Top 5 Security Tips for Protecting AWS Cloud Infrastructure

Cloud security is one of the business concern areas for enterprises adopting public clouds like AWS. In this blog post, we will outline the top 5 security tips that are ‘must implement’ for protecting your AWS account and securing Cloud infrastructure.

image

Botmetric provides Cloud Insights feature to keep track of AWS security best practices on continuous basis and provide you with guidelines for resolving identified security risks.

The below recommendations are must have for your AWS account:

  • Disable Root Account Keys - Every AWS account will have root account along with access key and you must disable/delete root account access keys. We also recommend a lock down of root account and use IAM admin approach as mentioned in next step.                                                                                                         
  • MFA for IAM Admin Accounts and Root Account - We strongly recommend to enable multi factor authentication for all IAM admin accounts and Root Account. You should have atleast two IAM Admin users per AWS account to ensure there is no single point of failure. We also recommend you to lock down root account by enabling MFA and removing all root account access keys.  You can create specific IAM role access keys with required policy permissions.                                                                                                                                                                               
  • Enable MFA Delete for S3 Buckets with Business Data - AWS S3 is a great service for storing business data including important database/filesystem backups etc. We recommend you to enable MFA delete protection on S3 buckets to ensure critical business data and backups are safe guarded from accidental removal or due to access key compromises etc.                                                       
  • Bastion Host for SSH/RDP Access - Instead of allowing direct SSH/RDP access to all your cloud servers, it’s recommended to use bastion host approach for allowing SSH/RDP access. You can also enable multi factor authentication for bastion host SSH access. Only trusted IPs/networks should be allowed to SSH/RDP to the bastion host and using AWS Security Groups, you can further allow SSH/RDP access from bastion host to the required EC2 servers.                                                                                                       
  • Use IAM Roles Over Access Keys - You should use IAM roles to provide the temporary access keys for programs or applications or scripts running in EC2 instances instead of providing permanent access keys or hard code them via configuration files. With IAM Roles, you can restrict the access to specific machines and provide temporary access keys to avoid key compromise issues. Also, for any third party applications, provide Cross Account IAM Role Access (3rd-party) instead of giving permanent access keys.

We recommend you to read AWS security best practices and follow their security blog for periodic updates on AWS cloud infrastructure security.

Hope you enjoyed reading our top 5 security recommendations. If you are looking for help then sign up with Botmetric to diagnose and resolve your AWS account security issues.