Poweradmin ISSIA Branch Versione 0.3.6. Manuale d installazione e uso. Claudio Marotta



Documenti analoghi
FtpZone Guida all uso Versione 2.1

Manuale Amministratore Legalmail Enterprise. Manuale ad uso degli Amministratori del Servizio Legalmail Enterprise

Manuale operatore per l utilizzo dell utente di dominio

ANAGRAFE ALUNNI ISTRUZIONI PER LE SCUOLE PARITARIE Linee guida per la trasmissione delle nuove iscrizioni a.s. 2010/11

Guida all Installazione del ProxyFatturaPA

Integrazione del progetto CART regione Toscana nel software di CCE K2

e/fiscali - Rel e/fiscali Installazione

Istruzioni di installazione di IBM SPSS Modeler Text Analytics (licenza per sito)

ATOLLO BACKUP GUIDA INSTALLAZIONE E CONFIGURAZIONE

FtpZone Guida all uso

Servizi Remoti. Servizi Remoti. TeamPortal Servizi Remoti

Airone Gestione Rifiuti Funzioni di Esportazione e Importazione

Guida alla registrazione on-line di un DataLogger

Installazione & Configurazione Php e MySQL su Mac Os X. Php

PORTALE CLIENTI Manuale utente

1.0 GUIDA PER L UTENTE

Il sofware è inoltre completato da una funzione di calendario che consente di impostare in modo semplice ed intuitivo i vari appuntamenti.

DINAMIC: gestione assistenza tecnica

GateManager. 1 Indice. tecnico@gate-manager.it

Manuale LiveBox WEB ADMIN.

19. LA PROGRAMMAZIONE LATO SERVER

ARCHIVIA PLUS VERSIONE SQL SERVER

Installazione di Moodle. Preparato per: Gruppo A, Piattaforma di E - Learning Preparato da: Cinzia Compagnone, Vittorio Saettone

Wi-Pie Social Network Punti di accesso alla Rete Internet Manuale d'uso per operatore

ING SW. Progetto di Ingegneria del Software. e-travel. Requisiti Utente. Specifiche Funzionali del Sistema

MANUALE UTENTE Fiscali Free

Guida all installazione di Easy

MANUALE PARCELLA FACILE PLUS INDICE

Il web server Apache Lezione n. 3. Introduzione

Direzione Centrale per le Politiche dell Immigrazione e dell Asilo

2.1 Installazione e configurazione LMS [4]

Manuale d uso Lexun Area Riservata proprietà di logos engineering - Sistema Qualità certificato ISO 9001 Det Norske Veritas Italia

I TUTORI. I tutori vanno creati la prima volta seguendo esclusivamente le procedure sotto descritte.

BACKUP APPLIANCE. User guide Rev 1.0

A tal fine il presente documento si compone di tre distinte sezioni:

11/02/2015 MANUALE DI INSTALLAZIONE DELL APPLICAZIONE DESKTOP TELEMATICO VERSIONE 1.0

Registrazione utente. Manuale Utente

SOSEBI PAPERMAP2 MODULO WEB MANUALE DELL UTENTE

filrbox Guida all uso dell interfaccia WEB Pag. 1 di 44

GUIDA ALL USO DEL PANNELLO DI GESTIONE SITO WEB

LA GESTIONE DELLE VISITE CLIENTI VIA WEB

Guida di Pro Spam Remove

Manuale servizio Webmail. Introduzione alle Webmail...2 Webmail classica (SquirrelMail)...3 Webmail nuova (RoundCube)...8

Gestione Risorse Umane Web

1) GESTIONE DELLE POSTAZIONI REMOTE

Manuale Utente SIRECO

Amministrazione Trasparente

Nuovo server E-Shop: Guida alla installazione di Microsoft SQL Server

Sviluppata da: Lo Russo - Porcelli Pag. 1 di 6 6FRSR utilizzare il DBMS Postgresql per imparare il linguaggio SQL.

Manuale LiveBox WEB ADMIN.

INFN Sezione di Perugia Servizio di Calcolo e Reti Fabrizio Gentile Enrico Becchetti

SOMMARIO... 3 INTRODUZIONE...

Fate doppio click sul file con nome postgresql-8.0.msi e impostate le varie voci come riportato nelle immagini seguenti:

Presidenza del Consiglio dei Ministri

GESGOLF SMS ONLINE. Manuale per l utente

Il software di gestione immobiliare più facile da usare. Modulo Web v5.2.

ALF0021M MANUALE UTENTE MODULO "SETUP"

Omnia Web Timesheet. Manuale utente

