Forum debian-fr.org

Rechercher:

* Connexion   * M’enregistrer

* FAQ    * Rechercher





Poster un nouveau sujet Répondre au sujet  [ 110 messages ]  Aller à la page 1, 2, 3, 4, 5  Suivante
Auteur Message
MessagePosté: 17 Mai 2010 20:45 
Hors ligne
Vraiment, particulièrement bavard(e)!
Avatar de l’utilisateur

Inscription: 13 Aoû 2006 00:06
Messages: 1261
Salut à tous

Voilà un tuto sur la création d'un serveur sftp, dans lequel les utilisateurs seront "chrootés", et munis d'un shell réduit.
J'ai fait ce tuto, car les 4 tutos trouvés sur le net ne fonctionnent pas lorsqu'ils sont pris séparément, et en font trop lorsqu'on les regroupe.
Je me pose bien évidemment qques questions (encore), que je vous soumets à la fin du tuto.
Ce tuto est valable sur lenny. Pour squeeze, une remarque est faite concernant une librairie à rajouter.

I Présentation
II Installation de openssh-server et rssh

1. Configuration du serveur ssh
2. Configuration de rssh
III Création du chroot
IV Création des utilisateurs
V Tests

1. en local
2. en réseau
VI Les logs
1. syslog
2. rsyslog
3. conclusion



I Présentation
sftp est un programme similaire à ftp, mais au dessus d'un tunnel ssh. Il a donc toutes les fonctionnalité de ftp, mais avec la sécurité de ssh en plus (cryptage des logins, mots de passe et des transferts de données).

--> Côté serveur: le serveur sftp est fourni par openssh-server.Pour plus de sécurité, nous le couplerons avec rssh, un shell réduit qui ne permettra aux clients connectés à notre serveur de ne faire que du sftp. De plus, nous allons créer un chroot, une technique qui va "enfermer" les clients dans un dossier de notre serveur. Aucune de leurs actions ne pourra avoir de conséquences à l'extérieur de ce dossier.
--> Côté client: afin d'utiliser un serveur sftp, le client doit avoir un client sftp (sftp en ligne de commande ou filezilla).

II Installation de openssh-server et rssh

On va tout simplement les installer avec aptitude, qui s'occupera d'installer les dépendances:
Code:
#aptitude install openssh-server rssh


1. Configuration du serveur ssh

Le fichier de configuration est: /etc/ssh/sshd_config.

--> Tout d'abord, changeons le port d'écoute par défaut (le 22), et mettons, par exemple, le 666. De cette manière, on évitera les robots qui scannent le net à la recherche de serveurs.
Code:
# What ports, IPs and protocols we listen for
   Port 666

(N'oubliez pas d'ouvrir le port dans votre firewall, et de rediriger le port si vous êtes derrière un routeur)

--> Dans la section authentification, on interdit la connection en tant que root:
Code:
PermitRootLogin no


--> Inutile dans notre cas d'activer le X11forwarding
Code:
X11Forwarding no


--> On indique à sshd où se trouve sftp-server: sftp-server est appelé par sshd, et gère les requêtes sftp.
Code:
Subsystem sftp /usr/lib/openssh/sftp-server


2. Configuration de rssh

L'intérêt de rssh est de donner à chaque utilisateur du serveur un shell réduit. Dans notre cas, ce shell sera réduit à sftp, c'est à dire à ttes les commandes dispensées par sftp:
cd lcd chgrp chmod chown help get lls ln lmkdir lpwd ls lumask mkdir put exit quit rename rmdir rm symlink version !command ! ?

Le fichier de configuration est /etc/rssh.conf Remplaçons celui créé lors de l'installation:
Code:
# mv /etc/rssh.conf /etc/rssh.conf.old
# echo "logfacility = LOG_USER" > /etc/rssh.conf
# echo "allowsftp" >> /etc/rssh.conf
# echo "umask = 066" >> /etc/rssh.conf

III Création du chroot

Nous allons "chrooter" nos futurs utilisateurs du serveur sftp dans un dossier, nous nous servirons dans notre cas de /home/sftp:
Code:
#mkdir /home/sftp


L'intérêt est que ces utilisateurs verront /home/sftp comme racine, et ne pourront agir que dans celui-là (et uniquement avec les commandes fournies par sftp, étant donné qu'on leur donnera comme shell rssh).

--> copie des binaires et de leur dépendances

Il va donc falloir installer dans le chroot la commande sftp et ses dépendances.
On va, pour ce faire, utiliser le script copie_binaire:
copie_binaire a écrit:
#!/bin/bash
#il prend en argument le chemin absolu de la commande à copier ($1), et le chemin absolu du dossier où il faut la copier ($2)
install -D $1 $2$1 #copie de la commande dans le répertoire de destination (en y conservant l'arborescence)
for i in `ldd $1 | grep -o '/[^[:space:]]*'`; do #recherche des dépendances, et, pour chacune d'elles, n'en conserve que le chemin absolu (i)...
if [ ! -e $2$i ]; then install -D $i $2$i; fi #...puis la copie dans le dossier destination (tjs en conservant l'arborescence)
done

