Framakey et serveur AbulÉdu de démo

Ça y est, je viens de mettre en place un serveur AbulÉdu de démonstration qui va nous permettre de "montrer" la framakey-abuledu ... j'ai un peu peur de faire exploser notre bande passante mais bon si ça arrive je fermerais ce serveur.

L'implémentation complète de cette solution repose sur une seule question: "quel est le niveau de sécurité acceptable ?".

Pourquoi se poser cette question ? tout simplement parce que ça fait des années que AbulÉdu est prêt pour proposer ce service de "bureau à distance": il suffit de suivre la documentation suivante mais ça implique un gros problème; les utilisateurs doivent être ajoutés dans le groupe remotessh et par effet de conséquence nous devons nous assurer que leur mot de passe est robuste.

Impossible ! Hé oui je peux vous assurer qu'on a tenté de faire un certain nombre de choses pour sécuriser les comptes ... mais sans succès, beaucoup trop d'utilisateurs ont un mot de passe faible.

Alors comment faire pour "ouvrir" les connexions distantes à "tous" les utilisateurs et en particulier aux enfants ?

La solution que j'ai mise en place se fait en deux temps:

1. Un serveur SSH dédié

Au niveau du serveur AbulÉdu on garde le serveur ssh et son groupe remotessh pour les administrateurs, ce groupe va donc prochainement disparaître de la liste des groupes disponibles sur webadmin histoire d'être certain que personne ne s'ajoutera par erreur dans ce groupe.

Ce serveur SSH ne sera pas directement accessible: le firewall n'aura pas le port en question d'ouvert.

Et enfin, ce serveur SSH ne permettra pas de faire autre chose que des tunnels distants ... ce qui est déjà pas mal. Donc hors de question d'imaginer faire un ssh en ligne de commande pour lancer des logiciels sur le serveur (ou installer des rootkits, robots, bots et autres merdes).

2. Un système de port-knocking

Maintenant, comme il est probable que l'enfant "eric.seigne" utilise "eric" comme mot de passe il est donc hors de question qu'il puisse se connecter à distance ... sinon au bout de quelques heures je suis certain que ce serveur sera utilisé par des pirates !

Alors comment faire ?

Configurer le serveur via l'interface webadmin de choisir une série de 4 ports qu'il faudra utiliser dans l'ordre pour que le serveur ouvre la connexion distante et autorise l'accès au cartable électronique.

C'est ce qu'on qualifie de sécurité acceptable.

3. Une application "utilisateur" super facile d'utilisation

Et enfin, hors de question de demander aux utilisateurs de lancer putty ou winscp et de configurer des trucs compliqués. Donc nous fournissons une application propre et toute intégrée qui se charge de faire le port-knocking et le lancement des tunnels ssh ...

Ça se présente soit sous la forme d'une clé usb "framakey" soit d'une application clé en main linux voir même mac.

La boucle est bouclée. Il reste maintenant à ... l'utiliser :)

Limites ?

Bien entendu il y a une limite ... la bande passante "montante" du serveur sur lequel vous vous connectez ... certes les tunnels ssh ne sont pas ce qu'on fait de mieux (encapsulation de protocoles), un "véritable" VPN aurait été mieux mais sa mise en oeuvre me semble trop compliquée compte tenu du contexte.

QR code
Send to friend

Commentaires

10 oct. 2009 19:45

Sachant que qu'il y a environ 65000 ports possible et qu'il faut une suite de 4 ports, il y a une chance sur 17850625000000000000 de trouver la bonne combinaison, même si on connait le mot de passe de quelqu'un.

Francois

Ajouter un commentaire

Le code HTML est affiché comme du texte et les adresses web sont automatiquement transformées.