1 votes

Jailkit ne verrouille pas SFTP, mais fonctionne pour SSH

J'ai installé jailkit sur mon serveur CentOS 5.8, et l'ai configuré selon les guides en ligne que j'ai trouvés. Voici les commandes qui ont été exécutées en tant que root :

mkdir /var/jail
jk_init -j /var/jail extshellplusnet
jk_init -j /var/jail sftp 
adduser testuser; passwd testuser
jk_jailuser -j /var/jail testuser

J'ai ensuite édité /var/jail/etc/passwd pour changer le login Shell pour testuser à être /bin/bash pour leur donner accès à un Shell bash complet via SSH.

Ensuite, j'ai édité /var/jail/etc/jailkit/jk_lsh.ini pour ressembler à ce qui suit (je ne suis pas sûr que ce soit correct)

[testuser]
paths= /usr/bin, /usr/lib/
executables= /usr/bin/scp, /usr/lib/openssh/sftp-server, /usr/bin/sftp

L'utilisateur test est capable de se connecter via SSH et est limité à la visualisation du répertoire chroot jail, et est également capable de se connecter via SFTP, cependant le système de fichiers entier est visible et peut être traversé.

Sortie SSH :

> ssh testuser@server
Password: 
Last login: Sat Oct 20 03:26:19 2012 from x.x.x.x
bash-3.2$ pwd
/home/testuser

Sortie SFTP :

> sftp testuser@server
Password: 
Connected to server.
sftp> pwd
Remote working directory: /var/jail/home/testuser

Que peut-on faire pour verrouiller l'accès SFTP à la prison ?

2voto

back2school4good Points 36

Bien que je comprenne parfaitement la douleur de Doubleharp (je viens de rencontrer ce problème également), la réponse de Doubleharp ne devrait pas être utilisée (pas sécurisée). Le problème ici est que le sftp interne de sshd est exécuté avant que /usr/sbin/jk_chrootsh puisse être exécuté, ce qui doit être exécuté pour des raisons de sécurité. Donc tout ce que vous devez faire pour résoudre ce problème est de vous assurer que votre fichier /etc/ssh/sshd_config contient cette ligne...

Subsystem sftp /usr/lib/openssh/sftp-server

... et PAS cette ligne ...

Subsystem sftp internal-sftp

Assurez-vous également que vous ne faites pas de correspondance utilisateur/groupe dans ce fichier. L'idée générale ici est que si vous utilisez jailkit pour mettre en quarantaine des utilisateurs sur un système Linux, vous devez forcer tous les utilisateurs à passer par /usr/sbin/jk_chrootsh qui peut lancer sa propre fonctionnalité sftp si nécessaire.

Après avoir apporté vos modifications au fichier /etc/ssh/sshd_config, assurez-vous de redémarrer sshd (la méthode peut varier en fonction de votre système).

0voto

doublesharp Points 207

J'aimerais être corrigé si cela pose des problèmes, mais la configuration suivante semble avoir fonctionné.

Changement de l'utilisateur dans /etc/passwd ( no /var/jail/etc/passwd ) qui avait été modifié par jailkit :

Original testuser:503:503::/var/jail/./home/testuser:/usr/sbin/jk_chrootsh

Modifié testuser:503:503::/home/testuser:/bin/bash

Ajout d'une configuration pour /etc/ssh/sshd_config :

Match Group testuser
        ChrootDirectory /var/jail/

Maintenant, lorsque vous vous connectez via SSH o SFTP l'utilisateur est limité à /var/jail et inférieurs et par défaut le répertoire d'origine de l'utilisateur. /var/jail/home/testuser

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X