Ce script permet de copier un binaire et ses dépendances (et permet d'éviter de tout faire avec ldd et cp "à la main").
On le rend au préalable executable:
Code:
# chmod a+x ./copie_binaire

Copions donc sftp de la manière suivante:
Code:
#./copie_binaire /usr/bin/sftp /home/sftp

Voila, sftp et ses dépendances sont dans /home/sftp. Il faut en plus copier libnss-file.so.2:
Code:
#cp /lib/libnss_files.so.2 /home/sftp/lib

Excepté si vous êtes sur une lenny/i386 , il faut en plus copier /usr/lib/openssh/sftp-server dans le chroot (a faire donc si vous êtes sur lenny/amd64 ou squeeze):
Code:
# mkdir /home/sftp/usr/lib/openssh
# cp  /usr/lib/openssh/sftp-server /home/sftp/usr/lib/openssh/


--> création de /dev/null dans le chroot
Pour le bon fonctionnement de sftp, il est nécessaire d'avoir un dev/null dans le chroot:
Code:
# cd /home/sftp
# mkdir dev
#mknod dev/null c 1 3
Code:
#chmod 666 dev/null


--> Placer le setuid sur le rssh_chroot_helper
Code:
#chmod u+s /usr/lib/rssh/rssh_chroot_helper


--> Ajouter ligne chrootpath /home/sftp dans rssh.conf
Code:
# echo 'chrootpath = "/home/sftp"' >> /etc/rssh.conf


Bon, le chroot est prêt, ne manque plus que les clients...

IV Création des utilisateurs

--> Créons l'utilisateur machin, futur client de notre serveur (en n'oubliant pas de lui donner comme shell rssh)
Code:
#adduser machin --shell /usr/bin/rssh

On vous demande un mot de passe pour cet utilisateur, mettez-en un "béton", sinon tout ce qui est fait côté "sécu" ne sert à rien.

--> ajoutons cet utilisateur dans le fichier passwd du chroot
Code:
#mkdir /home/sftp/etc
#grep '^machin:' /etc/passwd >> /home/sftp/etc/passwd

--> et déclarons le comme utilisateur autorisé dans /etc/ssh/sshd_config:
Code:
#utilisateurs autorisés
AllowUsers machin

V Tests
Nous voilà presque prêt pour les tests. Il faut juste redémarrer sshd au préalable:
Code:
# /etc/init.d/ssh restart

1. en local

Testons tout ça directement sur le serveur:
sur lenny:
Code:
$ sftp -oPort=666 machin@localhost

sur squeeze:
Code:
$ sftp -P 666 machin@localhost


Après avoir entrer votre mot de passe, si tout va bien, vous devez avoir une invite de commande:
Code:
>


2. en réseau
sur lenny:
Code:
$ sftp -oPort=666 machin@IP_de_votre_serveur

sur squeeze:
Code:
$ sftp -P 666 machin@IP_de_votre_serveur


3. en cas de problèmes

- Vérifier la création du chroot (il manque peut être une librairie dans le chroot, vérification du passwd du chroot...)
- le port est-il ouvert sur le firewall ?
- les utilisateurs créés sont ils bien dans le passwd du chroot ?

VI Les logs

Comme le dit man sftp-server:

Citation:
For logging to work, sftp-server must be able to access /dev/log. Use of sftp-server in a chroot configuation therefore requires that syslogd (ou rsyslogd) (8)
establish a logging socket inside the chroot directory.

2 cas vont se présenter: ou vous avez syslog (lenny) pour gérer les logs, ou rsyslog (squeeze).

1. Syslog
Comme le dit man syslogd:

Citation:
-a socket: Using this argument you can specify additional sockets from that syslogd has to listen to.
This is needed if you're going to let some daemon run within a chroot() environment.

Conclusion: ajouter à /etc/defaut/syslog la ligne SYSLOGD="-a /home/sftp/dev" à /etc/defaut/syslog, puis redémarrer syslogd
Code:
#echo 'SYSLOGD="-a /home/sftp/dev"' >> /etc/defaut/syslog
#/etc/init.d/sysklogd restart


Bon, c'est bon, on va avoir des logs, mais ils seront plus lisibles, si on créé un fichier de log pour sftp. Pour cela, on édite /etc/ssh/sshd_config , pour y faire apparaître les lignes
Code:
# Logging
SyslogFacility LOCAL6
LogLevel INFO

(ça nous donnera les logs de sshd concernant les connexions )
et on rajoute -f LOCAL7 -l INFO à la ligne concernant le subsystem:
Code:
Subsystem sftp /usr/lib/openssh/sftp-server -f LOCAL7 -l INFO

(ça nous donnera les logs de sftp-server concernant les transferts de fichiers)
On redémarre ssh:
Code:
# /etc/init.d/ssh restart


Puis, éditer syslog.conf, pour y ajouter les lignes:
Code:
local7.info /var/log/sftp
local6.info /var/log/sshd

Puis on redémarre syslogd:
Code:
#/etc/init.d/sysklogd restart


2. rsyslog
C'est la même procédure que pour syslog, mais pas la même syntaxe:
Ajouter $AddUnixListenSocket /home/sftp/dev/log dans /etc/rsyslog.conf (et vérifier que $ModLoad imuxsock est décommenté au début du fichier, sinon, le décommenter).
Redémarrer rsyslog et vérifier qu'il a bien créé /dev/log dans le chroot:
Code:
#/etc/init.d/ryslogd restart
# ls -al /home/sftp/dev/log
srw-rw-rw- 1 root root 0  7 sept. 11:34 /home/sftp/dev/log

