chroot e debootstrap
chroot permette di ridefinire la root directory di una sessione di login o di un programma.
debootstrap permette di installare debian in un sistema senza disco di installazione ma anche di creare in modo molto semplice degli ambienti chroot.
L'utilizzo di questi due programmi permette in modo relativamente semplice di mettere in produzione dei servizi sicuri limitando i danni in caso di intrusione.
Questa realizzazione è stata fatta usando una Lenny (allo stato freeze) in cui e' stata installata una etch.
La macchina su cui è stata installata lenny è un vecchio server Compaq Proliant  ML350 con 2 dischi da 36 GB che in seguito è stata usata per mettere in produzione un server ftp, uno dei due dischi è pertanto diventato l'ambiente chroot e durante il setup è stato creato un mount point /jail, al solito ha il nome di una nave della flotta della Marina Italiana e si chiama grecale.
Una volta installati col solito apt-get install  coreutils per chroot e debootstrap per debootstrap, con il comando
grecale:/#debootstrap etch /jail 
andiamo a installare un sistema minimale nella directory assegnata che in questo caso coincide con l'intero disco sdb.
va modificato il file /etc/fstab con  echo proc-etch /jail/proc proc none 0 0 >> /etc/fstab o con vim o chi per esso.
A questo punto possiamo montare la nostra macchina etch con un mount /jail/proc
Configuriamo un minimo di networking nel sistema chroot con un
grecale:/#echo 127.0.0.1 localhost $(hostname) > /jail/etc/hosts
configuriamo le fonti per apt in /jail/etc/apt/sources.list per poter successivamente instalalre i pacchetti che ci serviranno Io ho messo i repository non free di fastweb.
Entriamo nel vero e proprio chroot con un
grecale:/#chroot /jail
quindi:
grecale:/#apt-get update
grecale:/#apt-get upgrade
a questo punto abbiamo un chroot di etch aggiornato e perfettamente funzionante.
Nota a margine
ovviamente con questo sistema al primo reboot della macchina il/i servizi/o che girano chrootati non saranno più disponibili quindi bisogna mettere in avvio di macchina un "qualcosa" che li faccia partire nello specifico ho risolto con questo script chroot_start messo nella /etc/init.d superiore cioè non chrootata che provvede a entrare nella chroot e a chiamare un altro script (jail) nell'ambiente chroot che a sua volta alza i/il  servizi/o che serve


Prev
Home
Next