Sicurezza

Come configurare le jail di Chroot di Linux

Come configurare le jail di Chroot di Linux
Soprattutto quelli dedicati ai servizi critici, i sistemi Linux richiedono conoscenze di livello esperto con cui lavorare e misure di sicurezza fondamentali.

Sfortunatamente, anche dopo aver adottato misure di sicurezza cruciali, le vulnerabilità della sicurezza trovano ancora la loro strada nei sistemi sicuri. Un modo per gestire e proteggere il sistema è limitare i danni possibili una volta che si verifica un attacco.

In questo tutorial, discuteremo il processo di utilizzo di chroot jail per gestire i danni al sistema in caso di attacco. Vedremo come isolare processi e sottoprocessi in un particolare ambiente con falsi privilegi di root. In questo modo si limiterà il processo a una directory specifica e si negherà l'accesso ad altre aree del sistema.

Una breve introduzione al chroot jail

Una chroot jail è un metodo per isolare i processi e i loro sottoprocessi dal sistema principale utilizzando falsi privilegi di root.

Come accennato, isolare un particolare processo utilizzando i privilegi di root fasulli limita i danni in caso di attacco dannoso. I servizi chroot sono limitati alle directory e ai file all'interno delle loro directory e non sono persistenti al riavvio del servizio.

Perché usare chroot jail?

Lo scopo principale di chroot jail è come misura di sicurezza. Chroot è utile anche quando si recuperano le password perse montando dispositivi da supporti live.

Ci sono vari vantaggi e svantaggi nell'impostare chroot jail. Questi includono:

Vantaggi

Svantaggi

Come creare una prigione di Chroot di base

In questo processo, creeremo un jail chroot di base con 3 comandi limitati a quella cartella. Questo aiuterà a illustrare come creare una jail e assegnare vari comandi.

Inizia creando una cartella principale. Puoi pensare a questa cartella come alla cartella / nel sistema principale. Il nome della cartella può essere qualsiasi cosa. Nel nostro caso, lo chiamiamo /chrootjail

sudo mkdir /chrootjail

Useremo questa directory come fake root contenente i comandi che le assegneremo. Con i comandi che useremo, avremo bisogno della directory bin (contiene gli eseguibili dei comandi) e di, etc., directory (contenente i file di configurazione per i comandi).

All'interno della cartella /chrootjail, crea queste due cartelle:

sudo mkdir /chrootjail/etc,bin

Il prossimo passo è creare directory per librerie collegate dinamicamente per i comandi che vogliamo includere nel jail. Per questo esempio, useremo i comandi bash, ls e grep.

Usa il comando ldd per elencare le dipendenze di questi comandi, come mostrato di seguito:

sudo ldd /bin/bash /bin/ls /bin/grep

Se non sei all'interno della cartella bin, devi passare il percorso completo per i comandi che desideri utilizzare. Ad esempio, ldd /bin/bash o ldd /bin/grep

Dall'output ldd sopra, abbiamo bisogno delle directory lib64 e /lib/x86_64-linux-gnu. All'interno della directory jail, crea queste cartelle.

sudo mkdir -p /chrootjaillib/x86_64-linux-gnu, lib64

Una volta create le directory della libreria dinamica, possiamo elencarle utilizzando un albero, come mostrato di seguito:

Man mano che avanzi, inizierai ad avere un'immagine chiara di cosa significa una prigione chroot.

Stiamo creando un ambiente simile a una normale directory principale di un sistema Linux. La differenza è che, all'interno di questo ambiente, sono consentiti solo comandi specifici e l'accesso è limitato.

Ora che abbiamo creato il cestino. eccetera., lib e lib64, possiamo aggiungere i file richiesti nelle rispettive directory.

Cominciamo con i binari.

sudo cp /bin/bash /chrootjail/bin && sudo cp /bin/ls /chrootjail/bin && sudo cp /bin/grep /chrootjail/bin

Dopo aver copiato i binari per i comandi di cui abbiamo bisogno, richiediamo le librerie per ogni comando. Puoi usare il comando ldd per visualizzare i file da copiare.

Cominciamo con bash. Per bash, abbiamo bisogno delle seguenti librerie:

/lib/x86_64-linux-gnu/libtinfo.così.6
/lib/x86_64-linux-gnu/libdl.così.2
/lib/x86_64-linux-gnu/libc.così.6
/lib64/ld-linux-x86-64.così.2

Invece di copiare tutti questi file uno per uno, possiamo usare un semplice ciclo for per copiare ogni libreria in tutte le librerie in /chrootjail/lib/x86_64-linux-gnu

Ripetiamo questo processo sia per il comando ls che per il comando grep:

Per il comando ls:

Per il comando grep:

Successivamente, all'interno della directory lib64, abbiamo una libreria condivisa tra tutti i binari. Possiamo semplicemente copiarlo usando un semplice comando cp:

Successivamente, modifichiamo il file di accesso principale di bash (che si trova in /etc/bash.bashrc in Debian) in modo da poter modificare il prompt bash a nostro piacimento. Usando un semplice echo e i comandi tee come mostrato:

sudo echo 'PS1="CHROOTJAIL #"' | sudo tee /chrootjail/etc/bash.bashrc

Una volta completati tutti i passaggi precedenti, possiamo accedere all'ambiente jail utilizzando il comando chroot come mostrato.

sudo chroot /chrootjail /bin/bash

Otterrai i privilegi di root con il prompt simile a quelli creati nel comando echo e tee sopra.

Una volta effettuato l'accesso, vedrai che hai accesso solo ai comandi che hai incluso quando hai creato il jail. Se hai bisogno di più comandi, devi aggiungerli manualmente.

NOTA: Poiché hai incluso la shell bash, avrai accesso a tutti i comandi incorporati di bash. Ciò ti consente di uscire dalla prigione usando il comando exit.

Conclusione

Questo tutorial ha spiegato cos'è chroot jail e come possiamo usarlo per creare un ambiente isolato dal sistema principale. È possibile utilizzare le tecniche discusse nella guida can per creare ambienti isolati per servizi critici.

Per mettere in pratica ciò che hai imparato, prova a creare un jail di apache2.

SUGGERIMENTO: Inizia creando una directory root, aggiungi i file di configurazione (etc/apache2), aggiungi la document root (/var/www/html), aggiungi il binario (/usr/sbin/apache2) e infine aggiungi le librerie richieste (ldd / usr/sbin/apache2)

Il pulsante centrale del mouse non funziona in Windows 10
Il tasto centrale del mouse ti aiuta a scorrere lunghe pagine web e schermate con molti dati. Se si ferma, finirai per usare la tastiera per lo scorri...
Come cambiare i pulsanti sinistro e destro del mouse su PC Windows 10
È abbastanza normale che tutti i mouse dei computer siano progettati ergonomicamente per gli utenti destrimani. Ma sono disponibili dispositivi mouse ...
Emula i clic del mouse passando il mouse utilizzando il mouse senza clic in Windows 10
L'uso di un mouse o di una tastiera nella postura sbagliata di un uso eccessivo può causare molti problemi di salute, tra cui tensione, sindrome del t...