La suite de la procédure est identique au cas syslog:
Editer /etc/ssh/sshd_config , pour y faire apparaître les lignes
Code:
# Logging
SyslogFacility LOCAL6
LogLevel INFO

Rajouter -f LOCAL7 -l INFO à la ligne concernant le subsystem:
Code:
Subsystem sftp /usr/lib/openssh/sftp-server -f LOCAL7 -l INFO

Redémarrer sshd:
Code:
# /etc/init.d/sshd restart


Puis, éditer rsyslog.conf, pour y ajouter les lignes:
Code:
local7.info /var/log/sftp
local6.info /var/log/sshd

Puis on redémarre rsyslogd:
Code:
#/etc/init.d/ryslogd restart




3. Conclusion
Vous pouvez consulter les logs de transferts de fichiers dans /var/log/sftp, et les logs de connexions dans /var/log/sshd.

(Mes questions:
- dans certains tuto, il est dit de copier dans le chroot sftp-server. Cela marche très bien chez moi sans cela. Quid ?
- tjs à propos du chroot: j'ai mis mes utilisateurs dans certains groupes, et suivant les dossiers présents dans /home/sftp, ils ont ou non les droits. Tout se passe bien, mais je m'étonne de ne pas avoir eu à copier /etc/group dans le chroot.
)

_________________
fixe: Intel Core2Duo E7200 - 2 Go RAM - Nvidia 9500GT Silent - squeeze/sid (amd64) - kde 4.3
portable toshiba satellite pro 4600 (700 MHz 256 ram): debian Lenny Fluxbox
Netbook Samsung NC10: squeeze/sid - Xfce+compiz


Dernière édition par yanlolot le 20 Nov 2011 00:22, édité 38 fois.

Haut
 Profil  
 
MessagePosté: 18 Mai 2010 16:21 
Hors ligne
Très bavard(e)!
Avatar de l’utilisateur

Inscription: 09 Fév 2010 13:02
Messages: 286
woaw quel tuto, super pour moi.

_________________
Il faut toujours viser la lune car même en cas d'échec on atterit toujours au milieu des étoiles...


Haut
 Profil  
 
MessagePosté: 18 Mai 2010 16:56 
Hors ligne
Vraiment, particulièrement bavard(e)!
Avatar de l’utilisateur

Inscription: 13 Aoû 2006 00:06
Messages: 1261
Merci. Essaye le si tu as le temps. Ce tuto est la transcription de notes qui datent un peu (qques mois), et j'ai peut-être zappé qques trucs (même s'il me semble que non, mais on n'est jamais sûr de rien...).

_________________
fixe: Intel Core2Duo E7200 - 2 Go RAM - Nvidia 9500GT Silent - squeeze/sid (amd64) - kde 4.3
portable toshiba satellite pro 4600 (700 MHz 256 ram): debian Lenny Fluxbox
Netbook Samsung NC10: squeeze/sid - Xfce+compiz


Haut
 Profil  
 
MessagePosté: 18 Mai 2010 17:06 
Hors ligne
Très bavard(e)!
Avatar de l’utilisateur

Inscription: 09 Fév 2010 13:02
Messages: 286
yanlolot a écrit:
Merci. Essaye le si tu as le temps. Ce tuto est la transcription de notes qui datent un peu (qques mois), et j'ai peut-être zappé qques trucs (même s'il me semble que non, mais on n'est jamais sûr de rien...).



Que penses-tu de ce script.

viewtopic.php?f=1&t=27384

Ce n'est pas de moi.

_________________
Il faut toujours viser la lune car même en cas d'échec on atterit toujours au milieu des étoiles...


Haut
 Profil  
 
MessagePosté: 18 Mai 2010 20:00 
Hors ligne
Vraiment, particulièrement bavard(e)!
Avatar de l’utilisateur

Inscription: 28 Juil 2008 14:57
Messages: 1812
Localisation: Seine et Marne
À moins que ça aie changé depuis que j'ai essayé, tu dois indiquer dans rssh.conf que tu veux chrooter ! Soit (d'après http://www.trustonme.net/didactels/318.html) en ajoutant chrootpath=/chemin/vers/dossier, soit (d'après mon vieux script) en ajoutant une entrée par utilisateur indiquant le dossier de chroot.

Ceci expliquerait que tu n'aie pas eu besoin de copier sftp-server.
En revanche, comme je l'ai écrit quand j'ai publié le script, j'ai vu des tutos dans lesquels on copiait scp et sftp. Je n'ai pas eu besoin de le faire...

_________________
La propriété intellectuelle n'a d'intérêt que lorsqu'elle porte mal son nom.


Haut
 Profil  
 
MessagePosté: 18 Mai 2010 20:30 
Hors ligne
Vraiment, particulièrement bavard(e)!
Avatar de l’utilisateur

