14. Applications

Une fois arrivé là, de nombreuses applications s'ouvrent à vous. En voici trois dont j'ai parlé en introduction. Je les aborde ici, à vous de les mettre en oeuvre en détail.

14.1. Un routeur/mur pare-feu

Pour faire un routeur, vous n'avez qu'à activer le routage avec

echo 1 >/proc/sys/net/ipv4/ip_forward

Si vous voulez un mur pare-feu, vous devez utiliser un logiciel adapté, iptable étant à mon avis le plus approprié ici. Allez le chercher sur http://www.iptables.org. Et transformez les sources en un paquetage comme nous l'avons vu pour pcd. Ayez ensuite un script, par exemple firewall.ini que vous appelez depuis ghlmf.ini et qui fait tous les appels à iptables pour configurer le mur pare-feu. Un petit rappel de sécurité sur les murs pare-feu: on commence par tout interdire puis on autorise ce dont on a besoin. Ne faites surtout pas le contraire en interdisant ce sont vous n'avez pas besoin: vous louperez surement des morceaux.

Un mur pare-feu sur disquette a un gros avantage sur un mur pare-feu sur disque dur: vous protégez votre disquette et si le système est violé, une simple coupure de courant réinitialise tout. Si votre système se trouve sur un disque dur, et que votre système est violé, vous devez tout réinstaller.

Inversement, un mur pare-feu ayant un support réinscriptible vous permettra de garder des log de tout ce qui se passe. Cela est très intéressant pour une analyse ultérieure, ou tout simplement une surveillance logicielle continue.

A vous de voir ce que vous préférez, et peut-être même de mixer les deux solutions? De mon côté, je suis en train d'opter pour un système avec support NFS pour avoir le répertoire des logs sur une autre machine, afin de les exploiter. Attention dans ce cas: µClibc et busybox ont besoin de quelques options supplémentaires pour supporter le NFS!

14.2. Un autoradio

L'autoradio concerne plus les hackers-électroniciens que d'autres lecteurs. En effet, il faut savoir brancher l'ordinateur sur la batterie de la voiture et non pas sur le 230V du secteur. Et surtout, il faut un petit montage électronique avec quelques interrupteurs pour piloter le lecteur CD/ogg/mp3 puisque vous n'allez pas transporter le clavier et l'écran 21 pouces dans la voiture!

L'idée étant lancée, il ne reste plus qu'à installer les logiciels, par exemple pcd pour les CD, ogg123 pour les fichiers ogg, et mpg321 pour les mp3. Et à faire un script ou un binaire capable d'interpréter l'action de l'utilisateur sur le bloc d'interrupteurs et de lancer la musique en fonction.

14.3. Lire son courrier électronique partout

Ceci est un assez bon défi. Il y a plusieurs choix à faire. Allez-vous utiliser pop3 ou imap, avec un lecteur de courrier électronique? Ou alors allez-vous préférer un navigateur web pour aller visiter les interfaces email des différents fournisseurs d'accès? J'ai fait ce second choix. Ensuite quel logiciel de navigation choisir? Les plus connus sont lynx, links, w3m. Je n'ai pas essayé de recompiler lynx. Et je n'ai pas réussi à recompiler w3m avec µClibc. Mon choix s'est porté sur links (version 2.1pre2) dont la compilation n'a pas posé de problème une fois que j'avais tout désactivé.

Un autre choix est de savoir si vous voulez vous contenter d'une machine connectée au réseau, ou si vous voulez aussi pouvoir utiliser un modem (et donc ppp). Dans le premier cas, c'est facile: il n'y a qu'a configurer le réseau avec ifconfig pour l'interface réseau, route pour spécifier la passerelle vers internet, et echo nameserver ${DNS} >/etc/resolv.conf pour le DNS. Dans le second cas, il faut aussi ajouter tout ce qu'il faut pour se connecter au fournisseur d'accès. N'ayant pas ce qu'il fallait pour tester cette solution jusqu'au bout, je vais juste vous indiquer comment compiler pppd et en faire un paquetage.

Récupérez pppd (version 2.4.1 pour moi), décompressez l'archive. Lancez ./configure qui n'est pas un script configure habituel: pas besoin de spécifier des options. Ensuite, pour recompiler, make CC=/ghlmf/usr/bin/i386-uclibc-gcc n'a pas suffi: j'ai obtenu deux erreurs dans auth.c concernant deux fonctions manquante: getspnam et endspent. Un petit coup d'oeil dans pppd/auth.c nous montre tout de suite qu'il suffit de désactiver les shadow-passwords. La ligne de commande pour compiler est donc make CC=/ghlmf/usr/bin/i386-uclibc-gcc HAS_SHADOW=. Pour l'installation, vous devez la faire en tant que root, par exemple avec make install DESTDIR=/tmp/ppp. La suite est simple:

cd /tmp/ppp
tar cvf /tmp/ppp.tar etc/ppp usr/sbin
cd /tmp
gzip -9 ppp.tar

Et votre paquetage s'appelle ppp.tar.gz et fait 116011 octets chez moi. Mais pppd utilise plus de bibliothèques que nous n'en avons mises dans le ram-disque au tout début. Ajoutez celles qui manquent: elles se trouvent dans /ghlmf/lib et vous en avez la liste avec /ghlmf/bin/ldd /tmp/ppp/usr/sbin/pppd.

N'ayant pas ce qu'il faut pour tester plus en avant cette solution, je vais me refugier derrière le prétexte que cet article est destiné aux hackers et que vous en savez maintenant assez pour hacker cette disquette. A vous de créer les bons périphériques dans /dev, de créer l'utilisateur pppuser, d'écrire en dur ou configurable par l'utilisateur la configuration réseau. A vous de jouer!

création est mise à disposition sous un contrat Creative Commons