Installation et configuration d'une borne internet : theorie

Introduction

Le but de cette page est de reflechir a l'installation (logicielle) d'une borne internet. En effet, il me semble qu'une borne internet ne demande pas la meme configuation qu'un ordinateur de bureau ou un serveur, il est donc important de reflechir a la specificite de ce genre d'install, notemment au fait que
  • la borne est utilisee/partagee par plusieurs utilisateur-e-s qui ne se connaissent pas.
  • les utilisateurices ne sont pas forcement a l'aise avec un ordinateur puisqu'elles n'en possedent a priori pas.
  • la borne est une machine exposee : elle traine dans le coin d'une salle en acces plus ou moins libre, et est connectee en permanence a internet.
  • la borne est souvent une vieille machine de recuperation qui ne peut supporter qu'un systeme leger.
N.B. : Le but n'est pas de faire une borne qui n'offre qu'un navigateur web (ce genre de projet existe deja), mais bien de laisser la possibilite d'editer du texte, de sauvegarder des documents sur une clef-usb, ecouter du son, manipuler des images...

J'ai pas mal cherche de la doc technique specifique a ca sur les pages de divers collectifs et n'ai trouve qu'un texte en cours d'ecriture : http://wiki.boum.org/Connect/OpenAccessHowTo. En un sens, celui-ci est complementaire car il ne focalise pas sur l'install elle-meme mais plutot sur comment trouver un lieu, une connection, des machines, etc.

La page ImcMarseilleBorneInternetPratique traite de la mise en oeuvre pratique de ce qui est discute ici. Certains paragraphes sont precedes du symbole HELP, ce qui signifie qu'on ne sait pas quelle solution mettre en oeuvre : tes propositions sont bienvenues.

Choix de la distribution

A priori Debian GNU/Linux parce que :
  • debian est une distribution dont le fonctionnement est relativement transparent, democratique et non commercial, faite par les personnes qui l'utilisent, et il est facile de trouver des specialistes pour se faire aider a tout moment (debian est une distribution largement utilisee par le reseau indymedia, voir aussi : http://deb.riseup.net/).
  • debian s'installe une fois pour toutes et une fois installee, une debian s'administre facilement (mises a jour, installation de nouveaux paquets) apres une courte formation, ce qui permet de ne pas se rendre indispensable et de ne pas avoir a porter la responsabilite de l'entretien a vie (penser a faire une page sur la maintenance de la borne internet).
  • pour pouvoir tenir compte des specificites propres a des bornes internet, et puisqu'il n'existe pas de distribution pour ce genre d'install, une distribution "universelle" est necessaire.
  • dans le collectif Leon et 1728 connaissons cette distribution et je ne sais pas si quelqu'un-e est familier-e avec une autre distribution, donc autant utiliser ce qu'on connait.
  • voir aussi http://www.debian.org/intro/why_debian et http://www.debian.org/social_contract.fr.html

HELP Jusqu'a la version du 26 decembre 2005, la borne etait en testing pour pouvoir utiliser tor (paquet absent dans sarge). Vus les problemes rencontres lors de la derniere installation d'une borne (festival esperanza 21 mai 2006, disparition de paquets, chemins non coherents), on prefere utiliser la distribution stable : cela permet un comportement plus previsible et donc une utilisation du script par plus de personnes. Pour regler le probleme de tor, on pourrait faire un systeme mixte stable/testing qui ne prenne dans testing que les paquets n'existant pas dans stable, mais ca fait passer la libc6 en testing donc au final c'est comme etre en testing. La solution choisie actuellement est l'utilisation de stable avec une source supplementaire http://mirror.noreply.org/pub/tor.