Istruzioni di installazione di IBM SPSS Modeler Text Analytics (utente singolo)

Gestione Turni. Introduzione

MANUALE UTENTE. In questo manuale verranno descritte tutte le sue funzioni. Il sistema OTRS è raggiungibile al seguente link:

Excel. A cura di Luigi Labonia. luigi.lab@libero.it

Servizio Telematico Paghe

GovPay 2.0. Manuale Installazione

GESCO MOBILE per ANDROID

I MODULI Q.A.T. PANORAMICA. La soluzione modulare di gestione del Sistema Qualità Aziendale

Manuale Utente Albo Pretorio GA

ISTRUZIONI PER LA GESTIONE BUDGET

Studio Legale. Guida operativa

MANUALE D USO MANUALE D USO

Manuale LiveBox APPLICAZIONE WINDOWS PHONE V (465)

Procedura per creare un archivio storico remoto nelle 24 ore giornaliere

1. Compilazione dell istanza di adesione

Sistema di gestione Certificato MANUALE PER L'UTENTE

Mac Application Manager 1.3 (SOLO PER TIGER)

Manuale Servizio NEWSLETTER

ISSA EUROPE PTSOFTWARE 2.0

A tal fine il presente documento si compone di tre distinte sezioni:

Guida all amministrazione VPH Webmin/Virtualmin

SIEMENS GIGASET S450 IP GUIDA ALLA CONFIGURAZIONE EUTELIAVOIP

Mon Ami 3000 MACommerce La soluzione per il commercio elettronico totalmente integrata con Mon Ami 3000

FRANCESCO MARINO - TELECOMUNICAZIONI

Regione Toscana Direzione generale competitività del sistema regionale e sviluppo delle competenze. Settore Formazione e orientamento

UTILIZZO DEL SOFTWARE MONITOR

Regione Toscana. ARPA Fonte Dati. Manuale Amministratore. L. Folchi (TAI) Redatto da

I.N.A.I.L. Certificati Medici via Internet. Manuale utente

Installazione del software Fiery per Windows e Macintosh

MANUALE D'USO DEL PROGRAMMA IMMOBIPHONE

01/05/2013 Istruzioni per l installazione

Manuale Utente. Gestione Richieste supporto Data Warehouse. Della Ragioneria Generale dello Stato. Versione 1.0. Roma, Ottobre 2015

CERTIFICATI DIGITALI. Manuale Utente

Dipartimento per le Libertà Civili e l Immigrazione

Che cos'è un modulo? pulsanti di opzione caselle di controllo caselle di riepilogo

Software Servizi Web UOGA

Software di interfacciamento sistemi gestionali Manuale di installazione, configurazione ed utilizzo

I Codici Documento consentono di classificare le informazioni e di organizzare in modo logico l archiviazione dei file.

Introduzione. Installare EMAS Logo Generator

Transcript:

Poweradmin ISSIA Branch Versione 0.3.6 Manuale d installazione e uso Claudio Marotta Novembre 2008 1

Indice 2

1 Introduzione PowerAdmin e un progetto teso a creare un front-end web-based per l amministrazione di server DNS. Il progetto originale (cfr. www.poweradmin.org) e utilizzabile esclusivamente per l amministrazione del name server PowerDNS, ma poichè PowerAdmin si interfaccia con un database di back-end e non con il name server esso si è prestato ad essere adottato come front-end del Berkley Internet Name Domain, ovvero Bind, il server DNS più noto ed utilizzato. Da un attività congiunta tra CNR ISSIA e il Registro Italiano (NIC-IT) presso il CNR IIT, e nata una versione modificata per poter essere utilizzata come interfaccia per il BIND. PowerAdmin e rilasciato sotto la licenza GPLv3. 1.1 Principali modifiche al progetto originale Fix di alcuni bug relativi all interfacciamento con il backend PostgreSQL. Introduzione di un campo Notes per ogni record, in cui l utente puo inserire del testo libero, in qualita di commento, relativo al record. Validazione del file di zona tramite l utility named-checkzone del server dns BIND. Aggiunta di nuovi livelli utente e conseguente aumento della granularità dei permessi assegnabili. Set di script (patools) per l estrazione automatica dei dati relativi alle zone modificate e generazione dei file di zona in formato BIND-compatibile. Possibilità di assegnare alle zone degli intervalli di indirizzi IP assegnabili ai Resource Record A. Possibilità di generazione dei file di zone inversi a partire dai dati delle zone dirette. Ordinamento dei dati visualizzati con criterio a scelta dell utente. Segnalazione del primo indirizzo IP disponibile. 1.2 Changelog poweradmin-issia.0.3.6 [BUGFIX] record replicati nella creazione di zone inverse [PATOOLS] notifiche via mail [DB] creazione utente nello script db.sql [DOC] manuale d uso e installazione in latex poweradmin-issia.0.3.4 [BUGFIX] errata gestione dei record TXT in modifica 3

