Innanzitutto due parole sul chroot. Attivare il chroot su una connessione ssh, significa costringere un utente a restare all’intero della sua home directory senza porter andare a “spasso” sul server.
In pratica viene creato un ambiente contenente le librerie ed i programmi necessari all’utente, che sarà limitato ad operazioni solo all’interno di questo ambiente.
Dalla versione 4.8 di openssh è possibile attivare questa funzionalità sfruttando una direttiva interna chiamata ChrootDirectory.
Ipotizziamo di avere un utente chiamato test (gruppo test) per cui vogliamo attivare il chroot. Basta modificare il file /etc/ssh/sshd_config, aggiungendo:
|
1 2 |
Match User test ChrootDirectory /home/%u |
e poi riavviare il server ssh con:
/etc/init.d/ssh reload
Per attivare anche sftp sempre per l’utente test (gruppo test), bisogna inserire in /etc/ssh/sshd_config:
|
1 2 3 4 5 6 |
Subsystem sftp /usr/lib/openssh/sftp-server Match User test ChrootDirectory /home/%u AllowTCPForwarding no X11Forwarding no ForceCommand /usr/lib/openssh/sftp-server |
A questo punto bisogna inserire nella root directory dell’utente i necessari files per far funzionare il chroot. Piuttosto che fare l’operazione a mano, vi segnalo un semplice script chiamato ssh-scp-sftp-chroot-jail che consente di automatizzare questo processo, che altrimenti avremmo dovuto fare manualmente, cercando le librerie necessarie alla bash (con il comando ldd /bin/bash) e creare alcuni devices (es. /dev/null con mknod).
Scarichiamo lo script:
|
1 2 3 |
cd /usr/local/sbin wget http://www.fuschlberger.net/programs/ssh-scp-sftp-chroot-jail/make_chroot_jail.sh chmod 700 /usr/local/sbin/make_chroot_jail.sh |
ed utilizziamolo:
|
1 |
make_chroot_jail.sh <strong>test</strong> /bin/bash /home/<strong>test</strong> |
dove test sarà chiaramente l’utente per cui attivare il chroot
Attenzione: è buona norma modificare i permessi a 700 della home directory dell’utente per cui si è attivato il chroot .
Nota: nel caso sia necessario gestire opzioni particolari (es transfer rate in upload/download, limitare il numero di connessioni massime e per IP) vi consiglio di visionare http://mysecureshell.sourceforge.net/
Ti interessa acquistare un dominio a prezzi ultraconvenienti? clicca qui
Se hai trovato utili le informazioni su questo blog,
Fai una donazione!
Clicca sul bottone qui sotto o almeno clicca sul banner pubblicitario 🙂
Commenta