Introduction

Introduction

Dans cet article, nous examinerons la façon de chroot de la connexion SSH de l'utilisateur sélectionné en fonction du groupe d'utilisateurs. Cette technique peut être très utile si vous êtes votre utilisateur avec un environnement système limité et en même temps, gardez-les séparément de votre système principal. Vous pouvez également utiliser cette technique pour créer un simple honey ssh. Dans ce didacticiel, vous apprendrez à créer un environnement de chroot de base et à configurer SSHD de votre système principal pour chroot en prison des utilisateurs sélectionnés lors de la connexion SSH.

Création d'un environnement de chroot de base

Nous devons d'abord créer un environnement de chroot simple. Notre environnement de chroot consistera en une coquille bash. Pour ce faire, nous devons d'abord créer un répertoire de chroot:

# mkdir / var / chroot

Dans l'étape suivante, nous devons copier le binaire bash et ses dépendances de bibliothèque partagées.
Vous pouvez voir les dépendances de la bibliothèque partagée de Bash en exécutant le LDD commande:


# LDD / BIN / BASH
linux-vdso.donc.1 => (0x00007fff9a373000)
libtinfo.donc.5 => / lib / x86_64-linux-gnu / libtinfo.donc.5 (0x00007F24D57AF000)
libdl.donc.2 => / lib / x86_64-linux-gnu / libdl.donc.2 (0x00007f24d55ab000)
libc.donc.6 => / lib / x86_64-linux-gnu / libc.donc.6 (0x00007f24d51eb000)
/ lib64 / ld-linux-x86-64.donc.2 (0x00007f24d59f8000)


Maintenant, nous devons créer manuellement tous les répertoires nécessaires et copier / bin / bash et toutes les bibliothèques du nouveau répertoire de chroot dans un emplacement approprié:

# cd / var / chroot /
# mkdir bin / lib64 / lib /
# cp / lib / x86_64-linux-gnu / libtinfo.donc.5 lib /
# CP / LIB / X86_64-LINUX-GNU / LIBDL.donc.2 lib /
# CP / LIB / X86_64-LINUX-GNU / LIBC.donc.6 lib /
# CP / LIB64 / LD-LINUX-X86-64.donc.2 lib64 /
# cp / bin / bash bac /

À ce stade, tout est prêt et nous pouvons chroot

# chroot / var / chroot
bash-4.2 # ls /
bash: LS: commande introuvable

D'après ce qui précède, vous pouvez voir que Bash est prêt mais il n'y a pas grand-chose à faire car même la commande LS n'est disponible. Plutôt que de copier manuellement toutes les commandes et les bibliothèques requises, j'ai créé un simple script bash pour aider à cet objectif. Créez un script avec le contenu suivant:

#!/ bac / bash # Ce script peut être utilisé pour créer un environnement de chroot simple # Écrit par LinuxCareer.com  # (c) 2013 LinuxCareer sous GNU GPL V3.0+ #!/ bac / bash Chroot = '/ var / chroot' mkdir $ Chroot pour je dans $ ( LDD $ * | grep -V dynamique | couper -D "" -f 3 | sed 'S /: //' | trier | uniq ) faire CP --Parents $ i $ chroot fait # Arch AMD64 si [ -f / lib64 / ld-linux-x86-64.donc.2 ]]; alors CP --parents / lib64 / ld-linux-x86-64.donc.2 / $ chroot Fi # Arch i386 si [ -f / lib / ld-linux.donc.2 ]]; alors CP --parents / lib / ld-linux.donc.2 / $ chroot Fi écho "La prison de chroot est prête. Pour y accéder, exécutez: chroot $ chroot "


Par défaut, le script ci-dessus créera un chroot dans / var / chroot tel que défini par la variable $ chroot. N'hésitez pas à modifier cette variable en fonction de vos besoins. Lorsque vous êtes prêt, faites l'exécutable de script et exécutez-le avec le fichier complet du fichier vers vos exécutables et fichiers que vous souhaitez inclure. Par exemple, si vous avez besoin: LS, chat, écho, rm, bash, vi puis utilisez le qui commande pour obtenir un chemin complet et le fournir comme argument au chroot ci-dessus.script sh:

# ./ chroot.sh / bin / ls, chat, écho, rm, bash / usr / bin / vi / etc / hôtes
La prison de chroot est prête. Pour y accéder, exécutez: chroot / var / chroot

Maintenant, vous pouvez accéder à votre nouvelle prison de chroot avec:


# chroot / var / chroot
bash-4.2 # Echo LinuxCareer.com> fichier
bash-4.Fichier 2 # CAT
linuxcareer.com
bash-4.Fichier 2 # RM
bash-4.2 # VI - Version
Vim - vi a amélioré 7.3 (2010 15 août, compilé le 4 mai 2012 04:25:35)

Créer un groupe d'utilisateurs de chroot

Sur ce point, nous devons créer un usergourp distinct, qui sera utilisé par SSHD pour rediriger tous les utilisateurs appartenant à ce groupe d'utilisateurs à la prison de chroot.

$ sudo groupadd chrootjail

Maintenant, ajoutez tous les utilisateurs existants à ce groupe. Par exemple, pour ajouter un testeur utilisateur, nous exécuterons:

$ sudo adduser Tester chrootjail
Ajout de «testeur» de l'utilisateur au groupe «chrootjail»…
Ajout d'un testeur utilisateur au groupe ChrootJail
Fait.


Configurer SSHD pour la prison de chroot

Tout ce qui reste, c'est de configurer SSHD pour rediriger automatiquement tous les utilisateurs du groupe d'utilisateur ChrootJail vers la prison de chroot à / var / chroot. Cela peut être facilement fait en modification du fichier de configuration SSHD / etc / ssh / sshd_config. Ajoutez ce qui suit à / etc / ssh / sshd_config:

Match Group Chrootjail
Chrootdirectory / var / chroot /

et redémarrer SSH:

$ sudo service ssh redémarrage
SSH STOP / WADE
SSH START / RUMINE, Processus 17175

Connectez-vous à la prison de chroot en utilisant SSH

À ce stade, vous pouvez tester vos paramètres en vous connectant à votre serveur avec SSHD configuré:

$ SSH TESTER @ localhost
Mot de passe de Tester @ LocalHost:
-bash-4.2 $ ls
bin lib lib64 usr
-bash-4.2 $

Semble familier?

Conclusion

Comme vous pouvez le voir, la définition de la prison de chroot SSH est un processus assez simple. Si un utilisateur n'a pas son répertoire d'utilisateurs à domicile disponible dans une prison de chroot après la connexion, il se retrouvera dans /. Vous pouvez créer et configurer davantage votre chroot en créant un répertoire domestique utilisateur, en définissant un environnement bash, etc.

Tutoriels Linux connexes:

  • Répertoire de la prison SSH à la maison sur Linux
  • Choses à faire après l'installation d'Ubuntu 20.04 Focal Fossa Linux
  • Choses à installer sur Ubuntu 20.04
  • Une introduction à l'automatisation Linux, des outils et des techniques
  • Comment éliminer les bloatware de votre mobile Android Samsung…
  • Système linux hung? Comment s'échapper vers la ligne de commande et…
  • Choses à faire après l'installation d'Ubuntu 22.04 Jammy Jellyfish…
  • Comment profiter au maximum d'OpenSSH
  • Mint 20: Mieux que Ubuntu et Microsoft Windows?
  • Comment doubler Kali Linux et Windows 10