fév 22 2010

Après le SheevaPlug et l’openrd client, le GuruPlug server plus !

Vous étiez tenté par les joujous de chez globalscake ? Vous vous êtes sûrement dit :

  • « Mouais, avec une seule interface sur le SheevaPlug, je vais pas aller loin ! »
  • « Sympa l’openrd client, mais bon, qu’est ce que je vais faire de 7 ports USB ? »
  • « Ça sert à quoi un port VGA pour un serveur ? »
  • « Est-ce que c’est vraiment stable au moins ? »

Qu’allez vous dire devant ce GuruPlug Server maintenant :

Le mini serveur ARM GuruPlug server

Le mini serveur ARM GuruPlug server

Sympa la petite bête ! Elle a de la gueule ! Et pour 129$ (et pour les commandes avant le 28/02, la board JTAG est offerte (39$)

Au programmes des réjouissances :

  • Processeur 1.2Ghz
    • cache L1 : 16K instruction + 16K données
    • cache L2 : 256KB
  • Ram : 512Mo DDR2 à 800MHz
  • NAND flash 512Mo
  • Connexions :
    • 1x eSATA 2.0
    • 2x USB2.0
    • 2xGB ethernet
    • JTAG UART RS232
    • U-SNAP
  • Wifi 802.11b/g (même pas le n)
  • Alimentation 19W (5V/3.0A)

Sympa non ? Malheureusement, je n’ai pas trop le temps de jouer en ce moment donc, je sauterai sûrement sur une prochaine occasion..


jan 17 2010

CFP Breizh Entropy Congress

C’est parti pour le Breizh Entropy Congress !

Mais qu’est ce que c’est le BEC (Breizh Entropy Congress)  ?

C’est un événement qui se présentera sous la forme d’un colloque favorisant l’ouverture d’esprit, l’échange d’idées et l’éducation où nous espérons ébaucher des solutions à des problèmes techniques, sociaux et culturels afin de célébrer l’art et la technologie libres.

Et c’est quand ? Du 15 au 17 avril 2010.

Et c’est où ? À Rennes, en bretagne, la région où il fait bon vivre !

Et moi dans tout ça ? Je me suis incrusté dans le comité de programmation :-)

Pour le moment, tout reste à faire ! Nous sommes encore dans la phase de l’appel à proposition. Nous recherchons par conséquent toutes personnes intéressées pour faire des présentations sur ces thèmes :

  • Matériel libre
  • Appareils libre
  • Logiciel libre
  • Communications radio libres
  • Science libre
  • Individus libres
  • Art libre
  • etc.

Dans tout les cas, il faut y participer et faire un maximum de communication autour de cet événement !

Une seule  adresse à retenir : http://www.breizh-entropy.org


mai 24 2009

SATAN : Simulations And Tools To Administrate Networks

Deux étudiants de deuxième année ont réalisé, en 2008, un LiveCD baptisé R&Tools dans le cadre des projets tuteurés. Le but était de concentrer en un seul support mobile les différents outils utiles à un administrateur réseau. J’ai repris cette année ce projet avec un autre étudiant

Nous l’avons renommé SATAN et il est basé sur Debian Live et embarque XFCE. Il est composé entre autre de ces outils :

  • Génération de traffic
    • iperf
    • netcat
  • Wi-Fi
    • kismet
    • aircrack
  • Manipulation de paquets
    • hping
    • dsniff
    • sendip
    • scapy
  • Administration
    • Munin
    • Puppet
    • Wireshark, tcpdump, ssldump,tcpreen, ethercap, ngrep
    • Bind
    • apache2
    • ftp, tftp, tftpd
    • MySQL, SQLite
    • Samba
    • Squid
    • openswan
    • Asterisk
    • LDAP
    • Quagga, multicast, vlan, bidge
  • Sécurité
    • Snort
    • Nessus
    • Paros
    • John the Ripper, THC Hydra
  • Simulation de réseaux

L’iso de SATAN est téléchargeable ici (md5sum : a722674bc1eb110154decdce3149a3cc). Les sources sont disponibles sur github (avec le script d’installation sur clé USB).

J’espère que 2/3 étuidiants de l’IUT seront motivés pour continuer l’année prochaine.


mai 9 2009

Au revoir Firefox, bonjour Midori + Webkit !

