dimanche 28 avril 2013

Miner des Bitcoins avec un Raspberry Pi


Bitcoin logo.svg
On a entendu parler des Bitcoins ces derniers temps en raison de leur cours qui s'est envolé avant de subir un crash dernièrement. J'ai donc décidé de m'y intéresser à nouveau. En effet, je garde un Raspberry Pi de spare en cas de panne sur la Théière (oui, je prend cette tâche très à cœur) . Mais comme je trouve dommage de le laisser dormir dans un tiroir j'ai décidé de m'en servir pour faire quelques tests. J'ai donc décidé d'utiliser mon Raspberry Pi pour "miner"


Pour ceux qui n'auraient jamais entendu parlé des Bitcoins, il s'agit d'une monnaie virtuelle utilisant un système peer-to-peer et des procédés cryptographiques pour gérer les transactions et la création de la monnaie. C'est a dire qu'en donnant du temps processeur, on peut parvenir à générer ses propres Bitcoin. C'est qu'on appelle miner. Ce qui peut ce faire seul, ou dans un "pool", c'est à dire un groupe.

La difficulté de génération de ceux-ci étant incrémentielle, il est désormais presque impossible d'en générer seul avec un pc ordinaire, car des systèmes spécialisés, à base de puces  FGPA ou ASIC sont employées pour générer les Bitcoins avec des performances incomparables.

Je me suis donc intéressé aux alternatives à Bitcoin. J'ai particulièrement remarqué les Litecoins et les Namecoins. Les Namecoins semblent intéressants puisque supposés permettre le fonctionnement d'un DNS alternatifs, mais le projet semble peu abouti. J'ai donc arreté mon choix sur les Litecoins.

Litecoin Logo
Les Litecoins sont des Bitcoins alternatif, se présentant eux même comme "l'argent" des Bitcoins qui seraient "l'or" des monnaies virutelles. Ce sont un peu les coins pour ceux qui ont loupé le démarrage des Bitcoins. Leur particularité est aussi d'utiliser un algorithme plus consommateur de mémoire, qui devrais favoriser les processeurs par rapport aux cartes graphiques, aux FGPA ou aux ASIC.


Pour me donner une chance d'obtenir quelque chose avec le petit processeur du Raspberry Pi et la distribution Raspbian, je me suis associé à un "Pool" et j'ai utilisé le logiciel "cpuminer" qui permet de miner des Bitcoins ou des Litecoins.

Téléchargement et installation des dépendances:

"
sudo apt-get update
sudo apt-get install make automake build-essential git
sudo apt-get install libcurl4-openssl-dev
"

Téléchargement et compilation des sources de cpuminer:
"
git clone git://github.com/pooler/cpuminer.git
cd cpuminer/
 ./autogen.sh
./configure CFLAGS="-O3"
make
 "

Utilisation de cpuminer dans un pool :
"./minerd --url adressedupool.org:portdupool --userpass user:motdepasse"

Par exemple
"./minerd --url pool.org:8337 --userpass error418.pi:toto"

J'ai fait quelques essais de mining de Litecoin pour connaitre les performances du Raspberry Pi au différents degrés d'overclocking:


Overclocking
Vitesse
Temperature
None
0,32 khash/s
43,3°C

Modest
0,37 khash/s
45,5°C
Medium
0,41 khash/s
46,5°C
High
0,42 khash/s
47,1°C (plante après 1 jour)
Turbo
0,46 khash/s
51,9°C (plante rapidement)


dimanche 21 avril 2013

Retour sur Google Analytics

Je ne suis pas à accro à mes statistiques de visites, mais je dois avouer que savoir qu'on a quelques visiteurs fait quand même plaisir. J'ai donc décidé de faire le point sur mon nombre de visiteurs uniques mensuel depuis le début du projet et de vous le partager.

Période
Théière htcpcp.net
Blog Anglais error418.org
Blog français error418.fr
Octobre 2012
0
7
14
Novembre 2012
710
271
224
Décembre 2012
522
248
249
Janvier 2013
867
366
394
Février 2013
945
448
347
Mars 2013
1556
635
369

J’indiquerais désormais mon nombre de visiteurs lors de mon compte rendu sur la consommation du mois.

samedi 13 avril 2013

Surveillance du serveur - Uptime Robot

J’avais indiqué dans l'un de mes messages que je souhaitais pouvoir surveiller le taux de disponibilité de ma théière.
Grace au commentaire d'un de Pierre (un des rares lecteurs de ce blog :-), j'ai découvert le service UptimeRobot.

