Avanti Indietro Indice

1. Introduzione

Questo è il Chroot-BIND HOWTO; controllate la sezione Dove? per il sito principale, che contiene la copia più aggiornata disponibile. Si assume che sappiate già usare e configurare BIND (Berkeley Internet Name Domain). In caso contrario vi consiglio di leggere prima il DNS HOWTO. Si assume anche che abbiate una certa familiarità con compilazione ed installazione di software sul vostro sistema UNIX-like.

1.1 Cosa?

Questo documento descrive alcune precauzioni supplementari da prendere quando si installa BIND; spiega come configurarlo in modo che venga eseguito in una "gabbia" creata con chroot e che quindi non possa accedere a nessun file al di fuori del suo piccolo albero di directory. Inoltre lo configureremo per farlo girare senza i privilegi di root.

L'idea dietro al programma chroot è piuttosto semplice: quando si esegue BIND (o qualunque altro processo) in una gabbia chroot, il processo diventa incapace di vedere la parte di filesystem esterna alla sua gabbia. Per esempio, in questo documento configureremo BIND affinché giri confinato nella directory /chroot/named. Bene, a BIND il contenuto di questa directory apparirà come /, la directory radice, e non potrà accedere a nient'altro fuori da questa. Probabilmente avete già incontrato gabbie chroot prima d'ora se avete usato ftp per accedere ad un sistema pubblico.

Dato che il processo di chroot è molto più semplice con BIND 9 ho iniziato ad ampliare leggermente questo documento aggiungendo alcuni consigli generali su come rendere più sicura un'installazione di BIND. Ciononostante questa non è (e non vuole essere) una guida completa su come rendere sicuro BIND: fare quello che è consigliato qui non esaurisce affatto la lista delle cose da fare per avere un nameserver sicuro!

1.2 Perché?

L'idea che sta alla base dell'usare un ambiente chroot per eseguire BIND è di limitare l'accesso che un possibile intruso può guadagnare sfruttando eventuali vulnerabilità di BIND. È per la stessa ragione per cui eseguiremo BIND senza i privilegi di root.

Questo dovrebbe essere considerato solo un supplemento alle normali precauzioni di sicurezza (utilizzare la versione più recente, controllare gli accessi, ecc...), non certo come alternativa ad esse.

Se vi interessa la sicurezza dei DNS allora probabilmente vi interesserà anche qualche altro documento in proposito. Compilare BIND con StackGuard è con ogni probabilità una buona idea per avere un ulteriore livello di sicurezza. Usarlo è facile, né più né meno che usare il normale gcc. Inoltre, DNScache è un sostituto sicuro per BIND scritto da Dan Bernstein. Dan è anche l'autore di qmail, e DNScache sembra seguire una filosofia simile.

1.3 Dove?

La versione più recente di questo documento è sempre disponibile sul sito web degli Utenti Linux/Open Source di Regina, Sask., su http://www.losurs.org/docs/howto/Chroot-BIND.html.

C'è una traduzione in giapponese di questo documento, mantenuta da Nakano Takeo nakano at apm.seikei.ac.jp. La si può reperire su http://www.linux.or.jp/JF/JFdocs/Chroot-BIND-HOWTO.html.

[NdT: in italiano il documento è reperibile su http://ildp.pluto.linux.it/HOWTO/Chroot-BIND-HOWTO.html]

BIND è disponibile presso l' Internet Software Consortium su http://www.isc.org/bind.html. Mentre scrivo, la versione corrente di BIND 9 è la 9.2.0. BIND 9 è in giro da un po' di tempo ormai e molta gente lo usa su server di produzione. Tuttavia, alcuni conservatori preferiscono restare con BIND 8: se siete fra questi allora leggete il mio Chroot-BIND8 HOWTO (disponibile nello stesso sito) per i dettagli sul chroot, ma tenete presente che con BIND 8 è molto più difficile.

Ricordate che ci sono note falle di sicurezza in molte delle precedenti versioni di BIND, perciò assicuratevi di avere sempre installata la versione più recente!

1.4 Come?

Ho scritto questo documento basandomi sulla mia esperienza nel configurare BIND in un ambiente chroot. Nel mio caso avevo già un'installazione di BIND preesistente da un pacchetto di una distribuzione Linux. Assumerò che la maggior parte di voi sia presumibilmente nella stessa situazione e perciò descriverò solo come spostare e modificare i file di configurazione dalla vostra installazione esistente di BIND e come rimuovere il pacchetto prima di installare quello nuovo. Non disinstallatelo ora, però: ci possono servire alcuni dei suoi file, prima.

Se invece questo non è il vostro caso, dovreste comunque essere in grado di seguire questo documento: la sola differenza sarà che dove io dico di copiare un file esistente voi dovrete crearlo da soli. A questo scopo vi potrà tornare utile il DNS HOWTO.

1.5 Liberatoria

Questa procedura ha funzionato per me, sul mio computer: il vostro caso potrebbe essere diverso. Questo è solo uno dei tanti modi di fare la stessa cosa; ce ne sono altri che portano allo stesso risultato (sebbene l'approccio generale sia lo stesso). Questo è semplicemente il primo modo che ho trovato per far funzionare la cosa e così ho scritto questo modo e non un altro.

Fino ad oggi la mia esperienza con BIND è stata la sua installazione sui server Linux. Comunque quasi tutte le istruzioni in questo HOWTO dovrebbero funzionare facilmente su altri tipi di UNIX, e cercherò di esporre le differenze di cui sono a conoscenza. Ho anche ricevuto dei suggerimenti da gente che usa altre distribuzioni ed altre piattaforme ed ho cercato di incorporarli qui dove possibile.

Se avete Linux dovete assicurarvi di avere una versione del kernel 2.4 o superiore prima di cominciare. Lo switch -u (per eseguire processi senza i privilegi di root) esiste solo da questa versione in poi.


Avanti Indietro Indice