Firefox Iceweasel est vraiment trop lent ! Cela devient presque insupportable d’avoir autant de mini-freeze de parfois quelques secondes ! C’est décidé, je me débarrasse de cette usine à gaz. Après quelques recherches, le challenger se nomme Midori. Ce petit navigateur a la réputation d’être léger, rapide et est compatible avec les plugins d’Iceweasel. De plus, il utilise le performant moteur Webkit qui fut le premier à réussir le test Acid3.

On commence les habilitées avec un classique aptitude :
aptitude -unstable install midori
Midori n’aura pas le droit aux préliminaires, j’attaque directement avec un site du mal bourré de javascript : fesse de bouc. Le résultat est propre et net. Midori ne support apparemment pas les CGU et s’enfuit sans un message d’erreur. Après avoir lâchement fuit la bataille, je m’attaque à un un site un peu moins chargé. Surprise, Midori fuit de nouveau ! Enfin, ce petit navigateur n’échappe pas à la croyance populaire « jamais deux sans trois ».
Pour conclure, Midori plante lamentablement dès qu’un site est trop « complexe ». Cruel dilemme, garder un navigateur qui ne permet d’aller que sur 10% des sites (je sors ce chiffre de mon chapeaux magique) ou continuer à errer avec Iceweasel ? Je ne vais sûrement pas m’arrêter là ! Ce ne serait pas la première fois qu’un logiciel est mal packagé (Oui, c’est facile de critiquer). Il est par conséquent temps de se ressourcer direction le site de Midori…

Installation de Midori et de son moteur webkit :
# On débute l'installation des dépendances pour compiler webkit
aptitude -t unstable install gtk-doc-tools bison flex gperf libicu-dev libxml2-dev libenchant-dev libsoup2.4-dev libsqlite3-dev libxslt-dev libgstreamer-plugins-base0.10-dev
# Téléchargement du build quotidien des sources du moteur webkit
wget http://builds.nightly.webkit.org/files/trunk/src/WebKit-r43110.tar.bz2
tar xjf WebKit-r43110.tar.bz2
cd WebKit-r43110
./autogen.sh
# Vous avez le temps de prendre quelques mousses (~1h30 sur un Core2 duo 2.2Ghz / 4Go ram)
make
sudo make install
# Téléchargement de midori sur le repository
git clone git://git.xfce.org/kalikiana/midori
cd midori
./configure
# Installation des dépendances de Midori.
aptitude install libosso-dev libunique-dev libidn11-dev libhildondesktop-dev libhildonwm-dev hildon-desktop-dev
# Impossible de trouver les dépendannces de Hildon
./configure --disable-hildon
make
sudo make install

C’est maintenant l’heure de vérité. Suis-je  en possession de mon navigateur idéal ? Le plus rapide de l’ouest qui me permettra de postuler à un poste d’ingénieur en Alternance en Réseaux, Système et Sécurité plus vite que mon ombre (message subliminal) ? La réponse après quelques minutes d’utilisation est un grand NON ! Ce navigateur est loin d’être le Saint Graal comme on me l’avait annoncé ! Il ne me reste plus qu’à reprendre mon usine à gaz…


jan 28 2009

mysql-server-5.0: Leaves password in debconf database

Ce n’était qu’un vendredi soir comme les autres apparemment. On finit l’après-midi par un devoir de java de 2h bouclé en 25 minutes puis en route vers Rennes pour la permanence de Gulliver. J’arrive évidement en avance sans les clés… Heureusement, la femme de ménage me laisse entrer dans le bâtiment sans aucune vérifications.

La permanence débute comme d’habitude, on parle de tout et de rien. Dans mon coin, je travail sur mon projet tuteuré. Ce soir, j’ai décidé d’automatiser l’installation de mysql-server-5.0 pour mon projet tuteuré :

apt-get install mysql-server-5.0

Debconf demande alors deux fois un mot de passe pour administrer la bdd et l’installation se termine. Pour automatiser cette tache, il faut indiquer à l’avance à debconf le mot de passe. On récupère la configuration via la commande :