[DOC] creazione del manuale d uso e installazione poweradmin-issia.0.3.2 [FEATURE] ordinamento dei record a scelta dell utente [FEATURE] segnalazione del primo indirizzo IP disponibile per ogni range associato [PATOOLS] update del SOA delegato a refreshzone.pl poweradmin-issia.0.2.10 [FEATURE] aggiunta del form per la creazione dei file inversi a partire dalle zone dirette o inverse [FEATURE] aggiunto form per la gestione degli intervalli di indirizzi associati alla zona [FEATURE] aggiunta la visualizzazione degli intervalli di indirizzi associati nella vista delle zone [FEATURE] aggiunto nuovo campo al form per la creazione dei domini, intervallo di indirizzi [PATOOLS] aggiunta script/psqloinv.pl per creazione automatica i file per le zone inverse [DB] aggiunta tabella addresses poweradmin-issia.0.2.8 [BUGFIX] aggiunto un trigger sul database per differenziare gli eventi di cancellazione rispetto a inserimento/modifica di record [FEATURE] aggiunto livello utente 3: Power User [FEATURE] creazione e verifica (con named-checkzone) al volo del file di zona dopo ogni modifica [DOC] guida d installazione e file README in Italiano poweradmin-issia.0.2.4 [PATOOLS] aggiunta di script/psqltodns.pl per creazione automatica dei file di zona [PATOOLS] aggiunta di script/refreshzones.pl la gestione delle zone da generare e ilrestart automatico del name server [DOC] modifiche alla guida d installazione e alla file README poweradmin-issia.0.2.2 [DB] campo updated sui domini passa da boolean a integer poweradmin-issia.0.2 4

[BUGFIX] errata gestione delle sequenze su backend pgsql [FEATURE] campo notes sui record per commenti in testo libero [INSTALL] script db.sql per la creazione automatica del database [DB] aggiunta del campo updated nella tabella domains [DB] trigger setta il campo updated dopo ogni modifica sul tabella record 1.3 Contatti e riferimenti Home page del progetto originale - www.poweradmin.org Home page del branch ISSIA - www.ba.cnr.it/poweradmin Name Server PowerDNS - www.powerdns.com Name Serve BIND - www.isc.org Web Server Apache - www.apache.org Linguaggio di programmazione PHP - www.php.net Database server PostgreSql - www.postgresql.com Per informazioni, aiuto per le installazioni, segnalazione di bug, richiesta di feature: Contatto tecnico: marotta@ba.issia.cnr.it 1.4 Accesso di test Nel caso si voglia prendere confidenza con l applicazione, l ISSIA mette a disposizione un account di test all indirizzo: http://poweradmin.ba.cnr.it Utilizzare le credenziali: Username: prova Password: riprova 1.5 Credits L autore ringrazia Daniele Vannozzi (IIT - CNR) per il grande supporto offerto al progetto fin dalle sue fasi iniziali, e per le puntuali informazioni fornite durante l auditing. Tutto l ISSIA e l IIT per essere stati primi sperimentatori di PowerAdmin. Si ringraziano inoltre i referenti informatici dell area di ricerca CNR di Bari. 5

2 Guida d installazione 2.1 Premessa Poweradmin è stato sviluppato su sistema operativo GNU/Linux. La portabilità su altri sistemi operativi non è stata testata. Gli script patools utilizzano chiamate di sistema Unix-like e pertanto non sono sicuramente utilizzabili, così come sono, su sistemi operativi diversi, a meno di ambienti tipo Cygwin. Per quanto riguarda il solo applicativo web la portabilità dovrebbe essere possibile, seppure con alcune limitazione. Si consiglia, pertanto, di installare Poweradmin su un sistema operativo GNU/Linux. Sono gradite segnalazioni sulle eventuali esperienze di utilizzo di Poweradmin in ambiente Windows. 2.2 Contenuto del pacchetto Dopo aver scaricato ( www.ba.cnr.it/poweradmin) l ultima versione di PowerAdmin, branch ISSIA, potrete decomprimerlo. La directory estratta è così organizzata: docs: directory contente la documentazione del progetto originale e la documentazione del branch ISSIA; images: directory contente immagini utilizzate dal browser; inc: directory contenente le funzioni di interrogazione del database, configurazione, controllo degli accessi. In generale in questa directory sono contenuti i file non direttamente coinvolti nell interazione con l utente; script: directory contente i patools e lo script per la creazione del database; style: directory contenente i fogli di stile; tmpzone: directory deputata a fungere da contenitore temporaneo per i file di zona oggetto di controllo da parte dell utility named-checkzone; i file.php direttamente coinvolti nell interazione con l utente; 2.3 Prerequisiti L installazione di Poweradmin richiede: 1. Web server Apache, l utilizzo di server diversi non è stato sperimentato. (cfr. www.apache.org) 2. Linguaggio Php, versione 4 o 5, con gli opportuni moduli per Apache. (www.php.net). NB: abilitare gli short open tag nel file php.ini 3. PHP PEAR Database Abstraction Layer (cfr. pear.php.net) 6

