In questo tutorial tratteremo in modo specifico l'ambiente Debian Chroot. L'esecuzione di un sistema Linux all'interno di un ambiente chroot consente a un amministratore di sistema di ridurre l'impatto su un server di produzione quando il server viene compromesso.
Cambia root cambierà la directory root in tutti i processi attualmente in esecuzione e i suoi figli in una jail chroot. Il test di varie installazioni di pacchetti e configurazione del server in un ambiente con chroot può essere un altro modo pratico per utilizzare una jail chroot.
In questo tutorial, tratteremo le istruzioni passo passo per configurare chroot su Debian Linux. Le istruzioni funzioneranno anche per altri sistemi basati su Debian.
In questo tutorial imparerai:
- Come installare debootstrap
- Come configurare chroot su Debian Linux
- Come eseguire SSH in chroot jail
Categoria | Requisiti, convenzioni o versione del software utilizzata |
---|---|
Sistema | Debian Linux |
Software | debootstrap |
Altro | Accesso privilegiato al tuo sistema Linux come root o tramite sudo comando. |
Convenzioni | # – richiede che i comandi linux dati vengano eseguiti con i privilegi di root direttamente come utente root o usando sudo comando$ – richiede che i comandi linux dati vengano eseguiti come un normale utente non privilegiato |
Installa debootstrap
La prima cosa che dovremo fare è installare il debootstrap pacchetto su Debian. Questo software ci permetterà di creare un ambiente chroot. Utilizzare il comando seguente per installare il pacchetto con il gestore di pacchetti di Debian.
$ sudo apt update $ sudo apt install debootstrap
Installa l'ambiente chroot
Ora è il momento di installare l'ambiente chroot. Segui i passaggi seguenti per configurarlo.
- Per prima cosa, crea una directory in cui desideri che risieda l'ambiente chroot. Lo terremo semplice e andremo con
/mnt/chroot
in questo tutorial.$ sudo mkdir -p /mnt/chroot
- Una volta che la tua nuova directory chroot è pronta, useremo debootstrap per installare i nuovi file di sistema Debian all'interno dell'ambiente chroot. L'installazione potrebbe richiedere del tempo poiché debootstrap dovrà scaricare e installare i pacchetti principali.
$ sudo debootstrap stable /mnt/chroot http://deb.debian.org/debian/
Vedrai molto output nel tuo terminale, ma dovrebbe concludersi con il testo "I:Sistema di base installato correttamente", il che significa che è terminato.
- Infine, connetti il tuo sistema host proc con l'ambiente chroot montando all'interno della directory chroot. Ciò consente a chroot di accedere all'hardware del tuo sistema host.
$ sudo mount -t proc proc /mnt/chroot/proc $ sudo mount -t devpts devpts /mnt/chroot/dev/pts
Configurazione Chrome Debian
Ora siamo pronti per accedere a chroot ed eseguire alcune configurazioni di base. Per evitare confusione tra l'host e l'ambiente chroot, possiamo cambiare la variabile PS1 di root in un prompt della shell in chroot#
. Questo passaggio è facoltativo ma consigliato.
- Per prima cosa, accedi a chroot.
$ sudo chroot /mnt/chroot /bin/bash --login
- Esegui il seguente comando Linux per modificare in modo permanente il prompt della shell di root ed esci.
# echo 'PS1="chroot:\w# "' >> ~/.bashrc # exit
- La prossima volta che entrerai nell'ambiente chroot, avrai un nuovo prompt della shell.
# chroot /mnt/chroot /bin/bash --login
- Successivamente installeremo e riconfigurare le localizzazioni.
chroot:/# apt install locales
- Ora riconfigura le tue localizzazioni e seleziona le tue dal menu.
chroot:/# dpkg-reconfigure locales
Installa il demone ssh di chroot
Ora siamo pronti per installare qualsiasi servizio all'interno dell'ambiente chroot. Iniziamo con ssh poiché questo ci consentirà di accedere a chroot utilizzando la connessione ssh da LAN o WAN.
- Installa il server SSH con il seguente comando.
chroot:/# apt install ssh
- Configura il servizio ssh con chroot in ascolto su una porta diversa da 22, poiché molto probabilmente è già occupato dal tuo sistema host.
chroot:/# nano /etc/ssh/sshd_config
- E cambia riga
#Port 22
, aggiungendo anche una riga per aggiungere accessi root remoti:Port 2222 PermitRootLogin yes
- Riavvia il servizio SSH per rendere effettive le modifiche.
chroot:/# /etc/init.d/ssh restart Restarting OpenBSD Secure Shell server: sshd.
- Infine, cambia la password per il tuo utente root con chroot:
chroot:/# passwd
Accedi in remoto a chroot
Se tutto è andato bene, ora dovremmo essere in grado di accedere al nuovo ambiente chroot usando ssh:
$ ssh root@localhost -p 2222
Perfeziona il chroot
Il demone chroot ssh non si avvierà automaticamente all'accensione del sistema operativo host. Pertanto, crea un semplice script di shell per eseguire tale attività:
#!/bin/bash mount -t devpts devpts /mnt/chroot/dev/pts mount -t proc proc /mnt/chroot/proc chroot /mnt/chroot /etc/init.d/ssh start
E come ultimo passaggio, crea un collegamento simbolico a /etc/rc2.d/
:
# ln -s /etc/init.d/chroot.sh /etc/rc2.d/S98chroot
Ora dovresti avere un ambiente chroot completamente funzionante. Sentiti libero di esplorare e installare servizi aggiuntivi.
Pensieri conclusivi
In questo tutorial, abbiamo visto come installare un ambiente chroot debian. Abbiamo anche imparato come accedere all'ambiente chroot tramite SSH, il che semplifica la gestione e l'installazione dei pacchetti per i test. Avere un ambiente chroot è un ottimo modo per testare il software e tenerlo separato dal sistema operativo host.