Plan de reprise d'activité du service Shellinabox 🔗
Posted by Médéric Ribreux 🗓 In kb/drp/debianplug/
Introduction¶
Le service Shellinabox est un outil d'administration à distance par le web. Il est codé en C et s'installe sous la forme d'un démon. Notre installation sera spécifique: le démon ne sera accessible que sur l'interface réseau loopback et son accès via l'extérieur sera géré avec les options de serveur mandataire inverse d'Apache qui permettra un accès sécurisé (TLS+Authentification).
Ce service est critique car il permet d'accéder à distance à un shell sur le serveur.
Information | Caractéristiques |
---|---|
Site web origine | https://code.google.com/p/shellinabox/ |
Version installée | 2.14-1 |
Code | C |
Paquet | shellinabox |
Pré-requis¶
- Pour la réinstallation de Shellinabox, une connexion à Internet est indispensable, ne serait-ce que pour télécharger les paquets d'installation.
- Shellinabox est destiné à être installé sur une distribution Debian Wheezy de base.
- Pour effectuer une remise en service de Shellinabox, il est indispensable d'avoir réinstallé un serveur web fonctionnel.
Installation du logiciel¶
# aptitude install shellinabox
Répertoires concernés¶
- L'éxécutable de shellinabox est stocké dans
/usr/bin/shellinaboxd
. - Les fichiers de configuration de shellinabox est situé dans
/etc/shellinabox/
. Ce répertoire contient essentiellement les CSS de l'application. - Il existe un fichier de configuration par défaut qui permet de
modifier le comportement du démon shellinabox:
/etc/default/shellinabox
.
Restaurations¶
Le seul élément à restaurer est la configuration du service. Se référer à la procédure de restauration générique pour y parvenir.
# restore shellinabox /etc/default/
# chown root:root /etc/default/shellinabox
Normalement, la configuration du service est assurée par cette restauration. En cas de problème avec la sauvegarde, on pourra utiliser le fichier suivant pour configurer le service:
# Should shellinaboxd start automatically
SHELLINABOX_DAEMON_START=1
# TCP port that shellinboxd's webserver listens on
SHELLINABOX_PORT=44200
# Parameters that are managed by the system and usually should not need
# changing:
# SHELLINABOX_DATADIR=/var/lib/shellinabox
# SHELLINABOX_USER=shellinabox
# SHELLINABOX_GROUP=shellinabox
# Any optional arguments (e.g. extra service definitions). Make sure
# that that argument is quoted.
#
# Beeps are disabled because of reports of the VLC plugin crashing
# Firefox on Linux/x86_64.
SHELLINABOX_ARGS="--no-beep --localhost-only --disable-ssl"
Configuration de l'accès via le serveur Web¶
Normalement, la restauration du service Apache permet de rendre Shellinabox opérationnel après son installation. Il existe un élément de configuration d'Apache dédié à Shellinabox dont voici la définition juste pour rappel:
# Configuration Shellinabox
ProxyRequests Off
## Shellinabox sera disponible à l'emplacement /xxxx
<Location /xxxx>
## On active les fonctions de Mandataire inverse
ProxyPass http://localhost:44200
ProxyPassReverse http://localhost:44200
## On donne l'accès à cet emplacement à tout Internet
Order allow,deny
Allow from all
## On restreint l'accès à un utilisateur dédié
AuthName "Acces Shellinabox"
AuthType Basic
AuthUserFile /etc/apache2/webdav-users
Require user theadminuser
</Location>
De plus, Shellinabox nécessite des modules Apache à activer. Ces derniers ont été normalement activés lors de la restauration du service Apache mais les voici pour rappel:
# a2enmod proxy proxy_http
Procédure de vérification du service¶
- Se connecter sur https://medspx.fr/###### et vérifier qu'une authentification HTTP Basic est bien demandée.
- Se connecter avec un compte utilisateur connu et vérifier que le service fonctionne correctement.