4. Il RDBMS PostgreSql. La versione utlizzata per lo sviluppo è la 8.2.4 (cfr. www.postgresql.org). Tutte le versioni a partire dalla 8 dovrebbero essere compatibili. Esistono delle incompatibilità accertate con le versioni antecendenti alla 8 in fase di creazione del database. Si sconsiglia quindi l installazione di Poweradmin su versioni di PostgreSql antecedenti alla 8. 5. Linguaggio Perl (cfr. www.cpan.org). Oltre all installazione base sono richiesti i pacchetti: DBI Sys::Syslog Net::IP Perl è il linguaggio in cui sono implementati gli script patools, gli strumenti per creazione automatica dei file di zona. 6. Ovviamente, essendo lo scopo di Poweradmin è quello di fungere da front-end per BIND, si dovrà averne una installazione funzionante. Al momento della scrittura del documento, la versione stabile rilasciata dal ISC é la 9.5.0-P2. In caso si dovesse procedere all installazione si consiglia l utilizzo di tale versione (cfr. www.isc.org). 2.4 Procedura d installazione 2.4.1 Creazione del database Per la creazione del database si può utilizzare lo script SQL db.sql presente nella directory script del pacchetto. Le prime righe dello script dichiarano le variabili contenenti: Il nome da attribuire al database, dichiarato nella variabile dbname. Il nome da attibuire all utente sul database, dichiarato nella variabile dbuser. La password associata a tale utente, dichiarata nella variabile password. Assegnare a queste variabilli i valori preferiti. Questi valori andranno inseriti durante la fase di configurazione di Poweradmin. Per lanciarne l esecuzione è necessario effettuare il login al database come superuser. Nel prompt di psql digitare: \ i / path / to / s c r i p t /db. s q l sostituendo a /path/to/script/db.sql, il percorso del file. Come già specificato in precedenza, la creazione del database avrá esito positivo solo se applicata ad una versione di PostgreSQL uguale o posteriore alla 8. Poichè il RDBMS PostgreSql ha una politica di gestione delle autenticazioni piuttosto complessa, e la configurazione di tali politiche non è banale, si prega di prestare particolare attenzione alle modalitá di login degli utenti. Esse sono specificate nel file di configurazione pg hba.conf. Per ulteriori informazioni consultare i manuali di PostgreSql. 7

Verifica Per verificare il successo della procedura di creazione del database appena descritta, autenticarsi sul client sql, utilizzando le credenziali inserite modificando le prime linee di db.sql, e verificare l esistenza del database: p s q l <your db name> <y o u r d b u s e r > W digitare la password <your db secret>. Una volta nel prompt di psql, digitare: \ z Se la procedura é andata a buon fine, si otterrà il seguente output: Access privileges for database <your db name> Schema Name Type Access privileges public addresses table public domains table <your db user>=arwdxt/<your db user> public domains id seq sequence <your db user>=rwu/<your db user> public records table <your db user>=arwdxt/<your db user> public records id seq sequence <your db user>=rwu/<your db user> public supermaster table <your db user>=arwdxt/<your db user> public users table public users id seq sequence public zones table public zones id seq sequence 2.4.2 Installazione di Poweradmin La guida all installazione originale, in lingua inglese, si trova nelnel file README presente nella directory poweradmin/docs/original.version) Di seguito i passi necessari all installazione dell applicativo ( si assume che l archivio sia stato già decompresso). 1 Rendere l intera directory, poweradmin-issia.x.y.z, disponibile al server web. Ad esempio, copiarla in /var/www. 2 Configurare i parametri di Poweradmin per la connessione al database. Il file da editare è inc/config-block.inc.php. I parametri da modificare sono indicati in seguito, Utilizzare i valori inseriti nello script di creazione del database al punto??. $dbhost = localhost ; inserire il FDQN dell host del DB, se db e webserver risiedono sullo stesso host, localhost è una valida alternativa; se la porta di ascolto del demone non è quella di default (5432) si specifichi la porta utilizzando la sintassi FQDN:port. $dbuser = <your db user> ; inserire il nome utente sul database; $dbpass = <your db secret> ; inserire la password di accesso al database; $dbdatabase = <your db name> ; inserire il nome del database; 8

