Récupération du SSH derrière le pare-feu grâce au mode Rescue

L’administration d’un serveur Linux passe principalement par le protocole SSH permettant de se connecter en mode console au serveur. Lors de la précédente phase de maintenance que j’effectuais sur le serveur, j’ai été amené à changer le port de ce protocole sans modifier le pare-feu ce qui m’empêchait alors de me reconnecter sur le serveur. L’hébergeur OVH chez qui nous avons loué ce serveur propose de nombreux services. Si la plupart sont payants car nécessitant l’intervention d’un technicien sur place, l’entreprise a également mis en place des systèmes permettant la maintenance des serveurs à distance. Je vais vous présenter aujourd’hui le mode Rescue qui m’a permis d’éviter une réinstallation du serveur.

SSH : Mode Rescue

SSH et pare-feu

Le protocole SSH est un protocole de communication sécurisé (Secure Shell) qui permet de se connecter en mode console sur une machine distante. Ce protocole utilise des clés de chiffrement afin d’assurer que la connexion soit sécurisée. Par défaut le protocole est disponible sur le port 22 des systèmes Unix. Il est assez simple de l’utiliser à partir des systèmes Unix qui intègrent nativement OpenSSH, un logiciel permettant d’établir une connexion de ce type. Afin de pouvoir l’utiliser sur les systèmes Windows, de nombreuses alternatives sont disponibles dont Putty, un logiciel libre et très simple d’utilisation.

Pour des raisons de sécurité, il est conseillé de modifier le port d’écoute du SSH afin qu’il ne soit pas trop facilement accessible par une personne extérieure. Pour cela, il suffit de modifier le fichier /etc/ssh/sshd_config et relancer le service /etc/init.d/ssh.

Rien de plus simple. Cependant me direz vous cet article n’est pas sensé concerné SSH, et vous avez raison. Le problème vient après lorsque vous cherchez à vous reconnecter via SSH sur votre serveur et si vous avez oublié votre pare-feu lors du changement de port.

Le pare-feu que nous avons mis en place se base sur une configuration iptables. Afin de s’assurer une meilleure sécurité sur le serveur, je gère ce pare-feu de manière très stricte n’acceptant les entrées extérieures que pour les ports utilisés sur le serveur. Lors de mon changement de port pour le SSH, je me suis donc retrouvé avec le port bloqué par mon propre pare-feu et aucun moyen de reprendre le contrôle sur le serveur.

Sauvetage du serveur en Mode Rescue

C’est là qu’intervient le mode Rescue de OVH. Ce mode est un type de démarrage du serveur qui va charger sur le réseau un système d’exploitation (que j’appellerai Système Réseau ou SR) accédant à votre serveur. Ce système ne démarre pas votre système d’exploitation (Système Serveur ou SS) mais un autre tout en vous donnant accès directement à vos données.

Lancement et mise en place des partitions

Pour le lancer, allez dans le manager, sélectionnez mode de démarrage / mode Rescue et redémarrez votre serveur.

Un mail vous donnera un mot de passe afin de vous connecter via SSH sur le SR. Actuellement, vous n’avez accès qu’au SR. Pour pouvoir accéder aux données présentes sur le SS, il faut monter les partitions de celui-ci. Afin de voir les partitions de votre SS, utilisez la commande

Par exemple sur ce serveur nous avions trois résultats :

  • la partition bootable avec « * » /dev/sda1 : contient la racine du SS
  • la partition SWAP /dev/sda2
  • la partition /dev/sda3 : contient le /home et les données utilisateur

(Le type de support peut changer de sda : hda, mda, rd/c0d0p, ad4s1)

Notre objectif est simple: reprendre le contrôle sur notre serveur. Pour cela, on va désactiver le service du pare-feu ce qui nous permettra de très rapidement changer la règle concernant notre port et ensuite le réactiver pour éviter de trop exposer le serveur. On va donc monter la racine de notre SS avec la commande

Adaptez la commande au disque correspondant.

Désactivation du pare-feu

Le disque est maintenant monté, toutes les données à l’exception du /home sont donc accessibles via le dossier /mnt.

Nous allons désactiver le service du pare-feu en supprimant ses droits d’exécution avec la commande

Ainsi le pare-feu ne sera pas lancé au démarrage de notre SS. Pour redémarrer de manière normale, accédez à votre manager et sélectionnez le mode de redémarrage sur le disque dur puis faites un redémarrage logiciel avec la commande

Votre connexion actuelle va être coupée.

Modification et remis en place du pare-feu

Attendez environ une à deux minutes en fonction de la taille de votre machine et accédez à votre serveur de manière normale avec le nouveau port que vous aviez paramétré

Une fois connecté, vous pouvez faire les modifications nécessaires sur votre pare-feu et bien sûr le réactiver avec

Il est également possible de récupérer des données grâce au montage de la partition /home si nécessaire avec la précédente commande.

Conclusion

Ce mode Rescue m’a permis d’éviter une réinstallation complète de notre serveur à cause d’une erreur pourtant simple. Il existe sûrement d’autres moyens de faire une fois le mode Rescue démarré pour réaliser ses commandes de maintenance. N’hésitez pas à partager vos idées pour améliorer ce système.

 

Sources :

http://guides.ovh.com/ModeRescue

http://ohmycode.wordpress.com/2010/03/14/ovh-kvm-ca-cest-de-lhebergement/

spacer

Laisser un commentaire