Christophe Nowicki

March 21, 2006

Keynux, un pc portable sans OS mais pas sans emmerdes…

Incompétents et menteurs!
Ce sont les termes qui qualifient le mieux la société Keynux.
Voici une compte rendu de mes (més)aventures suite à l’aquisition d’un portable StudioXG.

Problèmatique

Comme vous le savez, il est trés difficile d’acquerir un ordinateur portable sans le système d’exploitation Microsoft Windows, il s’agit de vente forcée.
Celle-ci est dénoncée par l’association AFUL au sein du groupe Detaxe.

Pour ma part, j’ai reussi à obtenir des devis auprès de plusieurs fournisseurs de portables de la marque IBM (Lenovo) avec le prix de la license OEM Microsoft Windows indiqué (125 euros).
Mais je me suis retrouvé face à un refus de vente de la part du fournisseur.
Ne voulant pas me lancer dans une bataille juridique, juste pour l’achat d’un portable… je me suis rabattu sur la société Keynux qui me proposait un portable repondant à mes critères :

  • Vendu sans système d’exploitation
  • Assez puissant pour développer dans de bonnes conditions
  • Disposant d’un clavier “QWERTY” US
  • Compatible avec GNU/Linux.

Les Faits

  • 01.09.2005 : envoi d’un mail pour demander la liste des composants compatibles GNU/Linux sur le modèle Studio XG, réponse : “Tous les composants sont compatibles avec Linux, sauf la modem RTC”
  • 07.10.2005 : achat du portable, paiement comptant par cheque
  • 15.11.2005 : mail m’informant que le clavier qwerty est en rupture de stock, j’accepte l’envoi du portable sans le clavier. Celui-ci devait m’être fourni deux semaines plus tard.
  • 18.11.2005 : réception du portable.
  • 28.11.2005 : mail de demande d’information sur la compatiblité Linux et devis pour des composants supplèmentaires, réponse pas de driver Linux pour la webcam et le commercial essaie de m’expliquer que ces barettes de mémoire sont bien mieux que ceux de la marque Corsair.
  • 16.01.2005 : relance pour le clavier qwerty, réponse problème de fournisseur.
  • 20.03.2005 : dernière relance avec menaces, réponse ridicule

Je me permets de copier la dernière réponse échangée, car elle montre le manque d’organisation et de serieux dont fait preuve cette société :

Cher Monsieur NOWICKI,

Après vérification, je vous confirme que votre clavier est effectivement
disponible depuis plusieurs semaines mais qu’il n’a pas été expédié suite à
une erreur de notre part. Nous pensions que vous souhaitiez disposer d’un
clavier QWERTY Portugais et non pas d’un clavier QWERTY US.

Nous mettons ce clavier au courrier aujourd’hui et vous devriez le recevoir
d’ici mercredi au plus tard.

Au nom de la société Keynux, je vous prie de bien vouloir nous excuser pour
ce désagrément.

Cordialement,

Juste pour information, il n’est PAS possible de commander un clavier QWERTY Portugais via l’interface du site et de toute manière, je n’avais JAMAIS demandé un clavier Portugais.

La “certification” Linux du modèle StudioXG

Je touve que l’entreprise abuse clairement du terme compatible Linux, car sur mon modèle de nombreux composants ne fonctionnent pas correctement :

  • Webcam (Ali-m5603c) : j’en avais déjà parlé dans l’un de mes billets, le driver pour ce periphèrique est au stade expérimental.
  • Carte son (Intel HDA) : ne fonctionne qu’avec un noyau récent 2.6.14, et avec le le volume au maximum le son est peu audible.
  • Gestion de l’energie : l’autonomie ne dépasse pas une heure, contrairement aux trois indiquées sur le site
  • Lecteur de carte (ENE) : ne fonctionne pas non plus.
  • Modem RTC : ne dispose pas de driver GNU/Linux.

Conculsion

Je vous déconseille fortement de leur accorder votre confiance.

Filed under: Hardware — Tags:, — cscm @ 21:04

March 14, 2006

DNS Secret Key Transaction Authentication (TSIG) support for MyDNS

For Work related reasons, I’ve added transaction authentication support for MyDNS version 1.1.0 in tree days for one of our clients.
I’ve used the source code of ISC Bind, OpenSSL and RFC 2847 to write my patch.

MyDNS

MyDNS is a free (as freedom) DNS server for UNIX systems. It is designed to serve DNS records directly from an SQL database (MySQL or PostgreSQL are supported).
It’s a very useful software, used by many dynamic DNS providers.
I’ve used it at work for many projects, because is very easy to manage DNS records with it. But this time we needed to secure dynamic DNS updates.

TSIG

This protocol allows for transaction level authentication using shared secrets and one way hashing (with the HMAC-MD5 algorithm).
It can be used to authenticate dynamic updates as coming from an approved client or to authenticate
responses as coming from an approved recursive name server.
It’s an easy and strong authentication method, simpler than DNSSEC.
If you want more informations about Dynamic DNS Updates with TSIG and Security, please read this document.

Installation