3 Continuando a lavorare sul file inc/config-block.inc.php, configurare gli altri parametri indicati in seguito, $BASE URL = http://localhost ; inserire il FQDN del vostro server, l esempio è valido solo per l accesso in locale. $BASE PATH = /poweradmin/ ; inserire il percorso, a partire dalla DocumentRoot di Apache per la directory di Poweradmin. Nel caso si sia copiato il contenuto dell archivio nella DocumentRoot (es. /var/www), il valore da inserire è poweradmin- ISSIA.x.y.z. Una soluzione più flessibile, per gestire facilmente gli aggiornamenti, consiste nel creare un link simbolico poweradmin nella directory /var/www/, che punta alla directory della versione corrente. Per esempio: s t i l e t t o @ m y h o s t : / v a r /www/$ l s l drwxr xr x 8 s t i l e t t o s t i l e t t o 616 2008 01 14 10:09 pa 0.3.2 drwxr xr x 8 s t i l e t t o s t i l e t t o 584 2008 10 01 16:43 pa 0.3.4 drwxr xr x 8 s t i l e t t o s t i l e t t o 584 2008 10 31 15:57 pa 0.3.6 lrwxrwxrwx 1 s t i l e t t o s t i l e t t o 8 2008 11 03 12:11 poweradmin > pa 0.3.6 $HOSTMASTER = hostmaster@yourdomain.com; inserire l indirizzo email del responsabile del servizio DNS (verrà inserito automaticamente nei record SOA); $NS1 = dns1.yourdomain.com; inserire il FQDN del name server primario; $NS2 = dns2.yourdomain.com; inserire il FQDN del name server secondario, in mancanza di un secondario inserire lo stesso valore del parametro precente; $USE BIND VALIDATION=1; questo parametro permette di utilizzare la validazione esterna dei file di zona, tramite l utility named-checkzone distribuita nel pacchetto software di BIND. È buona norma utilizzare questa verifica, poichè permette di rilevare errori che Poweradmin non è in grado di rilevare. Tuttavia, se non si volesse, utilizzare tale verifica, impostare a 0, il valore della variabile. Dopo aver salvato, rinominare il file config-block.inc.php in config.inc.php. Un eventuale copia del file originale andrà salvata in una directory diversa, pena il non funzionamento dell applicazione. Tutti i parametri presenti nel file di configurazione config.inc.php possono essere modificati anche dopo che l applicazione è stata installata. 4 Inizializzare l applicazione digitando nel browser l indirizzo: h t t p : / / $BASE URL/$BASE PATH/ i n s t a l l. php riempire i campi per creare un account amministrativo (livello 10, cfr.??) per poweradmin. Dopo aver creato l account, rimuovere il file install.php. Una eventuale copia del file originale andrà salvata in una directory diversa, pena il non funzionamento dell applicazione. 9

