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

Installation du logiciel

# aptitude install shellinabox

Répertoires concernés

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