24.7 BIND9 e FreeBSD

Scritto daTom Rhodes.

La release di FreeBSD 5.3 porta con sè il software BIND9 DNS nella distribuzione. Nuove caratteristiche di sicurezza, una nuova disposizione del file system e la configurazione automatica di chroot(8) sono; arrivate con questa versione. Questa sezione è stata scritta in due parti, la prima discuterà le nuove caratteristiche e le loro configurazioni; la seconda coprirà i miglioramenti per aiutare migrare verso FreeBSD 5.3. Da questo punto in poi, ci riferiremo al server semplicemente come named(8) al posto di BIND. Questa sezione salta la descrizione della terminologia delineata nella sezione precedente, come anche le discussioni teoriche; così si raccomanda di consultare la sezione precedente prima di andare oltre.

I file di configurazione di named al momento stanno in /var/named/etc/namedb/ e avranno bisogno di modifiche prima dell'uso. Questo è il luogo dove la maggior parte della configurazione sarà eseguita.

24.7.1 Configurazione di una Zona Master

Per configurare una zona master visita /var/named/etc/namedb/ ed esegui i seguenti comandi:

# sh
make-localhost

Se tutto è andato bene, un nuovo file dovrebbe essere stato creato nella directory master. I nomi file dovrebbero essere localhost.rev per il dominio locale di nomi e localhost-v6.rev per le configurazioni di IPv6. Come il file di configurazione di default, la configurazione per il suo uso sar` già presente nel file named.conf.

24.7.2 Configurazione di una Zona Slave

La configurazione per i domini extra o i sottodomini può essere fatta correttamente impostandoli come zone slave. Nella maggior parte dei casi, il file master/localhost.rev può essere copiato nella directory slave e modificato. Una volta completato, i file seguente configurazione per example.com:

zone "example.com" {
        type slave;
        file "slave/example.com";
        masters {
                10.0.0.1;
        };
};

zone "0.168.192.in-addr.arpa" {
        type slave;
        file "slave/0.168.192.in-addr.arpa";
        masters {
                10.0.0.1;
        };
};

Nota bene che in questo esempio, l'indirizzo IP master è il server di dominio primario per il quale le zone sono trasferite; non necessariamente funge da server DNS lui stesso.

24.7.3 Configurazione del Sistema di Inizializzazione

Affinchè il demone named parta quando il sistema effettua il boot, la seguente opzione deve essere presente nel file /etc/rc.conf:

named_enable="YES"

Anche se esistono altre opzioni, questo è il minimo indispensabile. Consulta la pagina di manuale di rc.conf(5) per una lista delle altre opzioni. Se nulla viene inserito nel file rc.conf allora named può essere avviato dalla linea di comando invocando:

# /etc/rc.d/named
start

24.7.4 La Sicurezza di BIND9

Mentre FreeBSD automaticamente esegue named in un ambiente chroot(8); ci sono molti altri meccanismi di sicurezza che potrebbero aiutare ad evitare possibili attacchi al servizio DNS.

24.7.4.1 Lista di Controllo degli Accessi alle Query

Una lista di controllo di accesso alle query può essere usata per restringere accesso alle query sulle zone. La configurazione funziona definendo la rete all'interno del token acl e poi elencando indirizzi IP nella configurazione della zona. Per permettere ai domini di effettuare query sull'host example, definiscilo così:

acl "example.com" {
        192.168.0.0/24;
};

zone "example.com" {
        type slave;
        file "slave/example.com";
        masters {
                10.0.0.1;
        };
  allow-query { example.com; };
};

zone "0.168.192.in-addr.arpa" {
        type slave;
        file "slave/0.168.192.in-addr.arpa";
        masters {
                10.0.0.1;
        };
  allow-query { example.com; };
};


24.7.4.2 Versione Ristretta

Permettere lookup di versioni sul server DNS potrebbe equivalere ad aprire la porta ad un attaccante. Un utente malizioso potrebbe usare questa informazione per cercare exploit o bachi noti per utilizzarli contro l'host.

Avvertimento: Impostare una falsa versione non proteggerà il server dagli exploit. Solo fare un upgrade ad una versione non vulnerabile proteggerà il tuo server.

Una falsa stringa di versione può essere inserita nella sezione options di named.conf:

options {
          directory       "/etc/namedb";
          pid-file        "/var/run/named/pid";
          dump-file       "/var/dump/named_dump.db";
          statistics-file "/var/stats/named.stats";
          version     "None of your business";
};

Questo, ed altri documenti, possono essere scaricati da ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.

Per domande su FreeBSD, leggi la documentazione prima di contattare <questions@FreeBSD.org>.
Per domande su questa documentazione, invia una e-mail a <doc@FreeBSD.org>.