Questo articolo ti insegnerà come impostare una prigione chroot su Debian. Presumo che tu stia usando Debian 7.x. Se stai usando Debian 6 o 8, questo potrebbe funzionare, ma tieni presente che non ho testato altre versioni di Debian.
Accedi al tuo VPS come utente root. Puoi anche eseguire i comandi con sudo.
Passaggio 1: installazione delle dipendenze
Per iniziare, dovrai eseguire i seguenti comandi per l'installazione, che verranno spiegati in seguito.
apt-get install binutils debootstrap
Dovrai anche scegliere un posto per impostare il chroot. Per questo articolo, useremo la /var/chroot
directory.
Passaggio 2: creazione delle directory richieste
Crea la cartella chroot.
mkdir -p /var/chroot
Grande! I passaggi preliminari sono stati completati. Ora rendiamo utile il chroot.
Passaggio 3 Copia su comandi e relative dipendenze
Abbiamo bisogno di un interprete di comandi, quindi copiamo bash.
mkdir -p /var/chroot/bin
cp /bin/bash /var/chroot/bin
Ogni programma ha le sue dipendenze e bash è una di queste. Dai un'occhiata eseguendo:
ldd /bin/bash
Dovrebbe apparire così se stai eseguendo una versione a 32 bit:
linux-gate.so.1 => (0xb773e000)
libtinfo.so.5 => /lib/i386-linux-gnu/libtinfo.so.5 (0xb7718000)
libdl.so.2 => /lib/i386-linux-gnu/libdl.so.2 (0xb7714000)
libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xb75c3000)
/lib/ld-linux.so.2 (0xb773f000)
Copiamo questi file sopra. Se vedi dipendenze diverse, copia semplicemente il percorso dopo la =>
parte.
mkdir -p /var/chroot/lib
mkdir -p /var/chroot/lib/i386-linux-gnu
cp /lib/i386-linux-gnu/libtinfo.so.5 /var/chroot/lib/i386-linux-gnu
cp /lib/i386-linux-gnu/libdl.so.2 /var/chroot/lib/i386-linux-gnu
cp /lib/i386-linux-gnu/libc.so.6 /var/chroot/lib/i386-linux-gnu
Passaggio 4: test dell'ambiente
Ora che abbiamo setup bash - proviamolo.
chroot /var/chroot
L'interprete dei comandi bash si aprirà, ma non ci saranno altri comandi da eseguire. Questo perché non abbiamo copiato nessun altro programma nella cartella chroot. Se vuoi più comandi, digita exit
e ripeti il passaggio 3.
Questo è tutto ciò che serve. Ora hai un chroot di base impostato. Puoi testare i comandi, imprigionare i tuoi utenti, ecc.
Se vuoi il networking in chroot, dovrai eseguire i seguenti comandi
mkdir -p /var/chroot/etc
cp /etc/resolv.conf /var/chroot/etc
cp /etc/gai.conf /var/chroot/etc