Dans ce tutoriel, nous traiterons spécifiquement de l'environnement Debian Chroot. L'exécution d'un système Linux dans un environnement chroot permet à un administrateur système de réduire l'impact sur un serveur de production lorsque le serveur est compromis.
Changer de racine changera le répertoire racine en tous les processus en cours d'exécution et ses enfants en une prison chroot. Le test de diverses installations de packages et de la configuration du serveur dans un environnement chrooté peut être un autre moyen pratique d'utiliser une prison chrootée.
Dans ce didacticiel, nous couvrirons les instructions étape par étape pour configurer le chroot sur Debian Linux. Les instructions fonctionneront également pour d'autres systèmes basés sur Debian.
Dans ce didacticiel, vous apprendrez :
- Comment installer debootstrap
- Comment configurer chroot sur Debian Linux
- Comment se connecter en SSH à la prison chroot
Catégorie | Exigences, conventions ou version du logiciel utilisée |
---|---|
Système | Debian Linux |
Logiciel | debootstrap |
Autre | Accès privilégié à votre système Linux en tant que root ou via le sudo commande. |
Conventions | # - nécessite que les commandes linux données soient exécutées avec les privilèges root soit directement en tant qu'utilisateur root, soit en utilisant sudo commande$ – nécessite que les commandes linux données soient exécutées en tant qu'utilisateur normal non privilégié |
Installer le debootstrap
La première chose à faire est d'installer le debootstrap paquet sur Debian. Ce logiciel nous permettra de créer un environnement chroot. Utilisez la commande suivante pour installer le paquet avec le gestionnaire de paquets de Debian.
$ sudo apt update $ sudo apt install debootstrap
Installer l'environnement chroot
Il est maintenant temps d'installer l'environnement chroot. Suivez les étapes ci-dessous pour le configurer.
- Tout d'abord, créez un répertoire dans lequel vous souhaitez que l'environnement chroot réside. Nous allons rester simple et utiliser
/mnt/chroot
dans ce tutoriel.$ sudo mkdir -p /mnt/chroot
- Une fois votre nouveau répertoire chroot prêt, nous utiliserons debootstrap pour installer de nouveaux fichiers système Debian dans l'environnement chroot. L'installation peut prendre un certain temps car debootstrap devra télécharger et installer les packages principaux.
$ sudo debootstrap stable /mnt/chroot http://deb.debian.org/debian/
Vous verrez beaucoup de sortie dans votre terminal, mais cela devrait se terminer par le texte "I :Système de base installé avec succès", ce qui signifie qu'il est terminé.
- Enfin, connectez votre système proc hôte à l'environnement chroot en montant dans le répertoire chroot. Cela permet à chroot d'accéder au matériel de votre système hôte.
$ sudo mount -t proc proc /mnt/chroot/proc $ sudo mount -t devpts devpts /mnt/chroot/dev/pts
Configuration chroot Debian
Nous sommes maintenant prêts à nous connecter à chroot et à effectuer une configuration de base. Pour éviter toute confusion entre l'environnement hôte et chroot, nous pouvons changer la variable PS1 de root en une invite de shell à chroot#
. Cette étape est facultative mais recommandée.
- Tout d'abord, connectez-vous à chroot.
$ sudo chroot /mnt/chroot /bin/bash --login
- Exécutez la commande Linux suivante pour modifier définitivement l'invite du shell root et quitter.
# echo 'PS1="chroot:\w# "' >> ~/.bashrc # exit
- La prochaine fois que vous entrerez dans l'environnement chroot, vous aurez une nouvelle invite du shell.
# chroot /mnt/chroot /bin/bash --login
- Nous allons ensuite installer et reconfigurer les locales.
chroot:/# apt install locales
- Maintenant, reconfigurez vos paramètres régionaux et sélectionnez le vôtre dans le menu.
chroot:/# dpkg-reconfigure locales
Installer le démon chroot ssh
Nous sommes maintenant prêts à installer n'importe quel service dans l'environnement chroot. Commençons par ssh car cela nous permettra de nous connecter au chroot en utilisant une connexion ssh depuis LAN ou WAN.
- Installez le serveur SSH avec la commande suivante.
chroot:/# apt install ssh
- Configurez le service ssh chrooté pour écouter sur un port différent de 22, car il est probablement déjà occupé par votre système hôte.
chroot:/# nano /etc/ssh/sshd_config
- Et changez la ligne
#Port 22
, tout en ajoutant une ligne pour ajouter des connexions root distantes :Port 2222 PermitRootLogin yes
- Redémarrez le service SSH pour que les modifications prennent effet.
chroot:/# /etc/init.d/ssh restart Restarting OpenBSD Secure Shell server: sshd.
- Enfin, changez le mot de passe de votre utilisateur root chrooté :
chroot:/# passwd
Se connecter à distance pour chrooter
Si tout s'est bien passé, nous devrions maintenant pouvoir nous connecter au nouvel environnement chroot en utilisant ssh :
$ ssh root@localhost -p 2222
Ajuster le chroot
Le démon chroot ssh ne démarre pas automatiquement lorsque vous allumez votre système d'exploitation hôte. Par conséquent, créez un script shell simple pour effectuer cette tâche :
#!/bin/bash mount -t devpts devpts /mnt/chroot/dev/pts mount -t proc proc /mnt/chroot/proc chroot /mnt/chroot /etc/init.d/ssh start
Et comme dernière étape, faites un lien symbolique vers /etc/rc2.d/
:
# ln -s /etc/init.d/chroot.sh /etc/rc2.d/S98chroot
Vous devriez maintenant avoir un environnement chroot entièrement fonctionnel. N'hésitez pas à explorer et à installer des services supplémentaires.
Réflexions finales
Dans ce tutoriel, nous avons vu comment installer un environnement chroot debian. Nous avons également appris à se connecter à l'environnement chroot via SSH, ce qui facilite sa gestion et l'installation de packages à tester. Avoir un environnement chroot est un excellent moyen de tester un logiciel et de le séparer de votre système d'exploitation hôte.