Il existe plusieurs raisons de restreindre une session utilisateur SSH à un répertoire particulier, en particulier sur les serveurs Web, mais la plus évidente est la sécurité du système. Afin de verrouiller les utilisateurs SSH dans un certain répertoire, nous pouvons utiliser chrooter mécanisme.

changer de racine (chrooter) dans les systèmes de type Unix tels que Linux, est un moyen de séparer les opérations utilisateur spécifiques du reste du système Linux ; change le répertoire racine apparent du processus utilisateur en cours d’exécution et de son processus enfant (parent) avec un nouveau répertoire racine appelé a prison chrootée.

Dans ce didacticiel, nous allons vous montrer comment restreindre l’accès des utilisateurs SSH à un répertoire donné sous Linux. Notez que nous exécuterons toutes les commandes en tant que root, utilisez la commande sudo si vous êtes connecté au serveur en tant qu’utilisateur normal.

Étape 1 : Créer une prison SSH Chroot

1. Commencez par créer la prison chroot à l’aide de la commande mkdir ci-dessous :

# mkdir -p /home/test

2. Ensuite, identifiez les fichiers requis, selon le sshd_config page de manuel, la ChrootDirectory L’option spécifie le chemin du répertoire vers lequel chrooter après l’authentification. Le répertoire doit contenir les fichiers et répertoires nécessaires pour prendre en charge la session d’un utilisateur.

Publicité

Pour une session interactive, cela nécessite au moins un shell, généralement shet de base /dev nœuds tels que les périphériques null, zero, stdin, stdout, stderr et tty :

# ls -l /dev/{null,zero,stdin,stdout,stderr,random,tty}
Liste Des Fichiers Requis
Liste Des Fichiers Requis
Liste Des Fichiers Requis

3. Maintenant, créez le /dev fichiers comme suit en utilisant le commande mknod. Dans la commande ci-dessous, le -m flag est utilisé pour spécifier les bits d’autorisation de fichier, c signifie fichier de caractères et les deux nombres sont les nombres majeur et mineur vers lesquels les fichiers pointent.

# mkdir -p /home/test/dev/		
# cd /home/test/dev/
# mknod -m 666 null c 1 3
# mknod -m 666 tty c 5 0
# mknod -m 666 zero c 1 5
# mknod -m 666 random c 1 8
Créer /Dev Et Les Fichiers Requis
Créer /Dev Et Les Fichiers Requis
Créer /Dev Et Les Fichiers Requis

4. Ensuite, définissez l’autorisation appropriée sur la prison chroot. Notez que la prison chroot et ses sous-répertoires et sous-fichiers doivent appartenir au racine utilisateur, et non accessible en écriture par un utilisateur ou un groupe normal :

# chown root:root /home/test
# chmod 0755 /home/test
# ls -ld /home/test
Définir Les Autorisations Sur Le Répertoire
Définir Les Autorisations Sur Le Répertoire
Définir Les Autorisations Sur Le Répertoire

Étape 2 : Configurer le shell interactif pour SSH Chroot Jail

5. Tout d’abord, créez le bin répertoire, puis copiez le /bin/bash fichiers dans le bin répertoire à l’aide de la commande cp comme suit :

# mkdir -p /home/test/bin
# cp -v /bin/bash /home/test/bin/
Copier Les Fichiers Dans Le Répertoire Bin
Copier Les Fichiers Dans Le Répertoire Bin
Copier Les Fichiers Dans Le Répertoire Bin

6. Maintenant, identifiez le bash requis pour le partage libscomme ci-dessous, et copiez-les dans le lib annuaire:

# ldd /bin/bash
# mkdir -p /home/test/lib64
# cp -v /lib64/{libtinfo.so.5,libdl.so.2,libc.so.6,ld-linux-x86-64.so.2} /home/test/lib64/
Copier Les Fichiers De La Bibliothèque Partagée
Copier Les Fichiers De La Bibliothèque Partagée
Copier Les Fichiers De La Bibliothèque Partagée

Étape 3 : Créer et configurer un utilisateur SSH

7. Maintenant, créez l’utilisateur SSH avec la commande useradd et définissez un mot de passe sécurisé pour l’utilisateur :

# useradd tecmint
# passwd tecmint

8. Créer le répertoire des configurations générales de chroot jail, /home/test/etc et copiez les fichiers de compte mis à jour (/etc/passwd et /etc/groupe) dans ce répertoire comme suit :

# mkdir /home/test/etc
# cp -vf /etc/{passwd,group} /home/test/etc/
Copier Les Fichiers De Mot De Passe
Copier Les Fichiers De Mot De Passe
Copier Les Fichiers De Mot De Passe

Note: Chaque fois que vous ajoutez d’autres utilisateurs SSH au système, vous devrez copier les fichiers de compte mis à jour dans le /home/test/etc annuaire.

Étape 4 : Configurer SSH pour utiliser Chroot Jail

9. Maintenant, ouvrez le sshd_config déposer.

# vi /etc/ssh/sshd_config

et ajoutez/modifiez les lignes ci-dessous dans le fichier.

#define username to apply chroot jail to
Match User tecmint
#specify chroot jail
ChrootDirectory /home/test
Configurer La Prison Ssh Chroot
Configurer La Prison Ssh Chroot
Configurer La Prison Ssh Chroot