5 Rimangono da effettuare alcune operazioni di rifinitura. Assegnare la proprietà della cartella tmpzone all interno della directory di poweradmin all utente del server web Apache. (per questa operazione si deve utilizzare l utente root) root@myhost : / v a r /www/ poweradmin# chown www data. / tmpzone tenendo presente che il nome dell utente del servizio web potrebbe essere diverso. Creare un link simbolico all utility named-checkzone nella directory script s t i l e t t o @ m y h o s t : / v a r /www/ poweradmin$ which named checkzone / u s r / l o c a l / s b i n /named checkzone s t i l e t t o @ m y h o s t : / v a r /www/ poweradmin$ l n s / u s r / l o c a l / s b i n /named checkzone \\ named checkzone 6 Se la procedura è stata eseguita correttamente, Poweradmin è accessibile all indirizzo: h t t p : / / $BASE URL/$BASE PATH/ 2.4.3 patools patools è il set di script che si occupano di verificare la validità dei cambiamenti apportati alle zone, elaborare tali modifiche e generare i file di zona. Prima di utilizzare poweradmin per generare i file di zona di BIND e comandarne il riavvio, è necessario configurare alcuni parametri di accesso al database, gli stessi inseriti all atto della creazione del database (sez.??) e della configurazione di poweradmin (sez.??). patoolsconfig.pm File di configurazione per i patools. Aprire il file e modificare i valori delle variabili come spiegato nei commenti del file stesso. I parametri pghost, pgport, pgdatabase, pguser e pgpassword, non necessitano di ulteriori spiegazioni. È necessario fare qualche osservazione sulle altre tre variabili: dir name prefix: prefisso modificatore del nome del file di zona diretta. I patools nominano i file di zona con il corrispettivo nome di dominio. Se si vuole aggiungere un prefisso, immetterlo come valore di questa varibile (default dom. ); inv name prefix: omologo del precedente parametro per le zone inverse (default rev. ); zone file path: directory target in cui patools salvano i file di zona. È la directory dove BIND cerca i file di zona ( es: /var/cache/bind/ ). N.B: la PATH in cui perl cerca i file da includere comprende la directory corrente (PWD) e una INCLUDE-PATH di sistema. Se si intende lanciare i patools da linea di comando, si abbia cura di farlo avendo come PWD quella in cui sono contenuti tutti gli elementi dei patools (nel pacchetto sono contenuti nella directory script/ ). Eventualmente si possono creare delle copie degli script psqltodns.pl, psqltoinv.pl e refreshzone.pl in una directory della PATH di sistema (es. /usr/local/sbin) e del modulo perl di configurazione patoolsconfig.pm in una delle directory della INCLUDE-PATH di perl (es. /usr/share/perl) 10