Protection de la vie privee des utilisateurices (malgre elleux)

  • gestion du compte partage on cree un compte indy qui est partage par tou-te-s les utilisateurices.
    • pas de donnee conservee a chaque demarrage/arret de la machine et a chaque login/logout de l'user indy, le compte est entierement efface pour que la borne ne conserve aucune donnee personnelle (le repertoire /tmp est lui aussi nettoye). Un compte tout propre est remis par dessus a chaque login.
    • inactivite si une personne s'absente plus de 10 minutes, ille est automatiquement deconnecte-e, la personne suivante ne peut donc pas acceder a ses donnees. HELP ALERT! ATTENTION : timeoutd a un bug et des fois ca marche pas (des fois meme ca tue X). Le bug est reconnu mais le paquet n'a pas ete modifie depuis plus d'un an. Il faudrait peut-etre reparer le truc nous-meme et faire remonter la solution.
  • navigation anonyme : on utilise tor, un systeme de proxys qui permet de naviguer anonymement (combine avec privoxy). Par moment la connection est trop lente et c'est impossible de naviguer. On peut utiliser le navigateur sans passer par tor, mais c'est une action consciente de la part de l'usilisateurice (en cliquant sur un bouton special, grace a switchproxy).
  • HELP comptes personnels Il se peut qu'il y ait des habitue-e-s du lieu qui veulent pouvoir stocker leurs informations sur la borne (preferences particulieres, bookmarks, documents en cours d'edition...). Il faudrait voir si on peut faire un quelque chose qui cree automatiquement un compte pour chaque personne qui le souhaite, dont le contenu serait crypte par le mot de passe de la personne en question.