Enregistrez le fichier et quittez, puis redémarrez les services SSHD :

# systemctl restart sshd
OR
# service sshd restart

Étape 5 : Tester SSH avec Chroot Jail

dix. À ce stade, testez si la configuration de la prison chroot fonctionne comme prévu :

# ssh [email protected]
-bash-4.1$ ls
-bash-4.1$ date
-bash-4.1$ uname
Test De La Prison Chroot Utilisateur Ssh
Test De La Prison Chroot Utilisateur Ssh
Test De La Prison Chroot Utilisateur Ssh

Dans la capture d’écran ci-dessus, nous pouvons voir que l’utilisateur SSH est verrouillé dans la prison chrootée et ne peut exécuter aucune commande externe (ls, date, uname, etc.).

L’utilisateur ne peut exécuter que bash et ses commandes intégrées telles que (pwd, history, echo, etc.) comme indiqué ci-dessous :

# ssh [email protected]
-bash-4.1$ pwd
-bash-4.1$ echo "Tecmint - Fastest Growing Linux Site"
-bash-4.1$ history
Commandes Intégrées Ssh
Commandes Intégrées Ssh
Commandes Intégrées Ssh

Étape 6. Créer le répertoire personnel de l’utilisateur SSH et ajouter des commandes Linux

11. De l’étape précédente, nous pouvons remarquer que l’utilisateur est verrouillé dans le répertoire racine, nous pouvons créer un répertoire personnel pour l’utilisateur SSH comme ceci (faites ceci pour tous les futurs utilisateurs) :

# mkdir -p /home/test/home/tecmint
# chown -R tecmint:tecmint /home/test/home/tecmint
# chmod -R 0700 /home/test/home/tecmint
Créer Un Répertoire Personnel D'Utilisateur Ssh
Créer Un Répertoire Personnel D'Utilisateur Ssh
Créer Un Répertoire Personnel D’utilisateur Ssh

12. Ensuite, installez quelques commandes utilisateur telles que ls, date et mkdir dans le bin annuaire:

# cp -v /bin/ls /home/test/bin/
# cp -v /bin/date /home/test/bin/
# cp -v /bin/mkdir /home/test/bin/
Ajouter Des Commandes À L'Utilisateur Ssh
Ajouter Des Commandes À L'Utilisateur Ssh
Ajouter Des Commandes À L’utilisateur Ssh

13. Ensuite, vérifiez les bibliothèques partagées pour les commandes ci-dessus et déplacez-les dans le répertoire des bibliothèques jail chrootées :

# ldd /bin/ls
# cp -v /lib64/{libselinux.so.1,libcap.so.2,libacl.so.1,libc.so.6,libpcre.so.1,libdl.so.2,ld-linux-x86-64.so.2,libattr.so.1,libpthread.so.0} /home/test/lib64/
Copier Les Bibliothèques Partagées
Copier Les Bibliothèques Partagées
Copier Les Bibliothèques Partagées

Étape 7. Tester SFTP avec Chroot Jail

14. Faites un test final en utilisant sftp ; vérifiez si les commandes que vous venez d’installer fonctionnent.

Ajoutez la ligne ci-dessous dans le /etc/ssh/sshd_config déposer:

#Enable sftp to chrooted jail 
ForceCommand internal-sftp

Enregistrez le fichier et quittez. Redémarrez ensuite les services SSHD :

# systemctl restart sshd
OR
# service sshd restart

15. Maintenant, testez en utilisant SSH, et vous obtiendrez l’erreur suivante :

# ssh [email protected]
Testez La Prison Ssh Chroot
Testez La Prison Ssh Chroot
Testez La Prison Ssh Chroot

Essayez d’utiliser SFTP comme suit :

# sftp [email protected]
Test De L'Utilisateur Sftp Ssh
Test De L'Utilisateur Sftp Ssh
Test De L’utilisateur Sftp Ssh

C’est tout pour le moment! Dans cet article, nous vous avons montré comment restreindre un utilisateur SSH dans un répertoire donné (prison chrootée) sous Linux. Utilisez la section des commentaires ci-dessous pour nous faire part de vos réflexions sur ce guide.

Si vous appréciez ce que nous faisons ici sur TecMint, vous devriez considérer :

TecMint est le site communautaire à la croissance la plus rapide et le plus fiable pour tout type d’articles, de guides et de livres Linux sur le Web. Des millions de personnes visitent TecMint ! pour rechercher ou parcourir les milliers d’articles publiés accessibles GRATUITEMENT à tous.

Si vous aimez ce que vous lisez, pensez à nous acheter un café (ou 2) en signe d’appréciation.

Soutenez-Nous

Nous sommes reconnaissants pour votre soutien sans fin.

Rate this post
Publicité
Article précédentCrunchyroll annonce des invités célèbres pour les Anime Awards 2023
Article suivantVulnérabilité RCE critique découverte dans le logiciel antivirus open source ClamAV
Avatar
Violette Laurent est une blogueuse tech nantaise diplômée en communication de masse et douée pour l'écriture. Elle est la rédactrice en chef de fr.techtribune.net. Les sujets de prédilection de Violette sont la technologie et la cryptographie. Elle est également une grande fan d'Anime et de Manga.

LAISSER UN COMMENTAIRE

S'il vous plaît entrez votre commentaire!
S'il vous plaît entrez votre nom ici