Download and extract the source code of MyDNS version 1.1.0 at http://mydns.bboy.net/download :


$ wget http://mydns.bboy.net/download/mydns-1.1.0.tar.gz
$ tar xzf mydns-1.1.0.tar.gz

Download and apply my patch : /wp-content/contrib/mydns-1.1.0-tsig.patch


$ cd mydns-1.1.0
$ wget https://csquad.org/wp-content/contrib/mydns-1.1.0-tsig.patch
$ patch -p1 < mydns-1.1.0-tsig.patch

Build process

You need to build the program with OpenSSL support :

$ ./configure --with-openssl
$ make
# make install

Database setup

To create database structure use the ‘–create-table’ option :

$ mydns --create-table | mysql

Transaction Keys are stored in the ‘dnskey’ table and the name of the key.
Keyname allowed to update an record are stored in column ‘update_key’ of the ‘soa’ table.

You can generate you own key with dnssec-keygen tool :

$ dnssec-keygen -a HMAC-MD5 -b 128 -n HOST client.domain.com

Insert the value of this key in the ‘dnskey’ table :

mydns> INSERT INTO dnskey (name, algorithm, size, type, private) VALUES
('client.domain.com', 'HMAC-MD5', 128, 'HOST', 'IYrqgYuJaTkL2Xs34GZ7+w==');

Add the ‘update_acl’ column in the ‘soa’ table :

mydns> ALTER TABLE `soa` ADD `update_key` VARCHAR( 255 ) ;

Assign the update key to an DNS entry :

mydns> UPDATE soa SET update_key = 'client.domain.com' WHERE origin='domain.com.';

Restart the MyDNS server and check if the optional column ‘update_key’ was found :

# mydns -v
...
mydns: optional 'update_key' column found in 'soa' table
...

Usage

Update an domain entry with the nsupdate client :

$ nsupdate -d -y client.domain.com:IYrqgYuJaTkL2Xs34GZ7+w==
> server ns.domain.com
> zone domain.com
> update add entry.domain.com 60 A 192.168.0.1
> send

Conculsion

The full RFC in not totaly implanted, thoses features are missing :

  • TCP support, I’am not an expert of the DNS protocol and I dont fully understand TCP usage and message chunking.
  • Authentication of responses from an approved recursive name server.
Filed under: Network,Work — Tags:, , — cscm @ 10:31

March 11, 2006

Petit compte rendu de la confèrence sur les clients riches avec XUL du 09/03/2006

Parinux a organisé une confèrence technique sur la réalisation de clients riches avec XUL, cette confèrence a été présentée par Paul ROUGET de XULFr avec la participation de deux invitées.

Pour ne pas changer les bonnes habitudes, nous sommes arrivés dans la salle avec près d’une demi-heure de retard, les causes de ce retard ne sont pas toutes avouables ( Jesse, je t’avais dit d’imprimer le plan avant de partir … Karim, l’adresse est le 85bis rue Ménilmontant et non 185, merci pour la marche à pieds ;-0 )

Le public

Visiblement les trois quarts du public était composé d’Epiteens, assez jeune donc et la salle été presque pleine (avec environ moins de 40 personnes).

Les démonstrations

Les démonstrations ont mis l’accent sur les aspects graphiques et les possiblités offertes par la plate-forme Mozilla : telles que l’intègration du format SVG et l’utilisation de plugins de rendu graphique.

Mais les plus beaux effets graphiques ont été réalisées à l’aide de plugins externe et non de l’API de Mozilla, à cause des difficutlés pour obtenir un “handle” sur le buffer d’affichage. Cette difficulté vient du fait que Mozilla est muli-plateforme est le rendu graphique se fait de manière diffèrentes en fonction de la plate-forme.

La modularté de la plate-forme offre la possiblité d’intégrer rapidement des applications exterieures, grâce aux overlay et au système de plugins (le même système que Firefox).

Biensur comme toute démonstration, il y a eu quelques accros mais dans l’ensemble les possiblités offertes sont impressionnantes.

Points intèressants

Les deux points forts de ces applications sont la portabilité et la facilité de developpement.
Dans la période actuelle, la portablité de l’application est quelque chose de très important compte tenu, de l’hétérogénité des parcs informatiques. De nombreuses entreprises disposent d’architecture hétérognène et la plate-forme Mozilla met à leur disposition un environnement de développement modèrne et portable.

Paul a fait des comparaisons interessantes avec la technologie concurrente XAML, qui ne sera jamais hétérogène est ne fonctionnera que sur des systèmes Microsoft. Il est difficile d’imaginer l’installation d’une nouvelle carte graphique dans une station Sun pour faire fonctionner une application métier ;0)

J’ai aussi beaucoup apprécié l’honnêteté sur la difficulté d’apprentisage de la plate-forme. En effet la courbe d’apprentisage pour arriver à ce niveau est assez longue, car contrairement à d’autres technologies, il ne suffit pas d’apprendre un langage de programmation et un framwork pour obtenir des resultats intéressants, mais plusieurs technologies (XUL, CSS, XBL, XPFE, XPCOM, RDF et le langage C++) pour commancer obtenir un résultat “sexy”.

