From 9bcd56a3ba57be00d89d632ea6789601eeae137f Mon Sep 17 00:00:00 2001 From: Andrea Manni Date: Sat, 13 Jun 2009 14:39:55 +0000 Subject: [PATCH] Aggiunta nsupdate a servizi Changes to be committed: (use "git reset HEAD ..." to unstage) modified: servizi.html modified: source/servizi.txt --- servizi.html | 498 +++++++++++++++++++++++++++++++++------------ source/servizi.txt | 78 ++++++- 2 files changed, 438 insertions(+), 138 deletions(-) diff --git a/servizi.html b/servizi.html index 1522b04..93d66af 100644 --- a/servizi.html +++ b/servizi.html @@ -621,41 +621,66 @@ "id70" name="id70">6.3   DNS slave +
  • + 6.4   Aggiornamento dinamico: + nsupdate + + +
  • +
  • 6.4   Link suggeriti:
  • + "#link-suggeriti" id="id75" name= + "id75">6.5   Link suggeriti:
  • - 7   Samba + 7   Samba
  • 8   Server di posta: Postfix + "#server-di-posta-postfix" id="id85" name= + "id85">8   Server di posta: Postfix
  • - 9   Firewall + 9   Firewall
  • -
  • 10   NOTE
  • +
  • 10   NOTE
  • @@ -3479,9 +3504,11 @@ $TTL 3D ; 3 days ns1 A 94.23.63.105 ns2 A 65.98.21.97 zoo A 94.23.63.105 +smtp A 94.23.63.105 test.piffa.net. A 94.23.63.105 *.piffa.net. A 94.23.63.105 ; *catch all domain www CNAME zoo +ftp CNAME zoo

    All'interno di questo file si possono inserire dei @@ -3616,7 +3643,8 @@ normale IN A 94.23.63.105 ; usa il TTL di default: 3 giorni

    NS
    -
    Name Server della zona
    +
    Name Server della zona. Non deve essere un + cname.
    A
    @@ -3628,7 +3656,16 @@ normale IN A 94.23.63.105 ; usa il TTL di default: 3 giorni
    CNAME
    -
    Canonical Name: un alias per un host
    +
    Canonical Name: un alias per un host: ad esempio + per il dominio piffa.net possiamo settare degli alias + come www.piffa.net, http.piffa.net, virtual.piffa.net, ftp.piffa.net, imap.piffa.net. Comodo quando + diversi alias sono sempre riferiti allo stesso + ip.
    MX
    @@ -3645,8 +3682,8 @@ normale IN A 94.23.63.105 ; usa il TTL di default: 3 giorni principale e MX      40 smtp2.piffa.net per il - secondario. + "pre">smtp2.piffa.net per il secondario. + Non deve essere un cname.
    PTR
    @@ -3734,9 +3771,199 @@ zone "piffa.net" { +
    +

    6.4   Aggiornamento dinamico: + nsupdate

    + +

    Dalla versione 8 di Bind e' dsponibile l'utility + nsupdate (disponibile nel pacchetto + dnsutils) per aggiornare automaticamente + i record di una zona secondo il paradigma client / server ( + RFC2136 ) . Posto che abbiate a disposizione un server DNS + Bind on-line su un indirizzo IP fisso e un zona da gestire + (che potrebbe essere anche solo la delega di un dominio di + terzo livello come casa.miodominio.net) sara' + possibile aggiornare automaticamente i record che tirano a + degli indirizzi IP pubblici ma dnamici, come + quelli spesso messi a disposizione dei provider per le + connessioni ad internet residenziali, in modo da poter + rendere sempre raggiungibile la vostra workstation a casa + anche dopo un aggiornamento dell'ip dinamico associato alla + connessione.

    + +

    L'auenticazione del client nsupdate che avra' la + possibilita' di aggiornare il server DNS master avviene + tramite Transaction signatures (TSIG, RFC2845) + usando un algoritmo di criptazione dati asimmetrico + HMAC-MD5 : generata una coppia di chiavi sul + client / nsupdate con l'utility si dovra' trasferire la + chiave pubblica sul server master, che verra' + configurato per onorare gli aggiornamenti (eliminazione e + inserimento di record RR) autenticati dalla chiave + privata.

    + +
    +

    6.4.1   Configurazione client + (nsupdate)

    + +

    Sul client, sul quale non deve essere necessariamente + installato un server DNS Bind ma la sola utility + nsupdate, generiamo la coppia di chiavi + con l'utility dnssec-keygen installabile tramite il + pacchetto bind9utils:

    +
    +dnssec-keygen -a HMAC-MD5 -b 512 -n USER home.piffa.net.
    +
    + +

    Otterremo le due chiavi Khome.piffa.net.+157+04331.key  + Khome.piffa.net.+157+04331.private, la + chiave pubblica dovra' essere resa noto al server master + che ricevera' l'update dei records.

    +
    + +
    +

    6.4.2   Configurazione server: + riconoscimento chiave

    + +
    +
    Per rendere nota al server la chiave pubblica + generata sul client si aggiunga quindi al file + /etc/bind/named.conf sul + server::
    + +
    +
    +
    key home.piffa.net. {
    + +
    algorithm HMAC-MD5; secret + "txfAkNTScANEu2V73mCeiDpXNc3pmf+7ONOoKnTKQKIZMzierSmeHjK5 + Z8ntnByt/PJwv26jCIsVh8n+xzVsRw=="; };
    +
    +
    +
    + +
    +

    Nota

    + +

    La parte secret, che potete leggere + direttamente nel file *.key della chiave genearta, e' + scritto tutto sulla stessa riga senza ritorni + a capo.

    +
    +
    + +
    +

    6.4.3   Server: gestione + dell'intera zona

    + +

    Sul server modifichiamo il file di configurazione + named.conf.local della zona della quale + vogliamo concedere l'aggiornamento al client:

    +
    +zone "piffa.net" {
    +        type master;
    +        file "/etc/bind/pz/piffa.net" ;
    +        allow-update {
    +                        key  home.piffa.net;
    +                        };
    +};
    +
    + +
    +
    Sara' necessario assicurarsi che il demone di Bind + sia in grado di modificare il file /etc/bind/pz/piffa.net: dato che + questo file ora sara' gestito da lui si proceda a + cedergli la propieta' del file::
    + +
    chown bind /etc/bind/pz/piffa.net
    +
    + +

    Altro problema che si potrebbe porre: gli orologi di + sistema dei due host devono essere sincronizzati per + poter valutare l'opportunita' di un aggiornamento: si + consigla di installare su entrambi l'utility ntpdate + e di eseguirla facendo riferimento ai time server di + Debian:

    +
    +apt-get install ntpdate
    +ntpdate-debian
    +
    + +

    Ora possiamo provare dal client a effettuare + l'iserimento di un record per testarne il + funzionamento:

    +
    +# nsupdate -k Khome.piffa.net.+157+04331.private -v
    +> server ns1.piffa.net
    +> update add home.piffa.net. 86400 A 192.168.0.2
    +> show
    +Outgoing update query:
    +;; ->>HEADER<<- opcode: UPDATE, status: NOERROR, id:      0
    +;; flags: ; ZONE: 0, PREREQ: 0, UPDATE: 0, ADDITIONAL: 0
    +;; UPDATE SECTION:
    +home.piffa.net.         86400   IN      A       192.168.0.1
    +
    +
    +> send
    +
    + +

    Per comprendere meglio l'uso dell'utility nsupdate + si consiglia la lettura della relativa pagina man. Nella + prima riga viene invocato il comando nsupdate + impostando col flag -k la + chiave privata generata precedentemente, con + server si imposta quale server NS + autoritario della zona (che abbiamo precedentemente + configurato per ricevere gli aggiornamenti) vogliamo + contattare. Alla riga sucessiva update + viene aggiunto un record A per la + il dominio home.piffa.net indirizzato all'IP + 192.168.0.2, poi show + mostra quanto ci si prepara a comunicare al server con il + finale send .

    + +

    Si noti che in questo modo l'intera zona + piffa.net e suscettibile di essere modificata dal client, + che potra' eliminare e inserire qualunque record. E' + possibile gestire in modo piu' granulare la zona, ad + esempio concedendo al client i privilegi per gestire solo + una parte della zona o i tipo di record da gestire.

    +
    +
    +