Avanti Indietro Indice

6. Opzioni di sicurezza di base

Di Jamie Norrish

Impostare le opzioni di configurazione in modo da ridurre i possibili problemi.

Ci sono pochi semplici passaggi che vi permetteranno di ridurre contemporaneamente problemi e carico sul vostro server. Il materiale qui presente non è molto più che un punto di partenza; se siete particolarmente interessati agli aspetti relativi alla sicurezza (e dovreste esserlo), consultate altre risorse in Internet (vedi l'ultimo capitolo).

Le seguenti direttive di configurazione appaiono in named.conf. Se una direttiva appare nella sezione options del file, si applica a tutte le zone elencate nel file. Se invece appare all'interno di una voce di zone, si applica solo a quella zona. Una voce di zone esclude automaticamente quella nella sezione options.

6.1 Restringere i trasferimenti di zona

Per fare in modo che un vostro server secondario possa rispondere alle richieste sul vostro dominio, esso dovrà essere in grado di trasferire le informazioni di zona dal vostro server primario. Pochissimi altri devono poterlo fare. Quindi è necessario usare l'opzione allow-transfer per restringere solo agli autorizzati i trasferimenti di zona, assumiamo ad esempio che 192.168.1.4 sia l'indirizzo IP di ns.friend.bogus e aggiungete voi stessi questa opzione a solo scopo di debug:


zone "linux.bogus" {
      allow-transfer { 192.168.1.4; localhost; };
};

Restringendo così i trasferimenti di zona vi assicurerete che agli esterni saranno disponibili solo le informazioni necessarie a identificare il vostro dominio e nulla di più; nessuno potrà avere ulteriori informazioni sulla vostra configurazione.

6.2 Proteggersi contro lo spoofing

Prima di tutto, disabilitate le interrogazioni dai domini che non sono vostri, lasciando questa possibilità solo alle macchine della vostra rete locale. Questo non solo previene un uso malizioso del DNS server, ma riduce anche l'uso non necessario del vostro server.


options {
      allow-query { 192.168.196.0/24; localhost; };
};

zone "linux.bogus" {
      allow-query { any; };
};

zone "196.168.192.in-addr.arpa" {
      allow-query { any; };
};

Inoltre, disabilitate le interrogazioni ricorsive, eccetto che dalle macchine locali. Questo riduce la possibilità di attacchi di "cache poisoning", con cui vengono inviati dati falsi al vostro server.


options {
        allow-recursion { 192.168.196.0/24; localhost; };
};

6.3 Far partire named con utente non-root

Sarebbe una buona idea far partire named con un utente diverso da root, così un eventuale attacco riuscito potrebbe fare danni molto limitati. Prima dovrete creare un utente sotto cui far girare named, poi modificare tutti gli script che usate per farlo partire di conseguenza. Passate i nuovi nomi di utente e gruppo a named usando i flag -u e -g .

Ad esempio, nella Debian GNU/Linux 2.2 modificherete lo script /etc/init.d/bind in modo da avere la seguente riga (quando l'utente named è stato creato):


start-stop-daemon --start --quiet --exec /usr/sbin/named -- -u named 

La stessa cosa può essere fatta con Red Hat e altre distribuzioni.

Dave Lugo ha descritto una configurazione sicura "dual chroot" http://www.etherboy.com/dns/chrootdns.html che potreste trovare interessante, rende il vostro named ancora più sicuro.


Avanti Indietro Indice