Question Que signifie FTP Jailing et quelles fonctionnalités un système d’exploitation de serveur requiert-il pour l’activer?


J'ai une notion floue de ce que le terme "emprisonnement ftp" signifie, mais en ce qui concerne les autorisations et la sécurité, le flou est imprudent. Qu'Est-ce que c'est? Comment est-il mis en œuvre? S'agit-il principalement d'une capacité du serveur FTP, ou est-ce qu'elle découle de la manière dont le système d'exploitation sous-jacent utilise les autorisations?


6
2018-06-12 12:08


origine




Réponses:


"Jailing" en ftp signifie verrouiller la session ftp sur un sous-ensemble particulier du système de fichiers. Généralement, il est configuré pour que, si un utilisateur particulier se connecte, il ne puisse que ftp dans son propre répertoire.

Le serveur ftp aura souvent la possibilité de chrooter l'utilisateur lorsqu'un utilisateur est connecté, ce qui signifie que, pour cet utilisateur, la racine de l'univers correspond à une partie spécifique du système de fichiers total disponible.

"vsftp" a une explication très claire et comment faire à vsftpd.

Quelques autres exemples incluent proftp et ftp sur hp / ux.


4
2018-06-12 12:19





Voici comment je le fais dans un environnement Windows IIS. Figure, cela aidera quelqu'un à l'avenir.

  1. configurer les comptes d'utilisateurs locaux sur l'ordinateur pour chaque "utilisateur / client"
  2. Dans l'explorateur, configurez la structure NTFS de sorte que vous ayez une "racine".   dossier et à l'intérieur de ce dossier que vous avez   dossiers pour chaque client / etc.
  3. Configurez les droits NTFS, de sorte que chaque utilisateur (vous pouvez utiliser un groupe appelé   Les utilisateurs FTP, et ajoutez-les tous à cela   groupe) a les droits "Lister" sur la racine   dossier. Puis donnez leur spécifique   droits sur chacun de leurs dossiers "maison"   (lire / écrire / peu importe).
  4. Dans IIS pour le site FTP, créez des répertoires virtuels nommés EXACTEMENT le   identique aux comptes d'utilisateur que vous avez créés,   et pointez chacun vers la bonne maison   dossier. c'est à dire. répertoire virtuel de   BOBJONES pointe sur d: \ ftpsite \ BOBJONES
  5. revenir dans l'explorateur et créer un nouveau dossier dans le même dossier que le   Dossier ROOT et appelez-le DEADEND
  6. donner les autorisations de lecture / liste d'utilisateurs FTP au dossier DEADEND
  7. De retour dans IIS, définissez le "dossier racine" du site FTP sur DEADEND.   dossier

C'est tout.

maintenant, quand BOBJONES se connecte au FTP   site il est dans le répertoire BOBJONES.   S'il devient malin et essaie de faire un cd   .. pour aller au parent / racine il va   être frappé dans le dossier DEADEND   et ne verra pas la liste de tout le monde   les dossiers de départ d’autre, etc. (NOTE: il   peut revenir à son dossier personnel par   en tapant cd BOBJONES encore)

UNE NOTE FINALE: quiconque a un   ID utilisateur mais pas de répertoire virtuel nommé   le même sera par défaut à la   répertoire racine qui a été changé   à MORT.


7
2018-06-12 12:46



J'ai récemment découvert que pour Windows Server 2008 / IIS 7, il existe un téléchargement séparé FTP 7.5, qui est bien meilleur que l'ancienne version. - splattne
+1 pour expliquer comment faire cela sous Windows. - steve.lippert
Je suis déchiré. Une partie de moi-même est contente d'avoir installé filezilla, ce qui l'a rendue plus facile et plus nette en apparence. Une partie de moi-même souhaiterait l'avoir su lorsque j'essayais de le faire fonctionner avec IIS. Pense que je suis heureux j'ai filezilla à la fin. - Kyle Hodgson
Cela s'est avéré très utile - à la vôtre. - Izzy


La jonction FTP signifie que l'utilisateur en question voit son répertoire racine comme étant celui que vous définissez. Il ne peut pas aller plus haut dans l'arborescence, car le client FTP voit son répertoire comme répertoire racine.

