Administrators, autoreview, Vérificateurs d’utilisateurs, checkuser-log, editor, reviewer, usersnoop
3 321
modifications
(→syslog) |
mAucun résumé des modifications |
||
Ligne 10 : | Ligne 10 : | ||
On va tout simplement les installer avec aptitude, qui s'occupera d'installer les dépendances : | On va tout simplement les installer avec aptitude, qui s'occupera d'installer les dépendances : | ||
#aptitude install openssh-server rssh | # aptitude install openssh-server rssh | ||
=== Configuration du serveur ssh === | === Configuration du serveur ssh === | ||
Ligne 76 : | Ligne 76 : | ||
Nous allons "chrooter" nos futurs utilisateurs du serveur sftp dans un dossier, nous nous servirons dans notre cas de /home/sftp:<br> | Nous allons "chrooter" nos futurs utilisateurs du serveur sftp dans un dossier, nous nous servirons dans notre cas de /home/sftp:<br> | ||
#mkdir /home/sftp | # 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).<br> | 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).<br> | ||
Ligne 84 : | Ligne 84 : | ||
Il va donc falloir installer dans le chroot la commande sftp et ses dépendances, ainsi que sftp-server.<br> On va, pour ce faire, utiliser le script copie_binaire : | Il va donc falloir installer dans le chroot la commande sftp et ses dépendances, ainsi que sftp-server.<br> On va, pour ce faire, utiliser le script copie_binaire : | ||
<code bash> | |||
#!/bin/bash | |||
install -D $1 $2$1 | |||
for i in `ldd $1 | grep -o '/[^[:space:]]*'`; do | |||
if [ ! -e $2$i ]; then install -D $i $2$i; fi | |||
done | |||
</code> | |||
Ce script permet de copier un binaire et ses dépendances (et permet d'éviter de tout faire avec ldd et cp "à la main").<br> | Ce script permet de copier un binaire et ses dépendances (et permet d'éviter de tout faire avec ldd et cp "à la main").<br> | ||
Ligne 97 : | Ligne 99 : | ||
Copions donc sftp et ses dépendances de la manière suivante : | Copions donc sftp et ses dépendances de la manière suivante : | ||
#./copie_binaire /usr/bin/sftp /home/sftp | # ./copie_binaire /usr/bin/sftp /home/sftp | ||
Voilà, sftp et ses dépendances sont dans /home/sftp (plus précisément dans /home/sftp/usr et /home/sftp/lib).<br> | Voilà, sftp et ses dépendances sont dans /home/sftp (plus précisément dans /home/sftp/usr et /home/sftp/lib).<br> | ||
Il faut en plus copier libnss-file.so.2 : | Il faut en plus copier libnss-file.so.2 : | ||
#cp /lib/ | # 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): | 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): | ||
Ligne 113 : | Ligne 115 : | ||
Pour le bon fonctionnement de sftp, il est nécessaire d'avoir un dev/null dans le chroot : | Pour le bon fonctionnement de sftp, il est nécessaire d'avoir un dev/null dans le chroot : | ||
#mknod dev/null c 1 3 chmod 666 dev/null | # cd /home/sftp | ||
# mkdir dev | |||
# mknod dev/null c 1 3 | |||
# chmod 666 dev/null | |||
* Placer le setuid sur le rssh_chroot_helper | * Placer le setuid sur le rssh_chroot_helper | ||
#chmod u+s /usr/lib/rssh/rssh_chroot_helper | # chmod u+s /usr/lib/rssh/rssh_chroot_helper | ||
* Ajouter ligne chrootpath /home/sftp dans rssh.conf | * Ajouter ligne chrootpath /home/sftp dans rssh.conf | ||
# echo 'chrootpath = "/home/sftp"' | # echo 'chrootpath = "/home/sftp"' >> /etc/rssh.conf | ||
Bon, le chroot est prêt, ne manquent plus que les clients... | Bon, le chroot est prêt, ne manquent plus que les clients... | ||
Ligne 129 : | Ligne 134 : | ||
* créons l'utilisateur machin, futur client de notre serveur (en n'oubliant pas de lui donner comme shell rssh) | * créons l'utilisateur machin, futur client de notre serveur (en n'oubliant pas de lui donner comme shell rssh) | ||
#adduser machin --shell /usr/bin/rssh | # 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. | 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. | ||
Ligne 135 : | Ligne 140 : | ||
* ajoutons cet utilisateur dans le fichier passwd du chroot | * ajoutons cet utilisateur dans le fichier passwd du chroot | ||
#mkdir /home/sftp/etc | # mkdir /home/sftp/etc | ||
#grep '^machin:' /etc/passwd >> /home/sftp/etc/passwd | # grep '^machin:' /etc/passwd >> /home/sftp/etc/passwd | ||
* Déclarons le comme utilisateur autorisé dans /etc/ssh/sshd_config: | * Déclarons le comme utilisateur autorisé dans /etc/ssh/sshd_config: |
modifications