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 chmod700/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