Remerciments

A toute l’equipe de XulFR pour leur proseitisme et à Parinux pour l’organisation.

Filed under: Mozilla Firefox — Tags: — cscm @ 07:34

March 4, 2006

Munin, une alternative simple à Cacti?

Cela fait près d’un an et demi que j’utilise le logiciel Cacti pour monitorer l’activité réseau. Aussi bien dans le cadre de mon activité professionnelle que pour mon usage personnel. Mais j’ai récement découvert une alternative sérieuse : Munin. Celui-ci présente de nombreux avantages par rapport à Cacti et mérite d’être plus connue.

Les faiblesses de Cacti

A première vue, Cacti semble être le logiciel de monitoring réseau parfait, le rendu graphique est vendeur, l’installation et la prise en main est simple. Mes principales reproches concernnent la configuration des graphiques personnalisers, que je trouve beaucoup trop complexe. Effectiffment après avoir configuré les graphiques basiques ( utilisation processeur, mémoire, disque etc… ), il est très difficile d’ajouter ses propres graphiques. Cette partie du logiciel est bien trop complexe, les nombres d’extensions disponibles est trop faible et il faut par conséquent passer beaucoup de temps sur la personnalisation des graphiques. C’est pour cela qu’après avoir installer Munin, je regrette de ne pas l’avoir découvert plutôt, cela m’aurait économisé quelques heures de sommeil précieuses ;0)

Présentation de Munin

munin@home Fonctionnalités:

  • Simplicité
  • Interface web de consutation
  • Architecture client/serveur
  • Support de RRDTool, pour la génération de graphiques
  • Très nombreux plugins disponible
  • Envoi d’alertes vers Nagios
  • Support du protocole SNMP
  • Détection automatique des services présents sur la machine.

Une démonstration des fonctionnalité du logiciel est disponible à l’adresse suivante : http://munin.ping.uio.no/

Installation du serveur

Le serveur est décomposé en deux paquets dans Debian :

  • munin : le serveur de monitoring
  • munin-node : l’agent de monitoring et les diffèrents plugins

Pour l’installation d’un serveur minimal vous avez besoin d’installé le paquet munin (l’installation du paquet munin-node sera nécessaire dans le cas où vous voulez monitorer une machine à l’aide du protocole SNMP).

#aptitude install munin munin-node

L’ensemble des fichiers de configuration se trouve dans le répertoire /etc/munin:

  • munin.conf : configuration du serveur
  • munin-node.conf : configuration de l’agent
  • plugin-conf.d : répertoire des fichiers de configuration des plugins
  • plugins : répertoire des plugins activé ( la liste des plugins disponible se trouve dans /usr/share/munin/plugins)
  • templates : modèles des pages web pour l’interface web

Le processus de récupèration des données est réalisé par la commande munin-cron toutes les 5 minutes :

*/5 * * * * munin if [ -x /usr/bin/munin-cron ]; then /usr/bin/munin-cron; fi

Pour monitorer une machine, il suffit d’ajouter une entrée dans le fichier de configuration du serveur ( munin.conf ) :

[host.domain.name]
address 192.168.42.42 # l’adresse IP ou le nom DNS de la machine

Pour activer l’accés à l’interface web pour visionner les statistiques, il faut rendre le répertoire /var/www/munin accessible à l’aide du serveur Web Apache :

munin:/etc/apache/conf.d# cat munin.conf
<virtualhost munin>
ServerName munin.csquad.lan
ServerAlias munin.csquad.lan

ErrorLog /var/log/apache/munin/error.log
CustomLog /var/log/apache/munin/access.log common

DocumentRoot /var/www/munin
</virtualhost>

Installation des clients

Sur chaque client, il suffit d’installer le paquet munin-node :

#aptitude install munin-node

Modifier les régles d’accès dans le fichier de configuration /etc/munin/munin-node.conf :

allow ^192\.168\.42\.21$ #adresse du serveur

L’ensemble des services disponibles sur la machine sont détectés par la commande munin-node-configure :

# munin-node-configure –suggest | grep yes
cpu | no | yes
df | no | yes
df_inode | no | yes
entropy | no | yes
exim_mailqueue | no | yes
exim_mailstats | no | yes
forks | no | yes
if_ | no | yes +eth0 +eth1
if_err_ | no | yes +eth0 +eth1
interrupts | no | yes

Le paquet debian, active les plugins pour les services détectés en créant les liens dans le répertoire /etc/munin/plugins :

$ ls -l /etc/munin/plugins
lrwxrwxrwx 1 root root 28 Feb 20 18:14 cpu -> /usr/share/munin/plugins/cpu
lrwxrwxrwx 1 root root 27 Feb 20 18:14 df -> /usr/share/munin/plugins/df

Vous pouvez désactiver un plugin en supprimant son lien symbolique et l’activer en créant un lien symbolique :

# ln -s /usr/share/munin/plugins/apache_volume /etc/munin/plugins/

Simple, non?

Filed under: Debian — Tags: — cscm @ 21:04

Powered by WordPress