Il y existe d'autre services de surveillance de la disponibilité de serveurs... mais la plupart d'entre eux attendent d'un serveur Web qu'il retourne un code "200". Comme je me suis donné du mal pour retourner un code "418", la plupart des logiciels considèrent mon serveur comme en anomalie. Je ne peux pas utiliser non plus les contrôles de port TCP ou le ping, car mon routeur répond à la place du serveur si celui ci est débranché.

Le service UptimeRobot a pour particularité de proposer de contrôler la présence d'un mot clé. Je peux donc vérifier la présence du texte "error 418" pour contrôler le fonctionnement de mon serveur et recevoir un message d'alerte en cas de coupure.

dimanche 7 avril 2013

Fun with logs - Pirates!

La lecture des "User Agents" dans le log a été répetitive mais instructive. Elle m'a aussi permis de remarquer d'autres traces plus intéressantes.





Par exemple, cette connexion:
X.X.X.X 88.166.82.62 - [30/Dec/2012:06:52:36 +0000] "GET /user/soapCaller.bs HTTP/1.1" 404 345 "-" "Morfeus Fucking Scanner"

Cette connexion est assez inhabituelle pour plusieurs raisons:
  • Elle essaye de se connecter à une page qui n'existe pas sur mon serveur. La page /user/soapCaller.bs serait une page d’administration du CMS Drupal.
  • Elle se connecte directement à l'adresse IP de mon serveur au lieu d'utiliser le nom DNS. C'est probablement un robot qui scanne des plages d'adresses entières plutôt que des attaques ciblées.
  • Le user agent utilisé "Morfeus Fucking Scanner" est celui d'un scanner de vulnérabilités.
D'autres connexions du même type essaient d’accéder à des séries de pages d'administration de PhpMyAdmin et d'autres outils:
X.X.X.X 88.166.82.62 - [05/Feb/2013:02:56:13 +0000] "GET /w00tw00t.at.blackhats.romanian.anti-sec:) HTTP/1.1" 404 345 "-" "ZmEu"
X.X.X.X 88.166.82.62 - [05/Feb/2013:02:56:13 +0000] "GET /phpMyAdmin/scripts/setup.php HTTP/1.1" 404 345 "-" "ZmEu"
X.X.X.X 88.166.82.62 - [05/Feb/2013:02:56:14 +0000] "GET /phpmyadmin/scripts/setup.php HTTP/1.1" 404 345 "-" "ZmEu"
Cette fois le user agent utilisé est "Zmeu" qui est aussi le nom d'un monstre de la mythologie roumaine. La première connexion semble laisser une signature de groupe "w00tw00t.at.blackhats.romanian.anti-sec".


Je retrouve aussi des traces laissées par un scanner de ports appelé "DFind":
X.X.X.X - - [05/Feb/2013:09:24:57 +0000] "GET /w00tw00t.at.ISC.SANS.DFind:) HTTP/1.1" 400 349 "-" "-"


Un autre scanner revient plusieurs fois, avec la signature "muieblackcat"  et recherche un très grand nombre de pages php dont voici un extrait.
X.X.X.X 88.166.82.62 - [11/Feb/2013:02:16:43 +0000] "GET /muieblackcat HTTP/1.1" 404 345 "-" "-"
X.X.X.X 88.166.82.62 - [11/Feb/2013:02:16:43 +0000] "GET //index.php HTTP/1.1" 418 1370 "-" "-"
X.X.X.X 88.166.82.62 - [11/Feb/2013:02:16:54 +0000] "GET //admin/index.php HTTP/1.1" 404 345 "-" "-"
X.X.X.X 88.166.82.62 - [11/Feb/2013:02:16:54 +0000] "GET //admin/pma/index.php HTTP/1.1" 404 345 "-" "-"


D'autres connexions sans User-Agent, ni signature:
X.X.X.X 88.166.82.62 - [29/Jan/2013:01:20:59 +0000] "GET / HTTP/1.1" 200 1371 "-" "-"
X.X.X.X 88.166.82.62 - [29/Jan/2013:01:21:00 +0000] "GET /phpldapadmin/ HTTP/1.1" 404 345 "-" "-"
X.X.X.X 88.166.82.62 - [29/Jan/2013:01:21:00 +0000] "GET /phpldapadmin/htdocs/ HTTP/1.1" 404 345 "-" "-"
X.X.X.X 88.166.82.62 - [29/Jan/2013:01:21:01 +0000] "GET /phpldap/ HTTP/1.1" 404 345 "-" "-"
X.X.X.X 88.166.82.62 - [29/Jan/2013:01:21:02 +0000] "GET /phpldap/htdocs/ HTTP/1.1" 404 345 "-" "-"
X.X.X.X 88.166.82.62 - [29/Jan/2013:01:21:02 +0000] "GET /admin/ HTTP/1.1" 404 345 "-" "-"


