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