Ajaxterm : Utiliser un terminal en web
1 Introduction
Ajaxterm permet d'avoir un terminal à travers une page web. Par exemple vous êtes sur un site restreint qui ne vous permet pas de faire du SSH, il y a cependant de fortes chances pour que vous puissiez faire du https. C'est là qu'AjaxTerm est bien pratique puisqu'il permet de se connecter à la machine qui héberge AjaxTerm.
L'inconvénient est la sécurité. Si vous ne paramétrez pas suffisamment correctement ceci, votre serveur peut vite se retrouver dans d'autres mains que les votre. Je vais aborder ici ce point là également pour que ça n'arrive pas.
2 Installation
Pour l'installation j'ai fait simple :
wget http://antony.lesuisse.org/software/ajaxterm/files/Ajaxterm-0.10.tar.gz tar -xzvf Ajaxterm-0.10.tar.gz mv Ajaxterm-0.10 /usr/share/ajaxterm |
Ensuite je vais vouloir qu'Ajaxterm se lance tout seul au démarrage en tant que démon avec l'utilisateur www-data (ou l'utilisateur web si vous n'êtes pas sur une Debian) qui correspond au PID 33. Je vais donc rajouter cette ligne dans le fichier suivant :
/etc/rc.local |
... python /usr/share/ajaxterm/ajaxterm.py -u33 -d ... |
Pour les plus courageux, ils peuvent faire un script init, ce qui serait plus propre.
3 Configuration
Il n'y a pas de configuration spéciale à faire pour Ajaxterm, par défaut tout est nickel. Il va falloir par contre configurer un proxy web pour rediriger vers le port 443 vers le 8022 en localhost.
3.1 Lighttpd
Si vous utilisez lighty, on va le configurer pour qu'il charge le module proxy :
/etc/lighttpd/conf-available/10-proxy.conf |
... server.modules += ( "mod_proxy" ) ... |
Puis nous allons créer une configuration pour Ajaxterm qui va nous permettre d'avoir accès si :
- L'host correspond bien à www.deimos.fr
- L'url correspond à term our terminal
De plus, quelques points de sécurité ont été apportés comme :
- Si le port 80 est utilisé, on redirige sur le 443
- L'utilisateur doit rentrer les bons identifiants par rapport à un htaccess
Voici la configuration :
Donc pour résumer, la sécurité est pas mal, mais on est pas loin du minimum vitale. L'idéale serait de rajouter encore des options de sécurité, mais je ne les aborderais pas plus ici.
Pour terminer, nous allons activer nos nouveaux modules :
lighty-enable-mod |
lighty-enable-mod proxy lighty-enable-mod ajaxterm |
Il ne reste plus qu'à redémarrer Lighttpd et vous connecter : https://www.deimos.fr/ajaxterm :-)