Et aussi quelques tentatives utilisant le DNS:
X.X.X.X www.htcpcp.net - [21/Jan/2013:17:55:53 +0000] "GET /phpmyadmin/scripts/setup.php HTTP/1.1" 404 345 "http://HTCPCP.NET/phpmyadmin/scripts/setup.php" "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727)"
X.X.X.X www.htcpcp.net - [21/Jan/2013:17:55:53 +0000] "GET /phpmyadmin/scripts/setup.php HTTP/1.1" 404 345 "http://HTCPCP.NET/phpmyadmin/scripts/setup.php" "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727)"

Des attaques destinées aux serveurs IRC
X.X.X.X - - [13/Jan/2013:18:01:24 +0000] "CONNECT X.X.X.X:6667 HTTP/1.0" 501 357 "-" "-"
X.X.X.X X.X.X.X:6667 - [13/Jan/2013:18:01:24 +0000] "POST http://X.X.X.X:6667/ HTTP/1.0" 418 1358 "-" "-"
X.X.X.X - - [13/Jan/2013:18:01:24 +0000] "CONNECT X.X.X.X:6667 HTTP/1.0" 501 357 "-" "-"

X.X.X.X X.X.X.X:6667 - [13/Jan/2013:18:01:24 +0000] "POST http://X.X.X.X:6667/ HTTP/1.0" 418 1358 "-" "-"


Je constate qu'une bonne partie de mes logs correspond à des personnes curieuses ou mal intentionnées. On ne peut pas vraiment parler de pirates ou de hackers, mais plutôt de "script kiddies". En tout cas, il faudra un jour que je me penche sur la sécurité de ma théière. Peut-être renforcer mes règles iptables, mettre en place Fail2ban ou installer un IDS complet tel que Snort. Surtout que dans ce log, je ne vois que les connexions sur le port 80. Je suis sur que le trafic sur le port 22 (SSH) serait tout aussi intéressant à étudier.

crédit image: Oren neu dag (Own work) [CC-BY-SA-3.0], via Wikimedia Commons)

mercredi 3 avril 2013

Gâteaux de Pâques "Pac-Man"


Qu'y a-t-il de mieux que les traditionnels gâteaux à l'effigie de l'homme de Pâques pour célébrer cette fête en se régalant.


Voici donc ma recette des gâteaux Pacman.

Ingrédients:
  • 200g de sucre
  • 125g de beurre
  • 3 oeufs
  • une pincée de sel
  • 1 cuillère à soupe d'huile
  • 2 cuillères à soupe d'eau de fleur d'oranger
  • 1 cuillère à café de levure 
  • De la farine (la quantité se mesure au feeling, la cuisine c'est de l'art!)
  • Des raisins secs

Préparation:
  • Faire légèrement fondre le beurre 
  • Mélangez le sucre avec le beurre fondu 
  • Cassez les œufs en essayant de garder un jaune de côté. Vous avez trois essais, le jaune servira à faire dorer les gâteaux.
  • Mélangez les œufs à la pâte
  • Ajoutez l'huile et l'eau de fleur d'oranger
  • Mélanger la levure avec un peu de farine
  • Ajouter de la farine en pétrissant jusqu’à obtenir une boule de pâte compacte (c'est la qu'interviens le feeling).
  • Étaler la pâte et couper les formes (avec un verre pour faire le rond et un couteau pour découper la bouche)
  • ajouter un quart de raisin sec pour faire l’œil
  • badigeonner avec un pinceau le jaune d’œuf mélangé avec un peu de lait
  • Mettre au four à 150°C pendant au moins 20 minutes en surveillant pour que ça ne brûle pas

lundi 1 avril 2013

Consommation électrique du Raspberry Pi - Trois mois


Mon premier trimestre de mesure de consommation du Raspberry Pi est terminé:

Le 1 avril la consommation totale mesurée depuis le début de l'année est de 5,3 kWh. Cela confirme une consommation moyenne de 1,8kWh par mois de fonctionnement non-stop.


crédit photo: By Fir0002 (Own work) [GFDL 1.2 (http://www.gnu.org/licenses/old-licenses/fdl-1.2.html)], via Wikimedia Commons