Inscription: 13 Aoû 2006 00:06
Messages: 1261
@kna: Pour scp, si je ne copie pas cette commande, c'est simplement dû au fait que je fais vraiment du ftp : mes utilisateurs (qui ont filezilla pour la plupart), ne se servent en fin de compte que de cd, get et put.
Après suivant l'usage de ce serveur, tu peux copier scp.
J'ai regardé ton script, et j'avais rencontré cette galère du /lib/libnss_files.so.2, qui effectivement n'apparait pas dans les dépendances de sftp.
C'est vrai que l'idée d'automatiser l'installation par un script est intéressante. Si tu dois faire plein d'install, c'est trés utile.
Le tuto de trustonme fait partie des tutos que j'ai consulté, mais dans celui-ci, nulle part il ne parle de /dev/null pour le chroot. Et sans ça, pas de ssh fonctionnel dans le chroot.

_________________
fixe: Intel Core2Duo E7200 - 2 Go RAM - Nvidia 9500GT Silent - squeeze/sid (amd64) - kde 4.3
portable toshiba satellite pro 4600 (700 MHz 256 ram): debian Lenny Fluxbox
Netbook Samsung NC10: squeeze/sid - Xfce+compiz


Haut
 Profil  
 
MessagePosté: 18 Mai 2010 20:45 
Hors ligne
Vraiment, particulièrement bavard(e)!
Avatar de l’utilisateur

Inscription: 13 Aoû 2006 00:06
Messages: 1261
@kna: je viens de relire ton script, et tu dis:
Citation:
Dans les différents tutos que j'ai lu, ils copiaient aussi scp et sftp (ainsi que leurs libs). Mais apparement pas besoin.

Tu veux dire que ta remarque pour sftp-server le serait aussi pour sftp: l'ajout de chroot-path permet aussi de ne pas copier sftp dans le chroot ?

[edit]: bah apparemment oui: pas besoin de copier sftp dans le chroot: j'ai renommé /home/sftp/usr/bin/sftp en /home/sftp/usr/bin/sftp.old, et le serveur fonctionne nickel. Bon, je modifierai le tuto si ça se confirme (pas le temps maintenant) [/edit]

_________________
fixe: Intel Core2Duo E7200 - 2 Go RAM - Nvidia 9500GT Silent - squeeze/sid (amd64) - kde 4.3
portable toshiba satellite pro 4600 (700 MHz 256 ram): debian Lenny Fluxbox
Netbook Samsung NC10: squeeze/sid - Xfce+compiz


Haut
 Profil  
 
MessagePosté: 18 Mai 2010 22:55 
Hors ligne
Vraiment, particulièrement bavard(e)!
Avatar de l’utilisateur

Inscription: 13 Aoû 2006 00:06
Messages: 1261
Alors, qques tests plus tard...
lorsqu'on utilise le script copie_binaire, il copie la commande, et ses dépendances. Apparemment, seul la copie des librairies dont dépend sftp est nécessaire (et pas sftp).
En faisant #./copie_binaire /usr/bin/sftp /home/sftp, on créé dans /home/sftp:
/home/sftp/usr (avec dans usr, les dossiers bin et lib)
/home/sftp/lib
Rmq: dans /home/sftp/usr n'apparaît que la commande sftp, et dans les autres les librairies dont dépend sftp.

Les tests:
mv /home/sftp/usr/bin /home/sftp/usr/bin.old --> serveur ok
mv /home/sftp/usr/lib /home/sftp/usr/lib.old --> serveur out
mv /home/sftp/lib /home/sftp/lib.old --> serveur out

Conclusion: seule la copie deslibrairies a l'air nécessaire.

Bon, c'est carrément empirique tout ça, ça demande plus de réflexions...

_________________
fixe: Intel Core2Duo E7200 - 2 Go RAM - Nvidia 9500GT Silent - squeeze/sid (amd64) - kde 4.3
portable toshiba satellite pro 4600 (700 MHz 256 ram): debian Lenny Fluxbox
Netbook Samsung NC10: squeeze/sid - Xfce+compiz


Haut
 Profil  
 
MessagePosté: 18 Mai 2010 23:24 
Hors ligne
Administrateur du forum
Avatar de l’utilisateur

Inscription: 15 Oct 2004 01:13
Messages: 19018
Localisation: Périgord
yanlolot a écrit:
...
Le fichier de configuration est /etc/rssh.conf Remplaçons celui créé lors de l'installation:
[code]# mv /etc/rssh.conf /etc/rssh.conf.old
# echo "logfacility = LOG_USER" > /etc/rssh.conf
# echo "allowsftp" >> /etc/rssh.conf
# echo "umask = 022" >> /etc/rssh.conf


022 ou 666 ?

yanlolot a écrit:
(Mes questions:
- dans certains tuto, il est dit de copier dans le chroot sftp-server. Cela marche très bien chez moi sans cela. Quid ?
- tjs à propos du chroot: j'ai mis mes utilisateurs dans certains groupes, et suivant les dossiers présents dans /home/sftp, ils ont ou non les droits. Tout se passe bien, mais je m'étonne de ne pas avoir eu à copier /etc/group dans le chroot.
)

Ben, quand il se connecte,le chrooté est déjà passé par la case /etc, sans le savoir et son pseudo est déjà connu comme faisant partie des groupes qui vont bien, non ?

Sinon, je trouve ce tuto très bien fait et je le testerai sitôt que possible.

_________________
"L'action est plus efficace que la polémique, mais plus rare."
"Pas de Droite, pas de Gauche mais "ailleurs et partout", "Franchouillard" et même pas honte !
Ricardo (1936-...)


