Rendez-vous sur Arrakis

C'est lorsque nous croyons savoir quelque chose qu'il faut justement réfléchir un peu plus profondément. F. Herbert

Charmou

Nos ordinateurs sont maintenant des outils de travail essentiels. Cependant, comme tout biens, ils peuvent être volés. Afin de retrouver ces voleurs, il existe plusieurs solutions, comme pombo, qui permettent de prendre le voleur en photo via la webcam, de récupérer les informations sur la localisation de ce dernier (ip publique…), et d'envoyer le tout sur un serveur ou par mail afin que vous les récupériez ensuite et fournissiez ces informations à la police.

Cependant, je n'étais pas satisfait de ces solutions. En effet, le voleur devait absolument ouvrir une session graphique pour être pris en photo par la webcam, et que le programme soit exécuté. Cela voulait dire que vous n'utilisiez pas de mot de passe pour protéger votre session. De plus, je souhaitais quelque chose de plus facilement personnalisable, qui ne dépende pas d'un langage particulier (pas de python, que du shell).

Voici donc un script sans ambition, mais qui peut être exécuté toutes les 15 minutes, même si aucun utilisateur n'est connecté.

Téléchargement

Dernière version ici : charmou

Dépendances

À priori, seulement les programmes que vous utiliserez pour

Installation et utilisation

Le script devrait idéalement être lancé dès que l'ordinateur est allumé. S'il n'y a pas de connexion internet, le script réessaie périodiquement d'envoyer son rapport. De plus, s'il pouvait être exécuté à plusieurs intervalles, ce serait l'idéal. Je vous propose donc d'installer une tache cron en tant que superutilisateur (root).

Tout d'abord, installez charmou de façon à ce qu'il soit disponible au démarrage :

sudo cp charmou /usr/local/bin/charmou

Tapez ensuite la commande crontab -e en tant que root. Pour lancer charmou toutes les 15 minutes, copiez ceci :

@reboot /usr/local/bin/charmou >/dev/null 2>&1
*/15 * * * * /usr/local/bin/charmou >/dev/null 2>&1

Si vous souhaitez utiliser l'envoi par ssh, alors vous devrez ajouter votre clé au serveur pour ne pas avoir à taper de mot de passe.

Précisez dans le script le fichier contenant la clé, après l'option -i de scp. Dans cette ligne :

UP="scp -i /home/user/.ssh/public_key -P $PORT $RPDIR/$ARCHIVE $LOGIN@$YOURSERVER:/home/superman/charmou/"

Pour créer une clé, cela se passe ainsi, avec le compte root.

  1. Créer une clé publique : ssh-keygen -t rsa . Pas de mot de passe, tapez Entrée.
  2. Copier la clé publique sur le serveur : scp /root/.ssh/id_rsa.pub <user>@<server>:/home/<user>
  3. Se connecter sur le serveur : ssh <user>@<server>
  4. Ajouter la clé publique dans les autorisés : cat id_rsa.pub >> ~/.ssh/authorized_keys
  5. Copier ce que vous voulez sur le serveur.

Configuration

Le script se configure simplement en l'éditant. Vous pouvez alors remplacer les variables qui ne vous conviennent pas, et utiliser les programmes que vous préférez.

Par exemple, l'envoi de l'archive peut se faire par mail, avec une commande de ce type :

UP="echo \"charmou report\" | mail -s \"Rapport charmou\" -a $RPDIR/$ARCHIVE superman@krypton.org"

Ou encore par ftp, rsync…

Remplacez alors fswebcam par streamer si vous le souhaitez, ainsi que tous les autres programmes.

Pour changer le temps entre chaque tentative d'envoi s'il y a un échec, modifiez la variable $RETRY.

Vous pouvez ajouter d'autres informations au rapport, en les intégrant à la fonction getinfos.

Conseils

Rien de mieux que protéger vos données des curieux avec un logiciel de cryptage, tel que Truecrypt, ou cryptsetup.

Je vous conseille aussi de mettre un mot de passe dans votre bios, et de désactiver le démarrage sur les autres supports que le disque dur.