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..


août 12 2009

La bombe de chez Marvell est arrivé : OpenRD-client ; Le petit frère du SheevaPlug est déjà en rupture !

Si vous avez de l’argent à placer, mettez tout vos œufs dans le panier Marvell.

Ils sont fort chez le monsieur ARM du moment ; après le SheevaPlug qui proposait une configuration minimale à un prix très abordable, voici que l’OpenRD-client arrive. En quelques mots, l’OpenRD-client est un mini-pc avec un processeur ARM.

Voici la configuration que cette plateforme propose :

CPU

  • High performance Marvell® Sheeva™ up to 1.2 GHz
  • 16/16KB I/D 4 way set associativeL1 caches
  • unified 256KB 4-way associated L2 cache
  • 32 bit and 16 bit RISC architecture, Compliant with ARMv5TE
  • Supports both Big & Little Endian
  • Includes MMU to support virtual memory

Processeur à 1.2 GHz ! C’est quand même plus puissant que les 512MB des soekris 5501.

Mémoire

  • 512 MB DDR2-800 SDRAM in 2 banks of x8 devices
  • 512 MB NAND Flash

Rien de vraiment extraordinaire de ce coté, c’est dommage de ne pas avoir 1GB de Ram. Cependant, on peut déjà s’amuser avec 512MB.

Gestion de l’énergie

  • SM Bus

Je vais devoir enfin me mettre à python :-)

Stockage

  • SD Card
  • SATA & eSATA Ports for HDD and Optical Storage Devices

Le stockage SD Card est classique mais le SATA (il y a un emplacement dans le boitier pour un HDD 2,5″) et le eSATA fait vraiment plaisir.

Graphique

  • VGA support up to 1280×1024 at 60 Hz

C’est la grosse différence avec le SheevaPlug. En effet, OpenRD-client dispose d’une carte graphique ! Certe ce n’est qu’un port VGA, mais c’est déjà ça pour le moment.

Interfaces

  • 7 USB 2.0 Port with integrated PHYs
  • 2 GbE Ports with GMII and RGMII support
  • SATA/eSATA Ports with integrated Marvell 3 Gbps SATA  PHYs
  • UART with RS232/RS485 interface
  • USB interface with Debug supports JTAG & Serial Console
  • Audio In/Out Interface
  • Header Connector for TDM Port for Optional Phone/Line interfac

C’est l’autre GROSSE différence ! Cette fois, on ne se contente pas d’un « pauvre » port ethernet et USB mais de tout un panel de ports – c’est Noël avant l’heure !

  • Les 7 ports USB sont presque trop nombreux
  • Les 2 ports GbE ouvrent des perspectives de routage
  • Les interfaces SATA offrent une bonne bande passante pour le stockage
  • Le RS232 permet d’envisager de bons bricolages
  • Les entrées audio/vidéo peuvent toujours servir si on veut faire du multimédia

Divers

  • Cryptographic engine which provides hardware acceleration to encryption and authentication algorithms

    1. Implements AES, DES and 3DES encryption algorithms
    2. Implements SHA1 and MD5 authentication algorithms
  • VxWorks, FreeBSD, Linux are supported.

L’accélération matériel du chiffrement  est presque une évidence sur ce genre de boitier qui peut servir de passerelle VPN. Enfin,

En image :

Façade de lOpenRD-client

Façade de l'OpenRD-client

Arrière de lOpenRD-client

Arrière de l'OpenRD-client

Et le prix ???

Avec toutes ces fonctionnalités, on se dit forcément que le prix dépasse largement celui d’une Soekris net 5501. Et non, accroché-vous à votre chaise, finissez votre café et retenez votre souffle :

OpenRD-client à moins de 200€ livré chez vous !

OpenRD-client à moins de 200€ livré chez vous !

Moins de 200€ pour toutes ces fonctionnalités, c’est vraiment cadeau ! De plus, on peut espérer voir ce tarif baisser si Marvell applique la même politique tarifaire à l’OpenRD qu’au SheevaPlug dans les prochains mois…

Ma whishlist vient de se voir ajouter un élement :-)


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.