Supposons que vous ayez:

/home/ben_linus/
/home/ben_linus/data
/home/ben_linus/progs

Vous définissez la racine sur / home / ben_linus /

Il va voir

/
/data
/progs

6
2018-06-12 12:23



Ben Linus :-) Donc, il ne voit pas / home / jacob /? ;-) - splattne
Ce serait correct. Seul john_locke peut voir / home / jacob car sa racine emprisonnée est définie sur / home /. :) - Dax


Je ne vois pas pourquoi il devrait dépendre du système d'exploitation. Rien ne vous empêche de coder un serveur FTP qui retournera / pour un répertoire aléatoire après avoir utilisé cd ..assez souvent sans être réellement dans / sur Unix ou sur le lecteur de niveau supérieur dans Windows.

En ce qui concerne les autorisations, cela dépend beaucoup de la configuration de vos serveurs FTP. Certains serveurs FTP peuvent mapper de / vers n'importe quel utilisateur. Cela signifie que vous pouvez configurer un serveur FTP nécessitant une authentification "normale", mais lorsque vous écrivez le fichier sur le système d'exploitation de l'hôte. les autorisations seront mappées à un certain utilisateur que vous avez configuré.

Vous trouverez une discussion sur chroot (ainsi qu’un lien de suivi) dans la section FAQ de ProFTPd.


2
2018-06-12 12:25





C'est une fonctionnalité du serveur ftp (pour la plupart d'entre eux), par exemple avec vsftpd vous pouvez "mettre en prison" les utilisateurs de leur répertoire personnel en utilisant la configuration

chroot_local_user=YES

Le serveur ftp ne laissera pas l'utilisateur aller en dessous de ce répertoire.

User homedir: /home/ftp
User can access: /home/ftp, /home/ftp/pub
User can not access: /home, /etc, /, /root etc..

1
2018-06-12 12:19





Cela peut vouloir dire deux choses:

  • un utilisateur (ou tous) / identifiants est limité à leur "répertoire de base" par opposition à une vue complète de la hiérarchie FTP. Ceci est généralement implémenté dans le logiciel au niveau de l'application niveau (par exemple, serveur FTP).
  • les processus FTP sont emprisonnés dans une configuration de type chroot, par mesure de sécurité. C'est assez commun pour les serveurs qui permettent un accès anonyme. Auparavant, cela se faisait via l'appel systémique chroot, bien que je sois convaincu qu'il existe peut-être des moyens plus modernes de le faire maintenant sur certains systèmes d'exploitation. Quoi qu'il en soit, ce type de configuration est un peu plus compliqué et dépend beaucoup plus du système d'exploitation (même si vous utilisez simplement chroot).

1
2018-06-12 12:21





Auparavant, sur les systèmes UNIX, il était fastidieux d’emprunter des utilisateurs à un certain répertoire, ce qui risquait de provoquer des erreurs. Vous deviez par exemple compiler des fichiers binaires liés statiques spéciaux pour des éléments tels que ls et cd, puis les transférer dans la prison. Si votre système d'exploitation / logiciel en a besoin - note à la sagesse, c'est problématique. Je préfère de loin les serveurs FTP les plus récents qui ne nécessitent pas cette approche.

Sur IIS, le FTP en prison est difficile à faire - bien qu’il existe une description pour quelque chose de proche ci-dessus, ce n’est pas aussi lisse. Félicitations pour cela, j’ai essayé à plusieurs reprises de trouver quelque chose comme ça. J'utilise Filezilla sur Windows à la place, il offre une solution plutôt élégante au problème des prisons qui fonctionne comme prévu. À ma connaissance, pas de ramifications de sécurité, Filezilla semble résoudre les vulnérabilités rapidement.

Les implémentations modernes de FTP UNIX semblent rendre la mise en prison beaucoup plus facile et probablement beaucoup plus sûre. La majorité des problèmes de sécurité subsistent; Une fois que vous supposez que vous êtes d'accord pour autoriser votre utilisateur à accéder à tout ce qui se trouve en dessous de la prison, la question suivante est-elle "mon fournisseur de logiciel / logiciel FOSS fournit-il des correctifs en temps voulu?"


1
2018-06-12 15:27