Logging e notifiche info. I patools loggano tramite syslog con facilty local0 e priority Inoltre, ad ogni aggiormento delle zone e conseguente riavvio del server, si potrà ricevere una mail di notifica. Questa caratteristica richiede che sia installato il programma mail e che il sistema sia configurato per poter inviare dei messaggi di posta. Su molti sistemi mail richiede la presenza di Postfix (o di un altro MTA): se la macchina non ha anche compiti di MTA è consigliabile limitare l ascolto del demone all interfaccia di loopback. (cfr. http://www.postfix.org/). Modificare le prime righe dello script per adattare la configurazione al proprio ambiente ( i parametri di syslog e gli indirizzi cui mandare le mail di notifica). Se non si volesse usufruire della notifica via mail, si commenti la linea 111 dello script: ## system $ r e p o r t ; ( nelle prossime versioni di Poweradmin questa opzione di sarà resa più amichevole). 11

3 Manuale d uso Questa sezione approfondisce l utilizzo di Poweradmin. L interfaccia è decisamente semplice ed autoesplicante, quindi le sezioni successive approfondiscono alcuni concetti per i quali l approccio intuitivo non è sufficiente. 3.1 Importazione di file di zona Se si hanno a disposizione i file di zona di BIND, e si vuole passare alla gestione tramite Poweradmin, è possibile utilizzare una utility di PowerDNS per l importazione delle zone nel database PostgreSql. L utility in questione è zone2sql ed è distribuita nel pacchetto software di PowerDNS (cfr. www.powerdns.org). Un backup dei propri file è fortemente consigliato; si eviti che i patools sovrascrivano i file esistenti dopo l installazione dell applicazione. 3.2 I permessi utente Ogni volta che si crea un nuovo utente è possibile assegnargli un livello, in modo tale che la sua operatività sia più o meno limitata. Livello 1 - User: è l utente che ha le maggiori restrizioni sull attività. Può operare solo sulle zone che gli vengono date in gestione ( di cui è owner, cfr. sezione??). Può operare (aggiungere, modificare, cancellare) solo su record che non sono distintivi della zona (quindi tutti i RR esclusi SOA, NS e MX), e più in generale, tutti i recordi per i quali il nome coincida con il nome della zona. Per i record di tipo A può, l operatività è ristretta ai soli record il cui indirizzo è all interno dell intervallo di indirizzi assegnato alla zona. In altre parole, l utente di livello 1, può aggiungere un record A a patto che l indirizzo IP inserito sia all interno dell intervallo assegnato. Può cancellarne uno esistente a patto che questo abbia un indirizzo all interno dell intervallo. Può modificarne uno esistente a patto che, sia l indirizzo preesistente che quello aggiornato appartengano all intervallo di indirizzi della zona. L utente di livello 1 non può creare, né cancellare, zone. Livello 3 - Power user: può operare liberamente sui record dei domini di cui è proprietario; non ha limitazioni sul tipo di record. L utente di livello 3 non può creare, né cancellare, zone. Livello 5 - Amministratore di domini: può operare su tutti i record di tutti i domini esistenti nel database. Può, inoltre, creare e cancellare zone. Livello 10 - Amministratore di Poweradmin: ai privilegi dell utente di livello 5 si aggiunge la possibilità di gestire gli utenti (crearne di nuovi, eliminarli, modificarne le informazioni e le password di accesso). 12

3.3 Assegnazione delle zone Ogni zona può essere data in uso ad uno o più utenti. Tale assegnazione rende una zona disponibile alle modifiche, secondo i permessi concessi, agli utenti di livello 1 e 3. Anche agli utenti di livello 5 e 10 è possibile assegnare una o più zone, ma tale operazione non ne modifica significativamente l operatività poiche gli utenti di questi livelli, in quanto amministratori, hanno libertà di azione su tutte le zone presenti nel database, come spiegato il sez.??. 3.4 Assegnazione dei range d indirizzi Ad ogni zona è possibile assegnare uno o più intervalli di indirizzi. Il formato degli intervalli di indirizzi segue il formato CIDR. Esempio: se si è in presenza di due zone con i seguenti intervalli associati: 150.145.121.0/24 194.63.202.192/26 in ognuna della zone, sarà possibile inserire indirizzi rispettivamente, da 150.145.121.0 a 150.145.121.255 e da 194.63.202.192 a 194.63.202.255 La possibilità di associare un intervallo di indirizzi alla zona ha due effetti principali: limita il raggio d azione degli utenti di livello 1 ( cfr. sez.??) permette la creazione dei file di zona inversa a partire dai dati di quella diretta. Ad ogni zona possono essere associati più intervalli. Al contrario, due intervalli sovrapposti, totalmente o parzialmente, non possono essere associati a zone diverse (l applicazione provvede a segnalare la svista con una apposita schermata d errore. 3.5 Incremento automatico del seriale Dopo ogni modifica di una zona, Poweradmin provvede in automatico all aggiornamento del campo seriale del record SOA. L aggiornamento segue le politiche consigliate dal RFC 1912: le cifre del seriale è rappresentano una combinazione di data e numero, secondo lo schema YYYYMMDDxx dove YYYY rappresentano le cifre associate all anno, MM al mese, DD al giorno e xx al seriale propriamente detto. Poweradmin aggiorna il SOA allieneandolo con la data corrente, e per aggiornamenti multipli nello stesso giorno, incrementa il seriale. Esempio: il campo seriale del record SOA ha il valore 2008092202. Ciò significa che l ultimo aggiornamento della zona è avvenuto in data 22 Settembre 2008, data in cui ci sono stati 3 cambiamenti. Se si effettua una modifica (data odierna, p.es. 4 Novembre 2008) il seriale assumerà valore 2008110400. Un ulteriore modifica porta il seriale a 2008110401. 13

3.6 Generazione dei file di zona La generazione dei file di zona diretti è effettuata dallo script psqtoinv.pl. La generazione dei file di zona inversi a partire da dati di zone inverse presenti sul database è effettuata dallo script psqtoinv.pl. La generazione dei file di zona inversi è a partire da dati delle corrispondenti zone dirette zone inverse effettuata dallo script psqtoinv.pl. La modalità di generazione della zona inversa è scelta dell amministratore: a seconda delle preferenze, si possono gestire direttamente i record di una zona inversa utilizzandoli per generare il file, oppure è possibile generare solo la zona diretta e delegare ai patools la generazione della zona inversa. Questa scelta è effettuabile su poweradmin selezionando la corrispondente casella nel form dedicato: spuntando la casella nel form della zona, essa verrà utilizzata per la generazione della zona inversa. Selezionando invece, l analoga casella, nel form della zona inversa, questa sarà autonoma e dovrà essere popolata indipendentemente dalla zona diretta. Nel caso l utente selezioni le caselle sia sul dominio diretto che su quello inverso, non verrà visualizzato un messaggio di errore, ma la creazione avverrà utilizzando i dati contenuti nella zona inversa. La discordanza viene segnalata nel log dei patools. Se si sceglie di generare il file per la zona inversa a partire dai dati della zona diretta, la zona inversa deve comunqua esistere sul database. È, cioè, necessario creare una zona inversa di tipo in-addr.arpa, che abbia un intervallo di indirizzi associato che COINCIDA con ( o contenga) quello della corrispondente zona diretta.. La zona inversa deve contenere un record di tipo SOA ed uno (o due) record NS validi, e si deve aver avuto cura di associare al dominio, il corrispondente range di indirizzi. Ogni altro record eventualmente presente nella zona verrà ignorato a favore dei dati della zona diretta. L esempio in figura?? chiarisce il concetto. Il perchè di questa apparente complicazione nasce dal fatto che non sempre è possibile mappare, con corrispondenza uno a uno, zone dirette e zone inverse. Può accadere infatti che ad una zona diretta vi sia la necessità di associare più intervalli di indirizzi. Al contrario può accadere che diverse piccole zone dirette abbiano associata una solo una frazione dell intervallo assegnato alla zona inversa. E non sono infrequenti situazioni in cui i problemi appena descritti si combinano. Per rendere univoco il SOA Record della zona inversa, si è preferito adottare questo approccio, che seppure meno funzionale ha da sè il pregio della coerenza delle zone. L applicazione provvede a visualizzare apposite schermate di errore nel caso in cui si richieda la generazione di zone inverse a partire dalle dirette, ma non si sia provveduto a creare sul database al zona inversa e a popolarla con i due recordi necessari (SOA e NS). 14

Figura 1: associazione di intervalli di indirizzi alla zona diretta e corrispondente zona inversa 3.7 Uso dei patools Il modulo di configurazione patoolsconfig.pm è stato introdotto e spiegato nella sezione di installazione dei patools (sez.??). I paragrafi successivi spiegano la funzione e l uso dei singoli script. Tutti gli script elencati in seguito utilizzano i parametri configurati in patoolsconfig.pm. psqltodns.pl Uso: : script perl per l estrazione dei file di zona a partire dai dati del database. p s q l t o d n s. p l d <nome zona> lo script accede al database e crea un file di zona. Tale file viene salvato utilizzando come nome il prefisso (per le zone dirette) configurato in patoolsconfig.pm concatenato al nome della zona. Il file viene salvato nella directory immessa come parametro in pa- Toolsconfig.pm. È importante sottolineare che questo script è in grado di creare file di zona: diretti a partire dai dati di una zona diretta; inversi a partire dai dati di una zona inversa. La creazione dei file di zona inversi a partire da dati della zona diretta è demandata, invece, a pslqtoinv.pl psqltodns.cgi: omologo semplificato del precedente ad uso esclusivo di Apache. Questo script viene lanciato automaticamente da poweradmin per generare i file di zona che 15

devono essere sottoposti al controllo di named-checkzone. I file vengono creati nella directory tmpzone di poweradmin e subito rimossi. Assicurarsi di assegnare la proprietà della directory tmpzone all utente Unix di Apache. psqltoinv.pl zona diretta. Uso: : script perl per l estrazione dei file di zona inversa a partire dai dati della p s q l t o i n v. p l d <nome zona> La tecnica di creazione dei dati della zona inversa a partire da quelli della diretta è piuttosto macchinosa, e soggiace sul concetto, più volte ripetuto nel manuale, dell associazione di un intervallo di indirizzi alla zona. Si tenga presente che, se la zona ha più intervalli di indirizzi associati, verranno creati tanti file quanti sono gli intervalli. Se l intervallo è un sottoinsieme di un intervallo di classe C (x.y.z.0/24), oltre ai dati della zona diretta richiesta, verranno inclusi, se esistono, i dati delle zone, che hanno intervalli associati che sono sottoinsiemi dell intervallo di classe C di partenza. refreshzone.pl Uso: r e f r e s h Z o n e. p l : script per l automatizzazione del reload delle zone. Il lavoro di questo script si articola in 3 fasi: cerca sul database i domini da aggiornare; crea i file di zona (attraverso la chiamata di psqltodns.pl e psqltoinv.pl); ravvia BIND e invia una notifica via e-mail. NB: refreshzone.pl ha bisogno di lanciare gli script psqltodns.pl e psqltoinv.pl; si consiglia pertanto di posizionarli tutti nella medesima directory. (ad esempio in /usr/local/sbin). Il restart di bind richiede il permessi dell utente Unix del name server, quindi lo script va lanciato da un utente abilitato. Si consiglia fortemente di lanciare periodicamente l esecuzione di questo script, per esempio attraverso cron, in modo da tale da da automatizzare completamente il processo di aggiornamento dei file di zona. Esempio: named@myhost : / $ c r o n t a b l /15 ( cd / u s r / l o c a l / s b i n ;. / r e f r e s h Z o n e s. p l ) In questo modo lo script controllerà ogni 15 minuti i cambiamenti occorsi sul database e ricreerà opportunamente i file necessari. 16