Une borne accessible

  • un environnement convivial : on utilise xfce parce que c'est leger et simple d'utilisation (pas de raccourcis claviers ni besoin de cliquer sur le fond de l'ecran pour lancer une application). Voir la liste des paquets pour plus de details (firefox, abiword...).
  • Permettre le montage d'une clef usb : l'utilisation de la commande mount est pas super top pour quelqu'un-e pas habitue-e. Pour l'instant, on a rajoute un repertoire /clef-usb une entree dans le fstab. Le gestionaire de fichiers xffm est configure de sorte a avoir 2 colonnes, l'une avec le home de l'user indy et l'autre avec les entrees de fstab : quand on clique sur clef-usb, ca la monte, quand on reclique, ca demonte. HELP il existe les paquets usbmount et pmount, et-ce que ca s'integre facilement a xfce (pop-up)?
  • HELP accessibilite pour les malvoyant-e-s : cet ajout a ete suggere sur la liste, ca serait pas mal en effet d'avoir un truc de synthese vocale, mais lequel choisir par defaut? Faudrait demander a quelqu'un-e qui les utilise regulierement.
  • rediger un mode d'emploi a scotcher a cote de la borne ImcMarseilleBorneInternetModeDEmploi
  • aide en ligne un gros bouton qui envoie l'utilisateurice sur le chat : https://chat.indymedia.org/cgiirc/irc.cgi?Nickname=nom-du-lieu-de-connexion&Channel=%23marseille&interface=mozilla&Realname=indy

Protection de la machine

en general

  • suppression des paquets inutiles : il y en a plein qui sont mis dans l'install par defaut, notmamment des outils de developpement, la liste qui est dans le script va encore s'allonger.
  • reinstallation facilitee : en cas de doute sur l'integrite d'une machine, le plus sur est la reinstalltion. Comme il y a plein de configurations specifiques, on automatise autant que possible l'installation a l'aide d'un script.
  • HELP outils automatiques : faut-il utiliser harden et/ou bastille?

par rapport au reseau

  • suppression des services inutiles : inetd, sshd, portmap, exim4 (les mails en local sont quand-meme distribues). En plus ca libere un peu de ressources.
  • firewalling : Une borne est en permanence sur le reseau, donc faut proteger des eventuelles attaques exterieures, on utilise iptables. Strategie classique : on ferme tous les ports et on ne permet que les connexions deja etablies et les nouvelles connexions venant de l'interieur. On cree le fichier executable /etc/network/if-pre-up.d/iptables-start suivant :
#!/bin/bash 
# regles de filtrage iptables
iptables -F

iptables -N block
iptables -A block -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A block -m state --state NEW -i lo -j ACCEPT
iptables -A block -j DROP

iptables -A INPUT -j block
iptables -A FORWARD -j block
  • install sans reseau : une install de base de debian est telle que au reboot, des services comme inetd ou sshd se lancent et ecoutent alors qu'aucun firewall n'a encore ete installe. On opte donc pour une install sans reseau, le reseau est installe une fois que les services inutiles sont desactives et que le firewall est mis en place.

par rapport a un acces physique

La premier chose est de ne pas se leurrer : un acces physique total a la machine permet de faire ce qu'on veut : il suffit d'ouvrir la borne, enlever la pile pour effacer le mot de passe du bios, demander au bios de booter sur cd et booter sur un cd autobootable et la on peut toucher toute la config incognito... Neanmoins ouvrir une machine est relativement flagrant dans un lieu public, on peut essayer de limiter le truc.
  • protection du boot : on demande au bios de booter uniquement sur le disque dur, et on le protege par mot de passe. On protege grub par mot de passe crypte.
  • extinction de la borne sans etre root : on redirige le CTRL+ALT+SUPPR vers la commande halt pour ne pas avoir a laisser trainer un mot de passe root inutilement.

Liste des logiciels a installer pour un ordinateur moyennement puissant

un serveur X pour avoir des images et une souris

  • x-window-system

un window/file manager pour avoir des fenetres et des icones

  • xfce4

Support de la langue francaise

  • locales (present par defaut dans sarge)
  • mozilla-firefox-locale-fr-fr firefox en francais

Outils systemes

  • anacron parce qu'on sait pas quand l'ordinateur est allume (logrotate et autres)
  • hotplug pour pouvoir brancher une clef usb (present par defaut dans sarge)
  • wipe pour eradiquer des donnees qui trainent sur le disque dur
  • makepasswd pour generer (automatiquement) de bons mots de passe
  • ntpdate pour etre a l'heure
  • timeoutd pour deconnecter l'utilisateurice apres 10 minutes d'inactivite

Outils de (de)compression

  • unzip
  • bzip2

Crypter ce qu'on peut

  • gnupg pour pouvoir crypter toutes sortes de messages (present par defaut dans sarge)
  • openssh-client pour pouvoir se logguer sur un serveur distant

navigation securisee

  • tor
  • privoxy

navigateurs web

  • wget pour aspirer des pages ou des documents (present par defaut dans sarge)
  • elinks navigateur texte leger et complet
  • dillo navigateur graphique leger mais incomplet (pas ssl par exemple)
  • mozilla-firefox navigateur graphique complet mais lourd

Editer et lire du texte

  • less pour pouvoir lire des fichiers textes a l'aise (present par defaut dans sarge)
  • jed equivalent de emacs en mode texte tres leger, pour editer des fichiers textes
  • ted editeur de texte adapte au format .rtf (m?)
  • gv pour lire des fichiers postscript .ps
  • xpdf pour lire des fichiers .pdf
  • abiword pour editer du texte formatte

Lire des fichiers au format .doc

  • catdoc : pour transformer un fichier oueurde .doc en fichier texte
  • antiword : pour transformer un fichier oueurde .doc en fichier texte
  • wv transforme des .doc en .txt, .pdf, .html, .tex...

Paquets a installer en plus pour un ordinateur puissant

Liste a adapter selon les utilisations prevues de la machine

Un noyau 2.6 pour gerer du materiel recent

  • chercher le type de processeur : cat /proc/cpuinfo
  • apt-cache search kernel | grep kernel-image | grep 2.6
  • choisir dans la liste le paquet qui correspond le mieux au processeur et l'installer comme tout paquet

Traitement d'images

  • gimp manipulation d'images
  • imagemagick petites utilitaires (redimmensionner, changer de format d'image...)
  • gqview pour voir des images
  • inkscape dessin vectoriel pour des affiches qui petent
  • xpaint pour dessiner

Traitement de texte

  • openoffice.org
  • scribus (edition wysiwyg de journaux/tracts)

Voir des videos

  • vlc

Traitement du son

  • alsa-base
  • alsamixergui (reglage des volumes)
  • le choix est vaste et depend de ce qu'on veut faire, voir cette liste

Liens divers

Topic revision: r26 - 28 May 2006 - 17:02:45 - ThierrY
Local.ImcMarseilleBorneInternetTheorie moved from Local.ImcMarseilleInstallerBorneInternetTheorie on 19 May 2006 - 16:08 by ThierrY - put it back
 
This site is powered by FoswikiCopyright & by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding Foswiki? Send feedback