satan:~# debconf-get-selections |head
# for internal use only
user-setup    passwd/root-password-crypted    password
# Phrase secrète :
uswsusp    uswsusp/RSA_passphrase    password
# Mot de passe du superutilisateur (« root ») :
user-setup    passwd/root-password    password
# Confirmation du mot de passe du superutilisateur de MySQL :
mysql-server-5.0    mysql-server/root_password_again    password    bonjour
# Mot de passe pour le nouvel utilisateur :
user-setup    passwd/user-password    password

Surprise !
Bienvenue dans le monde des mots de passe en clair dans /var/cache/debconf/passwords.dat

satan:~# cat /var/cache/debconf/passwords.dat |head -n 11
Name: mysql-server/root_password
Template: mysql-server/root_password
Value:
Owners: mysql-server-5.0
Flags: seen
Name: mysql-server/root_password_again
Template: mysql-server/root_password_again
Value: bonjour
Owners: mysql-server-5.0
Flags: seen

Serait-ce un « petit » oubli de la part du packager de mysql ? Allons fouiller dans les sources :

set_mysql_rootpw() {
# forget we ever saw the password. don't use reset to keep the seen status
db_set mysql-server/root_password ""

tfile=`mktemp`
if [ ! -f "$tfile" ]; then
return 1
fi

Le mot de passe est bien effacé mais le root_password_again ne l’est pas. Tout content de ma trouvaille, je m’imagine déjà à écrire mon premier CVE. Petite vérification quand même :

-rw------- 1 root root 1588 jan 25 01:19 passwords.dat

Un bugreport avec une severité normal suffira. Je fais le petit patch à l’arrache histoire de :

Index: debian/mysql-server-5.0.postinst
===================================================================
--- debian/mysql-server-5.0.postinst    (rÃ(c)vision 1391)
+++ debian/mysql-server-5.0.postinst    (copie de travail)
@@ -28,7 +28,8 @@
set_mysql_rootpw() {
# forget we ever saw the password.  don't use reset to keep the
seen status
db_set mysql-server/root_password ""
-
+       db_set mysql-server/root_password_again ""
+
tfile=`mktemp`
if [ ! -f "$tfile" ]; then
return 1

Par curiosité, remontons dans le temps :

  • 28 septembre 2006, rev 606 : On demande le mot de passe  à l’installation ;
  • 3 jours plus tard, rev 612 : On se dit que ça peut être sympa d’effacer le mot de passe du cache ;
  • 20 mars 2008 : Les gens chez Ubuntu au Perou, ils aiment bien taper deux fois le mot de passe, alors ils proposent un patch ;
  • 10 jours plus tard, rev 1189 : Le patch une fois bien testé est integré.
  • 9 mois passes et

Hier soir (le 11 Dec 2008 05:25:34 +0100 dans ma VM d’après le bugreport…), je me décide enfin à poster le bug report #513262. 2h heures plus tard, un mainteneur corrige.

Je n’ai pas fourni mon patch car je ne l’avais même pas testé. Je regrette car il n’y avait bien qu’une ligne à changer.

Promis, la prochaine fois, je teste et j’envoie mon patch.


jan 3 2009

Premier patch

22h49, Vendredi 2 janvier 2009

Je développe peu. C’est un triste constat. Je préfère glander devant ma bonne centaine de flux RSS à suivre l’actualité passivement.
Mais ce soir, en quête de reconnaissance mondial, je veux avoir un sitemap.xml décent pour mon delicious like.
Petit tour du coté des sources, je trouve mon bonheur dans deux trois fichiers. Il ne reste plus qu’à adapter. Je pense immédiatement aux cours de Java de mon directeur, je vais enfin pouvoir utiliser un mot savant : polymorphisme ! Je sors un vieux collector d’Oreilly, et surprise :

Le polymorphisme n’est pas une caractéristique intégrée à PHP.

Un coup d’œil sur google, bof. Moi qui pensais que PHP5OO n’était pas un mythe.. Il y a toujours les hacks à 2 cents, mais j’ai pas envie de retoucher à du code. PHP c’est vraiment caca. Tant pis, ce n’est pas comme si je devais me taper 2000 lignes.

02h17, Samedi 3 janvier 2009

Et hop, sur SourceForge. Ce n’est sûrement pas ce qu’il y a de plus propre, mais ça fonctionne. C’est déjà ça.
Prochaine étape, patcher TT-RSS… Ce sera déjà moins drôle…