Pombo peut vous aider à récupérer votre ordinateur en cas de vol.
Pensez à noter le numéro de série de l'ordinateur, sans ce dernier - et sous réserve de posséder les documents générés par Pombo - la police risquerait de ne pas pouvoir faire grand chose.
Note : depuis la version 0.0.11, le numéro de série est automatiquement ajouté aux rapports.
Comment ça marche ?
Pombo travaille en tâche de fond, caché, et envoie des informations de traçage à un serveur web de votre choix.
Si votre ordinateur est volé, il vous suffit de vous connecter sur votre serveur web pour récupérer le dernier fichier envoyé par Pombo, le déchiffrer et le fournir à la police. Il contient tout le nécessaire pour permettre à la police de retrouver le voleur : Adresse IP, date/heure, routeurs proches, capture d'écran et même une photo du voleur si vous avez une webcam !
Pombo protège votre vie privée : Les informations de traçage sont chiffrées avec GnuPG et vous - et seulement vous - pouvez les déchiffrer.
Mon ordinateur a été volé !
Depuis la version 0.0.9, il vous est possible de créer un fichier sur un des serveurs distants afin de faire comprendre à Pombo que l'ordinateur est bien volé.
Procédure
Vous avez spécifié au préalable un nom de fichier FICHIERAVERIF pour la variable $CHECKFILE dans pombo.php
Entrer l'URL suivante dans votre
navigateur web (à adapter à votre cas) : http://monserveur.fr/chemin_vers_pombo/pombo.php?check=FICHIERAVERIF
Le fichier FICHIERAVERIF est créé automatiquement sur le serveur.
Pombo sait que votre ordinateur est volé.
Ceci aura comme effet de faire des captures du système plus fréquemment (toutes les 5 minutes).
Caractéristiques
Respecte votre vie privée : Les informations de traçage sont chiffrées avec une clé publique avant d'être envoyées, et seulement vous pouvez les déchiffrer avec la clé privée correspondante.
Sûre : Aucun port à ouvrir, et ne permet pas le contrôle à distance.
Ne dépend pas de sites ou services tiers : Vous avez le contrôle sur le serveur et le client. Vous pouvez changer de serveur à tout moment.
Totalement gratuit : Pas de logiciel à acheter, pas de service à souscrire et renouveller.
Opensource : Vous pouvez le modifier, l'adapter à vos besoin.
Fondations fiables : Pombo n'essaie pas de ré-inventer la roue et se base sur des logiciels solides (par exemple, pas de chiffrement bricolé maison : utilise GnuPG).
Prend des informations de traçage uniquement si une connexion internet est disponible.
Discret : Utilise zéro CPU, zéro mémoire et n'apparaît pas dans la liste des processus quand il n'est pas en activité (ce n'est pas un démon).
Informations collectées :
Nom du système
Informations matérielles : N/S, modèle et marque
Adresse IP publique
Date/heure
Information sur toutes les interfaces réseau (filaires et wifi), y compris l'adresse matérielle (MAC) du point d'accès WiFi auquel l'ordinateur est connecté.
Connexions réseau en cours
Informations sur les routeurs proches
La liste de tous les points d'accès WiFi proches, avec leur adresse matérielle (MAC), leur SSID et leur puissance.
Capture d'écran
Photo par la webcam (si vous en avez une)
Exemple de rapport
Pombo n'envoie que des fichiers zip chiffrés avec GnuPG (par exemple ubuntu_20090824_155501.zip.gpg) mais pour des raisons pratique, voici un exemple de ce qu'ils contiennent :
Un rapport au format texte (les informations réelles ont été masquées, bien entendu)
Avant toute chose : un grand merci aux contributeurs :)
Voici donc les différentes variantes disponibles :
Si vous préférez transférer les rapports par FTP, vous pouvez utiliser la version de tuxmouraille.
Pour ceux qui n'ont pas de serveur, sachez que grâce à l'App Engine de Google, vous bénéficiez d'un espace de stockage de 1Go. Vous trouverez les fichiers sur le GitHub de solsTiCe d'Hiver.
Installation
Windows
Exécutez simplement pombo-x.y.z_setup.exe et suivez les instructions.
Ne vous préoccupez pas de python, ni de ses dépendances, tout y est inclus.
GNU/Linux
Exécutez simplement le script install.sh.
Serveur
Pombo supporte les version 4 et 5 de PHP.
Modifiez la variable $PASSWORD du fichier pombo.php, mettez un bon mot de passe
Modifiez la variable $CHECKFILE du fichier pombo.php
Envoyez pombo.php sur le ou les serveurs distants
Voilà c'est fait ! Il ne vous reste plus qu'à installer les dépendances et de préciser les options. Le tour est joué !
N'oubliez pas de tester le bon fonctionnement de Pombo une fois l'installation et la configurations terminées.
Python
/!\Pombo n'est compatible Python 3 que depuis la version 0.0.10 /!\
GNU/Linux
Il devrait être installer de base, sinon voir avec le gestionnaire de paquets :
Debian GNU/Linux et dérivés : aptitude install python
Fedora : yum install python
Mandriva et dérivé : urpmi python
openSUSE : zypper install python
Gentoo et dérivés : emerge python
FreeBSD : pkg_add python
Il est installé de base sur Mac OS X.
GnuPG
GnuPG nous permettra de chiffrer l'archive finale, ainsi seul celui qui possède la clef pourra la déchiffrer.
Windows
Il existe une version spécialement conçue pour les plateformes de Microsoft : GnuPT.
Une autre version, plus lourde, qui s'appelle Gpg4win.
Vous pouvez télécharger la version de base ou une plus légère (sans quelques fioritures et manuels).
Quelque soit la version, lors de la sélection des composants, rien n'est nécessaire en plus de GnuPG.
GNU/Linux
à l'aide du gestionnaire de paquets : gnupg
Pour Mac OS X, voir du côté de GPGTools.
Le certificat
Si vous avez déjà une clef publique, importez-là :
Sinon, voici la procédure pour la création d'une paire de clefs (plus d'infos) :
Ouvrez une console
Tapez gpg --gen-key
Renseignez le type de clef, si vous ne savez que choisir, le choix par défaut ira très bien
Renseignez la longueur, si vous ne savez que choisir, le choix par défaut ira très bien
Renseigez la durée de vie de la clef, si vous ne savez que choisir, le choix par défaut fera l'affaire
Confirmez
Entrez votre nom
Entrez votre adresse courriel
Entrez un commentaire
Confirmez
Phase importante : entrez une phrase clef
la phrase clef doit être longue,
la phrase clef doit contenir des caractères non alphabétiques, ponctuation, chiffres, caractères spéciaux,
la phrase clef ne doit EN AUCUN CAS être une date de naissance, un prénom, un numéro de sécurité sociale, un nom ou quoi que ce soit d'aussi facile à deviner, ni même une concaténation de données de ce type.
Le choix d'une bonne phrase clef est difficile, mais n'oubliez pas qu'une chaine n'est jamais plus solide que son maillon le plus faible. VoUs pOUvEz AmélIOReR lA SécUrité dE vOtRe pHRaSE CLEF en utiLISaNT DEs mAjUsCUles eT dEs MInUscUlEs (mais pas uniquement !) dE FAçOn IRrégUlièRE.
Une fois toutes les informations entrées, le calcul de votre paire de clef commence. Le générateur de nombres pseudo-aléatoires a besoin d'un très grand nombre de données aléatoires, ce qui est difficile sur un ordinateur. Vous pouvez améliorer la qualité des résultats du générateur de nombres pseudo-aléatoires en générant vous même un peu de hasard, par exemple en bougeant votre souris, en tapant sur votre clavier, en exécutant des applications, etc. L'utilisation de pseudo-hasard est nécessaire pour s'assurer qu'il n'est pas possible d'obtenir votre clef privée en effectuant le même calcul que vous. En fait, les chances de succès d'une telle attaque sont directement liées à la qualité du pseudo-hasard généré par le générateur de nombres pseudo-aléatoires.
Une fois la génération terminée, vous devriez voir une ligne du genre :
gpg: clé 3D51F36F marquée comme ayant une confiance ultime.
Notez 3D51F36F qui sera le KeyID à inscrire dans le fichier de configuration pombo.conf.
gpgkeyid : le KeyID de la clef publique qui servira à chiffrer l'archive finale
password : le mot de passe doit concorder avec celui défini dans pombo.php (sur le serveur)
serverurl : liste du ou des serveurs distants vers lesquels envoyer le fichier chiffré. Si plusieurs URL sont données, utilisez "|" comme séparateur (sans espace)
useproxy : si cette option est mise à True, alors prise en compte du proxy spécifié à proxyurl
proxyurl : serveur proxy à utiliser, du type http://proxyurl:proxyport ou http://username:password@proxyurl:proxyport
onlyonipchange : si cette option est mise à True, alors Pombo ne tracera et n'enverra le fichier chiffré que lorsque l'adresse IP sera différente de celle contenue dans C:\pombo\pombo (Windows) ou /var/local/pombo (GNU/Linux)
L'adresse IP contenue dans ce fichier est hashée à l'aide de l'algorithme SHA256.
checkfile : nom du fichier à vérifier sur l'un des serveurs distants pour savoir si l'ordinateur à été volé ; doit concorder avec celui défini dans pombo.php (sur le serveur)
Bon à savoir : pour désactiver une commande, mettez-la à False.
network_config : commande qui affiche la configuration des interfaces réseau
wifi_access_points : commande qui affiche les réseaux wifi alentours
traceroute : commande qui affiche le chemin parcouru par les paquets pour arriver à une adresse donnée (en l'occurrence www.example.org)
network_trafic : commande qui affiche les connexions actives
screenshot
Windows : mettre cette option à False afin de désactiver la capture d'écran
GNU/Linux : commande qui prendra une capture d'écran
camshot
Windows : mettre cette option à False afin de désactiver la capture d'image par la webcam
GNU/Linux : commande qui prendra une capture d'image par la webcam
camshot_filetype
Windows : cette option n'existe pas
GNU/Linux : spécifier l'extension de l'image capturée par la webcam
Effectuer un test
Ouvrez une console et...
Windows
... Exécutez le script Pombo - Test.
GNU/Linux
... Exécutez la commande sudo /usr/local/bin/pombo check.
Puis vérifiez que le fichier gpg est bien envoyé au serveur web (si vous voyez "Server responded: File stored." c'est que tout a fonctionné.).
Conseils
Activez la fonction d'auto-login : Le voleur ne sera pas bloqué par l'écran de login et donc moins tenté d'effacer tout le disque dur.
Copiez votre clé privée dans un endroit sûr. Si vous la laissez uniquement sur l'ordinateur et que cet ordinateur est volé, vous perdez votre clé privée et donc votre capacité à déchiffrer les fichiers de traçage.
Ne laissez pas votre clé privée sur l'ordinateur à protéger. Bien que la clé privée soit elle-même chiffrée et protégée par mot de passe, il ne vaut mieux pas la laisser dans les mains du voleur.
Pour protéger vos fichiers personnels des regards indiscrets, utilisez TrueCrypt, sûre et fiable.
Résolution des problèmes
Erreurs possibles
Il se pourrait qu'il y ait des soucis côté serveur avec l'espace de stockage SFR : essayez la version utilisant l'App Engine.
L'erreur Capture Graph could not be created avec VideoCapture (Windows) vient du fait que le pilote de la webcam n'est pas le bon ou deffectueux.
/!\ Si vous rencontrez un de ces problèmes, veuillez mettre à jour votre version de Pombo [0.0.10].
Impossibilité d'utiliser des serveurs sécurisées (HTTPS)
Erreur lors de la validation de l'accès à Internet depuis une adresse IPv6
Lors d'un vol, les rapports n'arrivent pas
Lors d'un vol, seulement 2 rapports sont envoyés au lieu de 3 comme prévu
Les rapports sont écrasés car ils portent le même nom
Le délai entre chaque rapport ne coincide pas avec les 5 (ou 15) minutes
Vous êtes derrière un proxy, cette option n'est valable qu'à partir de cette version
Anciennes erreurs
/!\ Si vous rencontrez un de ces problèmes, veuillez mettre à jour votre version de Pombo [0.0.9].
Les rapports créés sont vides
Pombo ne fonctionne pas sous le compte Invité (GNU/Linux)
Erreur d'encodage de la console (unicode() argument 2 must be string, not None)
Si vous rencontrez l'erreur neither audio nor video format specified/found avec streamer, essayez de modifier l'option camshot_filetype. Essayez la commande dans une console pour trouver la bonne extension.
/!\ Si vous rencontrez un de ces problèmes, veuillez mettre à jour votre version de Pombo [0.0.8].
La photo prise par la webcam est toute blanche/grise.
Le serveur retourne Wrong password.
Erreur neither audio nor video format specified/found avec streamer.
Assurer le suivi de plusieurs machines
La méthode que nous utilisons est relativement simple, voici l'arborescence du serveur :
De ce fait, Pombo peut être mis à jour facilement.
Si Albert se fait voler son PC, alors il n'y a qu'à créer le fichier $CHECKFILE dans le dossier albert/ (voir § Mon ordi a été volé !).
Licence
Ce programme est distribué sous la licence zlib/libpng (certifiée OSI).
This software is provided 'as-is', without any express or implied warranty.
In no event will the authors be held liable for any damages arising from
the use of this software.
Permission is granted to anyone to use this software for any purpose,
including commercial applications, and to alter it and redistribute it freely,
subject to the following restrictions:
1. The origin of this software must not be misrepresented; you must not
claim that you wrote the original software. If you use this software
in a product, an acknowledgment in the product documentation would be
appreciated but is not required.
2. Altered source versions must be plainly marked as such, and must not
be misrepresented as being the original software.
3. This notice may not be removed or altered from any source distribution.