Faire un don ! | | style | statistiques | contactez-nous | plan | lettre d'information

Linux.general : Sécurité fichiers page perso et serveur ssh...

Posté par Sylvain Rampacek (Jabber id, page perso, ) le 18 avril 2006
Bonjour à tous...



Un petit problème me passe à travers la tête depuis quelques jours.

Soit un serveur apache où tout un groupe d'utilisateur y met sa page web perso. Certaines de ces pages sont "privées" et un .htaccess est là comme il faut pour limiter l'accès par apache.



Par contre, ce même serveur sert également de serveur SSH : donc tous les utilisateurs ont un login et mot de passe pour mettre à jour leur page web.



D'où la question : comment faire pour que seul l'utilisateur propriétaire des fichiers puissent lire ses fichiers de sa page web en ssh et pas ceux des autres ? notamment si sur son site perso, l'utilisateur veut mettre un script php contenant un mot de passe, comment éviter que les autres utilisateurs SSH de la machine puisse le récupérer ?



J'ai bien plusieurs solutions qui me viennent à l'esprit :

- "chmod 701 public_html" et "chmod 604" sur les fichiers contenus dans ce dossier, mais là, si un autre utilisateur connaît le nom du fichier à récupérer, il suffit de faire cat /home/login/public_html/lefichier, et c'est mort...

- "chown login:apache public_html" et "chmod 710 public_html", mais pour exécuter la commande chown, il faut ajouter le login utilisateur au groupe apache, et dans ce cas, l'utilisateur peut alors accéder à tous les fichiers dont le groupe est apache...

- ...



Bref, à chaque fois, il y a un moyen pour contourner la protection.

Quelqu'un aurait une idée ??

Merci d'avance !

> Lire le message (13 commentaires, moyenne: 2,3).  

Vous avez demandé le commentaire #702431.

Chroot

Posté par Sebastian () le 18/04/2006 à 12:19. (lien). Évalué à 3.

Bonjour,

Il existe la méthode dite du "Chrootage".
Cela permet d'établir une sorte de "prison", qui interdit aux utilisateurs de sortir de leur répertoire personnel.

Donc effectue des recherches [ ssh + chroot ].

  • [^]Re: Chroot

    Posté par Sebastian () le 18/04/2006 à 12:22. (lien). Évalué à 3.

    Par défaut OpenSSH ne permet pas d'effectuer le chrootage.
    Mais il existe le projet "chrootssh" où l'on peut télécharger des patch ou des versions entières d'OpenSSH patchées.

    http://chrootssh.sourceforge.net/

    • [^]Re: Chroot

      Posté par JJD () le 18/04/2006 à 13:06. (lien). Évalué à 2.

      Bonjour,

      Il est effectivement possible de chrooter les utilisateurs se connectant sur le serveur OpenSSH mais, de mémoire, la solution était assez lourde (patch du serveur SSH).
      Une autre solution pourrait être l'utilisation de scponly qui offre deux avantages :
      - limitation de l'accès SSH aux transferts de fichiers par scp et/ou sftp (suppression de la possibilité d'ouvrir une session et/ou d'exécuter des commandes).
      - possibilité de chrooter (facilement ?) les utilisateurs connectés.
      Pour plus de détails, voir le site http://www.sublimation.org/scponly/ .

      Une autre piste à étudier (sans garantie) serait l'utilisation des ACL sur le système de fichiers en question. Les droits sur l'arborescence d'un site (ou au moins le répertoire racine) seraient mis à 700 et on accorde les droits de lecture (voire écriture selon les besoins) au user apache. Il reste à voir comment ces ACL se propagent aux fichiers créés (mais ce n'est pas forcément nécessaire).

      La mise en place de ces ACL dépend tout de même de plusieurs paramètres :
      - la distribution utilisée (et les options du noyau et des modules) ;
      - le système de fichiers utilisé ;
      - la possibilité de modifier les options de montage (/etc/fstab).
      - ...

      Au final, une combinaison scponly avec chroot ou scponly+ACL devrait fournir une solution viable.

      Bon courage et tiens nous au courant des résultats,
      JJD

      • [^]Re: Chroot

        Posté par Sylvain Rampacek (Jabber id, page perso, ) le 18/04/2006 à 13:31. (lien). Évalué à 2.

        les ACL, j'y avais pensé, mais on voulait plutôt savoir s'il existait une solution en l'état (avec rwx sans les ACL et sans limiter le parcours de l'aborescence à son dossier uniquement).

        de plus, comme je l'explique, le gros hic c'est que le serveur est utilisé en serveur de calcul, donc ne plus pouvoir se loguer sur la machine n'est pas possible (scponly)

        (je sais, on n'est pas compliqué :-p)

    [^]Re: Chroot

    Posté par Sylvain Rampacek (Jabber id, page perso, ) le 18/04/2006 à 12:52. (lien). Évalué à 2.

    Oui, mais les utilisateurs veulent également pouvoir se partager entre eux des fichiers entre leurs comptes..., accéder à des partitions montées, à leur partition de backup, etc...
    Donc les empêcher de remonter dans l'aboresence va poser d'autres problèmes...

    • [^]Re: Chroot

      Posté par Dabowl_92 () le 18/04/2006 à 13:04. (lien). Évalué à 2.

      Si les utilisateurs veulent échanger des fichiers/répertoires entre eux c'est une autre problématique...à ce moment là il faut créer un espace commun prévu à cet effet...