Haut
 Profil  
 
MessagePosté: 19 Mai 2010 01:22 
Hors ligne
Vraiment, particulièrement bavard(e)!
Avatar de l’utilisateur

Inscription: 13 Aoû 2006 00:06
Messages: 1261
Salut Ricardo
T'as raison pour le umask, autant être plus restricif: umask=066 (et peut être mettre une petite explication dans le tuto).
Qt au chroot, j'ai encore du mal a bien comprendre le fonctionnement: pourquoi ne rapatrier que les librairies, et pas la commande elle-même ? Pourquoi ne pas rappatrier /etc/group ? J'imagine le chroot comme un espace indépendant, autonome, et donc, pour moi, il est nécessaire d'y rapatrier tout ce qu'il faut pour que ça marche. Et apparemment, dans le "tout ce qu'il faut", j'en mets de trop, et je ne comprends pas encore bien pourquoi.
Ricardo a écrit:
Sinon, je trouve ce tuto très bien fait et je le testerai sitôt que possible.

Tu sais que venant de toi ça me fait trés plaisir ça...si, si j't'assure ;) :grin:

[edit]Bon, dans la page de manuel de rssh, ils disent de lire le document CHROOT qui se trouve dans les soures de rssh. J'ai téléchargé ces sources, et commencé à lire ce doc. Ils redisent encore dedans:
CHROOT a écrit:
Presumably, rssh detected the scp and sftp-server binaries in those locations,
and will be looking for them in those locations, RELATIVE TO THE ROOT OF THE
CHROOT JAIL. So you will need to copy these files into the chroot jail:
# cp /usr/bin/scp /usr/chroot/usr/bin/scp
# cp /usr/libexec/openssh/sftp-server /usr/chroot/usr/libexec/openssh/sftp-server
# cp /usr/local/bin/rssh_chroot_helper /usr/chroot/usr/local/bin/rssh_chroot_helper

Ce que je ne fais pas dans le tuto...bizarre qd même non ? Bon, je vais lire ça avec plus d'attention, et je vous tiens au courant.[/edit]

_________________
fixe: Intel Core2Duo E7200 - 2 Go RAM - Nvidia 9500GT Silent - squeeze/sid (amd64) - kde 4.3
portable toshiba satellite pro 4600 (700 MHz 256 ram): debian Lenny Fluxbox
Netbook Samsung NC10: squeeze/sid - Xfce+compiz


Haut
 Profil  
 
MessagePosté: 19 Mai 2010 15:38 
Hors ligne
Administrateur du forum
Avatar de l’utilisateur

Inscription: 15 Oct 2004 01:13
Messages: 19018
Localisation: Périgord
yanlolot a écrit:
Ricardo a écrit:
Sinon, je trouve ce tuto très bien fait et je le testerai sitôt que possible.

Tu sais que venant de toi ça me fait trés plaisir ça...si, si j't'assure ;) :grin:

J'ai plein de défauts, mais je sais reconnaître la valeur d'une chose, même si celle-ci vient de quelqu'un avec lequel je peux avoir des différends pour d'autres raisons.
À mon avis, seuls les imbéciles sont bornés et mélangent les genres.
Or, j'ai une bien trop grande estime de moi-même pour me croire imbécile :mrgreen: :mrgreen: :mrgreen:

_________________
"L'action est plus efficace que la polémique, mais plus rare."
"Pas de Droite, pas de Gauche mais "ailleurs et partout", "Franchouillard" et même pas honte !
Ricardo (1936-...)


Haut
 Profil  
 
MessagePosté: 19 Mai 2010 21:13 
Hors ligne
Vraiment, particulièrement bavard(e)!
Avatar de l’utilisateur

