Aller au contenu

[Resolu] Hébergement WEB


Messages recommandés

Salut à tous.

Je vais faire simple et pour une fois pas écrire un roman. J'héberge des pages web et je souhaiterais donner l'accès en SFTP à ses pages poour les webmestres concernés (plusieurs donc).

Je cherche donc tout bêtement à faire du SSH jailing avec mon OpenSSH.

j'ai essayé

chez léa (je trouve trop dommage de faire le chmod u+s /usr/sbin/chroot :-D, ou encore chez ctrl+alt+del (sympa avec le sudo)

Mais à la limite, si ces utilisateurs ont un accès ssh, ça ne me pose pas de problème du moment qu'il sont emprisonés dans leur home (avec leur répertoire de publication de pages web).

Je n'arrive pas à faire fonctionner le tout: je reçois un /bin/bash introuvable avec la commande

/usr/sbin/chroot /home/monuser /bin/bash

en ayant tout de même créer le répertoire /home/monuser/bin/bash, copier les lib aussi etles commandes que je veux lui octroyer.

Quelqu'un a-t-il une solution SIMPLE ? (pas forcément avec un "faux" shell en fait).

:ouioui:

Ce serveur est sur mandrake avec openssh (mais à la limite que ce soit mandrake ou debian ...)

PS: méchant sera celui qui me diras install FreeBSD :transpi: (je crois avoir lu qu'il existerait un utilitaire pratique à propos de jailing différent de chroot (meilleur car on ne sortirais pas de la prison même si on passe en root).)

Lien vers le commentaire
Partager sur d’autres sites

Homepage: http://www.jmcresearch.com/projects/jail/

Description:

Jail Chroot Project is a tool that builds a chrooted environment and automagically configures and builds all the required files, directories and libraries

C'est dommage, je trouve plus le howto que j'avais suivi... :transpi:

Mais j'suis quand même tombé là-dessus : http://olivier.sessink.nl/jailkit/howtos_ssh_only.html :zarb:

Bonne lecture !!

Lien vers le commentaire
Partager sur d’autres sites

http://www.jmcresearch.com/projects/jail/ m'a l'air correct pour ce que je veux faire.

Par contre,


# wget http://www.jmcresearch.com/static/dwn/projects/jail/jail_1.9a.tar.gz

# tar -zxvf jail_1.9a.tar.gz && cd jail

# make
gcc -Wall -g -o jail jail.c

# make install
make: *** Pas de règle pour fabriquer la cible « mkenv.pl », nécessaire pour « install ». Arrêt.

# ll ./ && ll ./bin
total 136
drwxrwxr-x  3 1012 nogroup  4096 fév  8  2004 bin/
-rwxrwxr-x  1 1012 nogroup   925 oct 26  2003 CHANGELOG*
drwxrwxr-x  2 1012 nogroup  4096 fév  8  2004 CVS/
drwxrwxr-x  3 1012 nogroup  4096 fév  8  2004 doc/
drwxrwxr-x  3 1012 nogroup  4096 fév  8  2004 etc/
-rwxrwxr-x  1 1012 nogroup 18011 oct 31  2003 GPL*
-rwxrwxr-x  1 1012 nogroup  2368 oct 26  2003 index.html*
-rwxrwxr-x  1 1012 nogroup  2584 oct 26  2003 INSTALL*
-rwxrwxr-x  1 1012 nogroup  3774 jan  1  2004 install.sh*
-rwxr-xr-x  1 root root    17974 mai  4 12:04 jail*
-rwxrwxr-x  1 1012 nogroup 14798 oct 31  2003 jail.c*
drwxrwxr-x  4 1012 nogroup  4096 fév  8  2004 lib/
-rwxrwxr-x  1 1012 nogroup  1578 oct 31  2003 Makefile*
-rwxrwxr-x  1 1012 nogroup   965 oct 26  2003 mkenv_caldera_7.0.sh*
-rwxrwxr-x  1 1012 nogroup   795 oct 26  2003 mkenv_debian_2.2.sh*
-rwxrwxr-x  1 1012 nogroup   964 oct 26  2003 mkenv_redhat_6.2.sh*
-rwxrwxr-x  1 1012 nogroup  8604 oct 31  2003 mkenv.sh*
-rwxrwxr-x  1 1012 nogroup  1993 oct 26  2003 README*
drwxrwxr-x  3 1012 nogroup  4096 fév  8  2004 src/
-rwxrwxr-x  1 1012 nogroup   840 oct 26  2003 TODO*
drwxrwxr-x  3 1012 nogroup  4096 fév  8  2004 web/
total 20

-rwxrwxr-x  1 1012 nogroup 4592 jan  1  2004 addjailsw*
-rwxrwxr-x  1 1012 nogroup 2444 jan  1  2004 addjailuser*
drwxrwxr-x  2 1012 nogroup 4096 fév  8  2004 CVS/
-rwxrwxr-x  1 1012 nogroup 2616 jan  1  2004 mkjailenv*

:zarb::transpi:

Le Makefile est le suivant;:

INSTALL_DIR=/usr/local/bin
CC = gcc
CFLAGS = -Wall
DEBUG = -g

CARG = $(CFLAGS) $(DEBUG)

all: jail

jail:  jail.c
       $(CC) $(CARG) -o jail jail.c


clean:
       @(rm -f jail)

mrproper:       clean
               @(rm -f core *~)

install: jail mkenv.pl addjailuser.pl addjailsw.pl
        @(mkdir -p $(INSTALL_DIR); cp jail *.pl $(INSTALL_DIR); \
          chown root:root $(INSTALL_DIR)/jail $(INSTALL_DIR)/*.pl; \
          chmod 4755 $(INSTALL_DIR)/jail; chmod 755 $(INSTALL_DIR)/*.pl)

uninstall:
          @(rm -f $(INSTALL_DIR)/jail $(INSTALL_DIR)/mkenv.pl \
            $(INSTALL_DIR)/addjailuser.pl $(INSTALL_DIR)/addjailsw.pl)

Est-ce bien normal qu'il cherche à me copier *.pl ? J'aurais imaginé qu'ill aurait copié bin/* non ?

J'ajoute que:

# find mkenv.pl . | grep mkenv.pl

find: mkenv.pl: No such file or directory

M'enfin vais essayer de faire ca

@(mkdir -p $(INSTALL_DIR); cp jail *.pl $(INSTALL_DIR); \

chown root:root $(INSTALL_DIR)/jail $(INSTALL_DIR)/*.pl; \

chmod 4755 $(INSTALL_DIR)/jail; chmod 755 $(INSTALL_DIR)/*.pl)

avec les fichiers compilé créer par la compil' mais vraiment je vois pas ce que foutais ces .pl -.6'

Lien vers le commentaire
Partager sur d’autres sites

T'as essayé d'exécuter mkenv.sh ?

Ils en parlent pas dans le fichier INSTALL ?

Peut-être que ça génére le fichier mkenv.pl (script perl) :zarb:

Avec ma gentoo j'ai pas eu ce problème, ça c'est installé tout seul.

EDIT: Un indice...

http://www.jmcresearch.com/projects/jail/download.html (changelog)

The mkenv.pl scripts have been renamed to mkjailenv, and the other two (addjailuser, addjailsw) have lost their extension (.pl).

:mdr2::transpi:

Lien vers le commentaire
Partager sur d’autres sites

oui c'est ce que j'ai fais au makefile par intuition (et je voyais pas quoi d'autre)

Mais moi aussi je trouve ça moyen ^^

Puis .... bah je suis aller manger, la suite cet aprem' ;-)

EDIT (la suite de l'aventure)

J'ai du clairement bien modifier le programme pour qu'il fonctionne. J'ai créé l'environnement chrooté.

lorsque je fais

/usr/local/bin/addjailuser /var/chroot /home/chrootuser /bin/bash chrootuser

Il me dis qu'il ne trouve pas l'entrée de l'utitilisateur dans le /etc/passwd (normal, je pensais que c'était cette commande qui créait l'utilisateur).

J'ai donc fait un

useradd -d /home/chrootuser -s /bin/bash  chrootuser

Et ainsi le copie de l'entrée de cet utilisateur de /etc/passwd dans {env_chroot}/etc/passwd se déroule correctement.

Je test

 su - chrootuser 

Et la, c'est le drame, je me connecte mais je ne suis pas emprisonné.

;) à ce programme qui m'a fais perdre mon temps (tout autant que :eeek2: à moi même si j'ai fait une erreur de conf')

J'essaie de suite le second lien: http://olivier.sessink.nl/jailkit/index.html#download

en espérant ne pas perdre complètement ma journée :yes:

Lien vers le commentaire
Partager sur d’autres sites

Et donc avec le jailkit, c'est magnifique !

(pardon, magique !)

Voici ce que j'ai tapé dans mon terminal du début à la fin si ca peut aider quelqu'un ! (accès SFTP/SCP seulement, le shell interdisant la connection ssh):

1) Installation classique!

wget http://olivier.sessink.nl/jailkit/jailkit-1.3.tar.bz2
tar -jxvf jailkit-1.3.tar.bz2
./configure
make
su root
make install

2) Ensuite, 2 commandes que je comprends pas bien (c'est pour que cela se lance au démarrage ?) C'est vrai ça, et si je reboot ma bécane ? (bon c'est un serveur, je peux pas m'y amuser comme ça, mais et le jour où ça va arriver ?)

cp extra/jailkit /etc/init.d/jailkit
chkconfig jailkit on

3) Préparer le home de mon utilisateur (il s'appelle "monuser", comme c'est original n'est-ce pas ?)

mkdir /home/monuser
jk_init /home/monuser jk_lsh
jk_init /home/monuser sftp
jk_init /home/monuser scp

4) Ajout de l'utilisateur dans /etc/passwd ET JAIL/etc/passwd

jk_addjailuser /home/monuser monuser
passwd monuser

5) Configuration du bash (spécial)

vi /home/monuser/etc/jailkit/jk_lsh.ini

Y insérer :

------------------------------------------------------------------------------------------------------------------------

[monuser]

paths= /usr/lib/

executables= /usr/lib/ssh/sftp-server

allow_word_expansion = 0

#example for a group, there should be only 1 space inbetween the words!

[group users]

paths = /usr/bin

executables = /usr/bin/cvs

allow_word_expansion = 0

------------------------------------------------------------------------------------------------------------------------

6) Une étape qui n'était pas présente dans le tuto que j'ai suivi mais sans celle-ci, point de chocolat:

mkdir /home/monuser/usr/lib/ssh  && cp /usr/lib/ssh/sftp-server /home/monuser/usr/lib/ssh/
chown -Rf monuser:users /home/monuser/
chown root:root /home/monuser/usr/sbin/jk_lsh

7) On redémarre l'usine

killall jk_socketd
jk_socketd

8) Time to test: "sftp monuser@localhost"

et on voit si on est bien emprisonné.

Ca marche du premier coup c'est génial. Au cas, si ça ne fonctionne pas, on peut visualiser le problème avec

tail /var/log/daemon.log /var/log/auth.log

:love::yes::incline::chinois::-D:iloveyou::iloveyou:

PS: Important pour la sécurité : seul root peut sortir d'un jail. Pour prendre un minimum de risque avec cela, ne laisser pas de setuid dans les fichiers des users chrootés ...

EDIT: :resolu:

Lien vers le commentaire
Partager sur d’autres sites

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...