Inscription: 13 Aoû 2006 00:06
Messages: 1261
Bon, j'ai apporté une correction au tuto: dans le II 1) conf de ssh: ajout de subsystem (je ne la mettais qu'en fin de tuto pour les logs).
Mes critiques sur mon tuto:
je suis convaincu que je n'effectue pas un véritable chroot des utilisateurs:
pour moi, avec un véritable chroot, non seulement les utilsateurs voient le répertoire "chrooté" (ici /home/sftp) comme racine (ça c'est ok), mais ttes les commandes qu'ils utilisent doivent être dans le chroot, et pas ailleurs (ça, c'est pas ok).
Lorsque je mets tout le nécessaire dans le chroot (commandes sftp, sftp-server et leurs dpdces...c'est ce qui est conseillé par les dev de rssh dans le doc CHROOT des sources de rssh), et que je renomme en .old ces mêmes commandes qui ne sont pas dans le chroot (histoire d'être sûr), je me fais envoyer promener par mon serveur (bon, ces temps ci, j'ai n pris l'habitude de me faire envoyer sur les roses :mrgreen: ). Je pense que c'est un pb de librairie que je n'ai pas rappatriée, je cherche encore...
Mais bon, pour l'instant ce tuto permet qd même d'avoir un sftp fonctionnel, mais un peu bancal je trouve...
A suivre...

[edit 1]Bon, voila où j'en suis:
je raptrie dans le chroot (avec les dpdces): sftp, sftp-server, rssh_chroot_helper, ssh.
indique à sshd où se trouve sftp-server: Subsystem sftp /home/sftp/usr/lib/openssh/sftp-server , redémarre sshd.
Je mets bien le setuid sur sftp-server et rssh_chroot_helper.
Je monte le nvx de log de sshd à debug,essaye le serveur: marche pô.Et voilà ce que me sort les logs de sshd:
/var/log/sftp_connexion a écrit:
May 19 16:05:06 bouzin sshd[12263]: Connection from 127.0.0.1 port 43809
May 19 16:05:06 bouzin sshd[12263]: Failed none for xxxxxx from 127.0.0.1 port 43809 ssh2
May 19 16:05:11 bouzin sshd[12263]: Accepted password for xxxxxx from 127.0.0.1 port 43809 ssh2
May 19 16:05:11 bouzin sshd[12263]: User child is on pid 12266
May 19 16:05:11 bouzin sshd[12266]: subsystem request for sftp
May 19 16:05:11 bouzin sshd[12266]: Connection closed by 127.0.0.1

May 19 16:05:11 bouzin sshd[12266]: Transferred: sent 1960, received 1424 bytes
May 19 16:05:11 bouzin sshd[12266]: Closing connection to 127.0.0.1 port 43809

le mot de passe est accepté, et dès que sshd appelle sftp-server, la connection est fermée.
C'est sftp-server qui m'emmer$%@## (ou une de ses dpdces).
[/edit]

[edit 2]Bon, ça avance un peu: un strace sur sftp-server m'a donné qques trucs qu'il ouvre et qui ne font pas partie de ces dépendances ex: /etc/nsswitch.conf. Y en a qques uns (pas des caisses) comme ça. Vais rappatrier ça dans le chroot, pour voir.
A suivre...[/edit]

[edit 3]Bon, bah ça a pas suffit...Je ferais le même truc pour sftp, etc...mais pas maintenant...[/edit]

_________________
fixe: Intel Core2Duo E7200 - 2 Go RAM - Nvidia 9500GT Silent - squeeze/sid (amd64) - kde 4.3
portable toshiba satellite pro 4600 (700 MHz 256 ram): debian Lenny Fluxbox
Netbook Samsung NC10: squeeze/sid - Xfce+compiz


Haut
 Profil  
 
MessagePosté: 07 Sep 2010 18:00 
Hors ligne
Vraiment, particulièrement bavard(e)!
Avatar de l’utilisateur

Inscription: 13 Aoû 2006 00:06
Messages: 1261
Juste qques mises à jours concernant squeeze:
- ajout d'une librairie indispensable dans le chroot: /usr/lib/openssh/sftp-server
- la gestion des log est passée de syslog (lenny) à rsyslog (squeeze), d'où quelques adaptations ...

_________________
fixe: Intel Core2Duo E7200 - 2 Go RAM - Nvidia 9500GT Silent - squeeze/sid (amd64) - kde 4.3
portable toshiba satellite pro 4600 (700 MHz 256 ram): debian Lenny Fluxbox
Netbook Samsung NC10: squeeze/sid - Xfce+compiz


Haut
 Profil  
 
MessagePosté: 06 Oct 2010 15:39 
Hors ligne

Inscription: 06 Oct 2010 15:32
Messages: 2
Bonjour,

J'ai réalisé ce tuto avec syslog-ng et j'ai un problème mes logs ont un décalage de deux heures.

J'utilise OpenNTPD pour le réglage de l'heure. Quand je fais un "date" tout est nickel. Mes logs "classiques" sont à la bonne heure.

Mais les logs du sftp sont décalés de deux heures...

Que faire ?

OS Debian Lenny


Haut
 Profil  
 
MessagePosté: 08 Oct 2010 11:34 
Hors ligne

Inscription: 06 Oct 2010 15:32
Messages: 2
J'ai trouvé il faut copier /etc/localtime dans le chroot /chroot/etc/localtime !


Haut
 Profil  
 
MessagePosté: 08 Oct 2010 12:42 
Hors ligne
Vraiment, particulièrement bavard(e)!
Avatar de l’utilisateur

Inscription: 12 Nov 2008 14:54
Messages: 2773
Merci beaucoup pour ce tuto, je profite de la réinstall" de ma sid pour utiliser ce procéder sftp

Il est préférable de suivre ton tuto sur le wiki peut être??


Haut
 Profil  
 
MessagePosté: 08 Oct 2010 13:25 
Hors ligne
Vraiment, particulièrement bavard(e)!
Avatar de l’utilisateur

Inscription: 13 Aoû 2006 00:06
Messages: 1261
@M3t4linux: non, il faut suivre ce tuto. Celui du wiki est plein de petites erreurs, pas à jour, et moins complet.
@Gervais: merci pour ta contribution. Je ne connaissais pas syslog-ng. Peux-tu indiquer ce que tu as dû faire pour avoir les logs avec syslog-ng (à part /etc/localtime dans le chroot /chroot/etc/localtime). Je le rajouterais dans le tuto (qd j'aurais le temps...)

_________________
fixe: Intel Core2Duo E7200 - 2 Go RAM - Nvidia 9500GT Silent - squeeze/sid (amd64) - kde 4.3
portable toshiba satellite pro 4600 (700 MHz 256 ram): debian Lenny Fluxbox
Netbook Samsung NC10: squeeze/sid - Xfce+compiz


Haut
 Profil  
 
MessagePosté: 04 Nov 2010 01:08 
Hors ligne
Vraiment, particulièrement bavard(e)!
Avatar de l’utilisateur

Inscription: 12 Nov 2008 14:54
Messages: 2773
Bon, j'ai suivis ton tuto est résultat : j'ai foutu man config' sid en l'air!!! :evil:

Voici ce que j'ai en prompt :

Citation:
0:02 @localhost ~%

Le user n'apparaît plus.

En tty, j'ai des messages d'erreurs notemment de fetchmail :
Citation:
0:02 @localhost ~% fetchmail
fetchmail: You don't exist. Go away.


Comment revenir en arrière??

J'ai dû planter les fichiers passwd et group peut être???

Déjà, j'ai dû renommer le passwd à partir d'un live CD
Il avait été renommé en passwd~

De l'aide svp :010


Haut
 Profil  
 
MessagePosté: 04 Nov 2010 01:20 
Hors ligne
Modérateur du forum
Avatar de l’utilisateur

Inscription: 18 Juil 2007 17:57
Messages: 6902
Localisation: Grenoble
Envoie nous le contenu de /etc/passwd.

_________________
Je suis Pitta, cartésien, irritable, irritant et névrosé (de plus je fais de l'entrisme pour zsh), si l'un de mes messages vous insupporte essayez d'y voir de l'ironie ou de ne pas en tenir compte. Bonne journée et gardez le sourire. :)


Haut
 Profil  
 
MessagePosté: 04 Nov 2010 01:27 
Hors ligne
Vraiment, particulièrement bavard(e)!
Avatar de l’utilisateur

Inscription: 12 Nov 2008 14:54
Messages: 2773
Citation:
root:x:0:0:root:/root:/bin/zsh
daemon:x:1:1:daemon:/usr/sbin:/bin/sh
bin:x:2:2:bin:/bin:/bin/sh
sys:x:3:3:sys:/dev:/bin/sh
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/bin/sh
man:x:6:12:man:/var/cache/man:/bin/sh
lp:x:7:7:lp:/var/spool/lpd:/bin/sh
mail:x:8:8:mail:/var/mail:/bin/sh
news:x:9:9:news:/var/spool/news:/bin/sh
uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh
proxy:x:13:13:proxy:/bin:/bin/sh
www-data:x:33:33:www-data:/var/www:/bin/sh
backup:x:34:34:backup:/var/backups:/bin/sh
list:x:38:38:Mailing List Manager:/var/list:/bin/sh
irc:x:39:39:ircd:/var/run/ircd:/bin/sh
gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh
nobody:x:65534:65534:nobody:/nonexistent:/bin/sh
libuuid:x:100:101::/var/lib/libuuid:/bin/sh
Debian-exim:x:101:103::/var/spool/exim4:/bin/false
statd:x:102:65534::/var/lib/nfs:/bin/false
genpashiro:x:1000:1000:genpashiro,,,:/home/genpashiro:/bin/zsh
messagebus:x:103:106::/var/run/dbus:/bin/false
gdm:x:105:108:Gnome Display Manager:/var/lib/gdm:/bin/false
usbmux:x:106:46:usbmux daemon,,,:/home/usbmux:/bin/false
haldaemon:x:107:109:Hardware abstraction layer,,,:/var/run/hald:/bin/false
logcheck:x:108:111:logcheck system account,,,:/var/lib/logcheck:/bin/false
fetchmail:x:104:65534::/var/lib/fetchmail:/bin/false
sshd:x:109:65534::/var/run/sshd:/usr/sbin/nologin
jerome:x:1001:1001::/home/jerome:/usr/bin/rssh


Mon login est genpashiro


Haut
 Profil  
 
MessagePosté: 04 Nov 2010 01:54 
Hors ligne
Vraiment, particulièrement bavard(e)!
Avatar de l’utilisateur

Inscription: 12 Nov 2008 14:54
Messages: 2773
J'ai vraiment du mal à comprendre où j'ai pu merder!!! :075

Quelle perte de temps, en plus je ne peux plus me servir de fetchmail/exim :013 :013

Bon, je verrais demain en espérant que rien n'est irréversible :017

Merci d'avance :006


Haut
 Profil  
 
MessagePosté: 04 Nov 2010 08:54 
Hors ligne
Modérateur du forum
Avatar de l’utilisateur

Inscription: 18 Juil 2007 17:57
Messages: 6902
Localisation: Grenoble
Il est quand même super drôle le message de fetchmail (hier j'étais fatigué je l'ai pas vu).

Vérifie qui tu es
Code:
whoami

_________________
Je suis Pitta, cartésien, irritable, irritant et névrosé (de plus je fais de l'entrisme pour zsh), si l'un de mes messages vous insupporte essayez d'y voir de l'ironie ou de ne pas en tenir compte. Bonne journée et gardez le sourire. :)


Haut
 Profil  
 
MessagePosté: 04 Nov 2010 20:19 
Hors ligne
Vraiment, particulièrement bavard(e)!
Avatar de l’utilisateur

Inscription: 12 Nov 2008 14:54
Messages: 2773
Personne apparemment :
Code:
whoami
whoami : impossible de trouver le nom de l'utilisateur ayant l'ID 1000


Et le /etc/passwd :
Code:
root:x:0:0:root:/root:/bin/zsh
daemon:x:1:1:daemon:/usr/sbin:/bin/sh
bin:x:2:2:bin:/bin:/bin/sh
sys:x:3:3:sys:/dev:/bin/sh
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/bin/sh
man:x:6:12:man:/var/cache/man:/bin/sh
lp:x:7:7:lp:/var/spool/lpd:/bin/sh
mail:x:8:8:mail:/var/mail:/bin/sh
news:x:9:9:news:/var/spool/news:/bin/sh
uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh
proxy:x:13:13:proxy:/bin:/bin/sh
www-data:x:33:33:www-data:/var/www:/bin/sh
backup:x:34:34:backup:/var/backups:/bin/sh
list:x:38:38:Mailing List Manager:/var/list:/bin/sh
irc:x:39:39:ircd:/var/run/ircd:/bin/sh
gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh
nobody:x:65534:65534:nobody:/nonexistent:/bin/sh
libuuid:x:100:101::/var/lib/libuuid:/bin/sh
Debian-exim:x:101:103::/var/spool/exim4:/bin/false
statd:x:102:65534::/var/lib/nfs:/bin/false

genpashiro:x:1000:1000:genpashiro,,,:/home/genpashiro:/bin/zsh
Code:
messagebus:x:103:106::/var/run/dbus:/bin/false
gdm:x:105:108:Gnome Display Manager:/var/lib/gdm:/bin/false
usbmux:x:106:46:usbmux daemon,,,:/home/usbmux:/bin/false
haldaemon:x:107:109:Hardware abstraction layer,,,:/var/run/hald:/bin/false
logcheck:x:108:111:logcheck system account,,,:/var/lib/logcheck:/bin/false
fetchmail:x:104:65534::/var/lib/fetchmail:/bin/false
sshd:x:109:65534::/var/run/sshd:/usr/sbin/nologin
jerome:x:1001:1001::/home/jerome:/usr/bin/rssh


Haut
 Profil  
 
MessagePosté: 04 Nov 2010 21:39 
Hors ligne
Vraiment, particulièrement bavard(e)!
Avatar de l’utilisateur

Inscription: 13 Aoû 2006 00:06
Messages: 1261
Citation:
Bon, j'ai suivis ton tuto est résultat : j'ai foutu man config' sid en l'air!!! :evil:

Toutes mes désols...
Bizarre ton truc, ça m'est pas encore arrivé. Et si tu refiles à jerome (jerome:x:1001:1001::/home/jerome:/usr/bin/rssh) un shell normal (/bin/bash ou autre), l'accepte-t-il , ce jerome , ton ordi ?

Citation:
Déjà, j'ai dû renommer le passwd à partir d'un live CD
Il avait été renommé en passwd~

J'me demande bien pourquoi ? Dans le tuto, il faut juste copier certaines entrées de /etc/passwd dans le passwd du chroot. Normalement, ton /etc/passwd ne bouge pas:
tuto a écrit:
--> ajoutons cet utilisateur dans le fichier passwd du chroot
Code:
#grep machin /etc/passwd >> /home/sftp/etc/passwd


PS: que donne ls -al /etc/passwd ? (-rw-r--r-- ou -rw-------, bon dans le 1er cas, moins bon dans le 2eme)

_________________
fixe: Intel Core2Duo E7200 - 2 Go RAM - Nvidia 9500GT Silent - squeeze/sid (amd64) - kde 4.3
portable toshiba satellite pro 4600 (700 MHz 256 ram): debian Lenny Fluxbox
Netbook Samsung NC10: squeeze/sid - Xfce+compiz


Haut
 Profil  
 
MessagePosté: 04 Nov 2010 22:42 
Hors ligne
Vraiment, particulièrement bavard(e)!
Avatar de l’utilisateur

Inscription: 12 Nov 2008 14:54
Messages: 2773
PARFAIT YANLOLOT!!!

Effectivement, il s'agissait d'un problème de droit...

Problème résolu avec un
Code:
#chmod 644 /etc/passwd


Il faut absolument que la vérification des droits d'un fichier soit un réflexe pour moi...

J'avais déjà ouvert un problème similaire aptitude-search-verouille-en-t29801.html

Bon, après je n'arrive pas à savoir à quel moment j'ai pu passer les droits 600 à ce fichier...
Aller, je met ça sur le compte de la fatigue!!!

Je continue ton tuto en tout cas, cette solution me plaît!


Haut
 Profil  
 
Afficher les messages postés depuis:  Trier par  
Poster un nouveau sujet Répondre au sujet  [ 110 messages ]  Aller à la page 1, 2, 3, 4, 5  Suivante

Index du forum » Forums d'aide » Trucs et Astuces


Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités


Vous ne pouvez pas poster de nouveaux sujets
Vous ne pouvez pas répondre aux sujets
Vous ne pouvez pas éditer vos messages
Vous ne pouvez pas supprimer vos messages
Vous ne pouvez pas joindre des fichiers

Aller à:  
Flux RSS Flux RSS Liste des flux Liste des flux
Powered by phpBB® Forum Software © phpBB Group
Traduction par: phpBB-fr.com
SEO
[ Time : 0.596s | 10 Queries | GZIP : Off ]