Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Indice generale
MySql...............................................................................................................................................................................................................................................6
Introduzione.....................................................................................................................................................................................................................................6
Installazione.....................................................................................................................................................................................................................................6
Configurazione.................................................................................................................................................................................................................................6
Gestione degli utenti........................................................................................................................................................................................................................6
Impostare una password di amministrazione..............................................................................................................................................................................6
Connessione al database..............................................................................................................................................................................................................6
Creare un nuovo utente................................................................................................................................................................................................................6
Operazioni di backup.......................................................................................................................................................................................................................7
Ulteriori risorse................................................................................................................................................................................................................................7
BackupDatabase...............................................................................................................................................................................................................................8
Introduzione.....................................................................................................................................................................................................................................8
Descrizione.......................................................................................................................................................................................................................................8
Installazione.....................................................................................................................................................................................................................................8
Script................................................................................................................................................................................................................................................8
Configurazione.................................................................................................................................................................................................................................9
DbDesigner....................................................................................................................................................................................................................................10
Introduzione...................................................................................................................................................................................................................................10
Installazione...................................................................................................................................................................................................................................10
DBDesigner nativo per Linux...................................................................................................................................................................................................10
DBDesigner emulato con Wine.................................................................................................................................................................................................10
Ulteriori risorse..............................................................................................................................................................................................................................10
Oracle.............................................................................................................................................................................................................................................11
Introduzione....................................................................................................................................................................................................................................11
Preparativi......................................................................................................................................................................................................................................11
Installazione del pacchetto.............................................................................................................................................................................................................11
Configurazione...............................................................................................................................................................................................................................11
Amministrazione............................................................................................................................................................................................................................11
Ulteriori risorse...............................................................................................................................................................................................................................11
DNS................................................................................................................................................................................................................................................12
Introduzione...................................................................................................................................................................................................................................12
Risoluzione locale su UNIX...........................................................................................................................................................................................................12
Che cos'è e a che cosa serve il DNS...............................................................................................................................................................................................12
Installazione...................................................................................................................................................................................................................................12
Directory di configurazione...........................................................................................................................................................................................................12
Caching Nameserver e DNS autoritario.........................................................................................................................................................................................13
Configurazione di un caching....................................................................................................................................................................................................13
Configurazione di un DNS autoritario......................................................................................................................................................................................13
Architettura di esempio..................................................................................................................................................................................................................14
Configurazione del DNS master e dei suoi file di zona............................................................................................................................................................14
Configurazione del DNS slave..................................................................................................................................................................................................15
Direttive di configurazione avanzate - ACL..............................................................................................................................................................................15
Trasferimenti di zona, aggiornamenti di record e sicurezza..........................................................................................................................................................16
DNS e crittografia a chiave pubblica.............................................................................................................................................................................................16
Architettura dell'esempio...............................................................................................................................................................................................................17
La propagazione delle informazioni..........................................................................................................................................................................................18
DHCP.............................................................................................................................................................................................................................................19
Introduzione...................................................................................................................................................................................................................................19
Che cos'è DHCP e come funziona..................................................................................................................................................................................................19
Installazione...................................................................................................................................................................................................................................19
Un'occhiata ai file e alle directory di configurazione................................................................................................................................................................19
Architettura proposta......................................................................................................................................................................................................................19
Configurazione del DHCP primario...............................................................................................................................................................................................19
Configurazione del DHCP secondario...........................................................................................................................................................................................21
ConfigurazioneNFS........................................................................................................................................................................................................................23
Introduzione...................................................................................................................................................................................................................................23
Preparativi......................................................................................................................................................................................................................................23
Configurazione della rete...............................................................................................................................................................................................................23
Configurazione del server..............................................................................................................................................................................................................23
Configurazione del client...............................................................................................................................................................................................................23
Provare la configurazione..............................................................................................................................................................................................................23
Ulteriori risorse..............................................................................................................................................................................................................................24
FTP.................................................................................................................................................................................................................................................25
Introduzione...................................................................................................................................................................................................................................25
Installazione...................................................................................................................................................................................................................................25
Avvio e arresto del servizio............................................................................................................................................................................................................25
Prova del servizio...........................................................................................................................................................................................................................25
Configurazione...............................................................................................................................................................................................................................25
Limitare l'accesso...........................................................................................................................................................................................................................26
Elenco dei parametri di vsftpd.conf...............................................................................................................................................................................................26
Gestione di un server FTP..............................................................................................................................................................................................................26
FTP anonimo.............................................................................................................................................................................................................................26
FTP anonimo e controllato da password...................................................................................................................................................................................27
FTP con utenti virtuali e il supporto di un database MySQL....................................................................................................................................................27
Configurare un Server con Ubuntu 2
Opzioni varie........................................................................................................................................................................................................................27
Ulteriori risorse..............................................................................................................................................................................................................................27
DirectoryServer..............................................................................................................................................................................................................................28
Introduzione...................................................................................................................................................................................................................................28
Installazione...................................................................................................................................................................................................................................28
Descrizione dell'architettura...........................................................................................................................................................................................................28
Configurare il master LDAP..........................................................................................................................................................................................................28
Configurare la replica LDAP.........................................................................................................................................................................................................29
Configurare il PDC SAMBA.........................................................................................................................................................................................................30
Altre utilità LDAP..........................................................................................................................................................................................................................31
Configurare BDC SAMBA............................................................................................................................................................................................................31
Configurare i client........................................................................................................................................................................................................................33
Ulteriori risorse..............................................................................................................................................................................................................................34
AutenticazioneActiveDirectory......................................................................................................................................................................................................35
Introduzione...................................................................................................................................................................................................................................35
Account..........................................................................................................................................................................................................................................35
Testing............................................................................................................................................................................................................................................36
Autenticazione................................................................................................................................................................................................................................36
Attenzione......................................................................................................................................................................................................................................37
Testing............................................................................................................................................................................................................................................37
Orologio.........................................................................................................................................................................................................................................37
Key Table non valida......................................................................................................................................................................................................................38
Shadow password...........................................................................................................................................................................................................................38
Scambio di dominio.......................................................................................................................................................................................................................38
Ulteriori risorse..............................................................................................................................................................................................................................39
Monit..............................................................................................................................................................................................................................................40
Introduzione...................................................................................................................................................................................................................................40
Installazione...................................................................................................................................................................................................................................40
Configurazione...............................................................................................................................................................................................................................40
Avvio del servizio...........................................................................................................................................................................................................................41
Ulteriori risorse..............................................................................................................................................................................................................................41
Munin.............................................................................................................................................................................................................................................42
Introduzione...................................................................................................................................................................................................................................42
Preparativi......................................................................................................................................................................................................................................42
Installazione...................................................................................................................................................................................................................................42
Installazione sul master.............................................................................................................................................................................................................42
Installazione sugli altri host.......................................................................................................................................................................................................42
Configurazione...............................................................................................................................................................................................................................42
Configurare il master.................................................................................................................................................................................................................42
Configurare gli host...................................................................................................................................................................................................................42
Visualizzare le statische.................................................................................................................................................................................................................43
Ulteriori risorse..............................................................................................................................................................................................................................43
Nagios............................................................................................................................................................................................................................................44
Introduzione...................................................................................................................................................................................................................................44
Installazione...................................................................................................................................................................................................................................44
Configurazione...............................................................................................................................................................................................................................44
Nessus............................................................................................................................................................................................................................................46
Introduzione...................................................................................................................................................................................................................................46
Installazione...................................................................................................................................................................................................................................46
Configurazione...............................................................................................................................................................................................................................46
Ntop................................................................................................................................................................................................................................................47
Introduzione...................................................................................................................................................................................................................................47
Installazione...................................................................................................................................................................................................................................47
Configurazione...............................................................................................................................................................................................................................47
Avvio..............................................................................................................................................................................................................................................47
Ulteriori risorse..............................................................................................................................................................................................................................47
SmokePing.....................................................................................................................................................................................................................................48
Introduzione...................................................................................................................................................................................................................................48
Preparazione...................................................................................................................................................................................................................................48
Installazione...................................................................................................................................................................................................................................48
Configurazione...............................................................................................................................................................................................................................48
Messaggio di benvenuto............................................................................................................................................................................................................48
Suddivisione dei menu..............................................................................................................................................................................................................48
Monitoraggio dei servizi................................................................................................................................................................................................................49
Visualizzare il traffico di rete.........................................................................................................................................................................................................49
Ulteriori risorse..............................................................................................................................................................................................................................49
Wireshark.......................................................................................................................................................................................................................................50
Introduzione...................................................................................................................................................................................................................................50
Installazione...................................................................................................................................................................................................................................50
Configurazione...............................................................................................................................................................................................................................50
Cattura............................................................................................................................................................................................................................................50
Filtri................................................................................................................................................................................................................................................51
Creare un filtro..........................................................................................................................................................................................................................51
Protocolli supportati.......................................................................................................................................................................................................................52
Ulteriori risorse..............................................................................................................................................................................................................................52
Proxy..............................................................................................................................................................................................................................................53
Configurare un Server con Ubuntu 3
Introduzione...................................................................................................................................................................................................................................53
Prima di installare..........................................................................................................................................................................................................................53
Installazione...................................................................................................................................................................................................................................53
Configurazione...............................................................................................................................................................................................................................53
Definizione delle ACL su backend LDAP.....................................................................................................................................................................................54
Altri tipi di autorizzazione.............................................................................................................................................................................................................55
SquidGuard....................................................................................................................................................................................................................................56
Introduzione...................................................................................................................................................................................................................................56
Preparativi......................................................................................................................................................................................................................................56
Installazione...................................................................................................................................................................................................................................56
Configurazione...............................................................................................................................................................................................................................56
Configurazione di squid............................................................................................................................................................................................................56
Configurazione di squidGuard..................................................................................................................................................................................................56
Risoluzione dei problemi...............................................................................................................................................................................................................57
Problemi con squid....................................................................................................................................................................................................................57
Problemi con squidGuard..........................................................................................................................................................................................................57
Il file di configurazione non è posizionato nel giusto percorso............................................................................................................................................57
I file dei database non sono posizionati nella directory specificata......................................................................................................................................57
Il proprietario dei file di log, dei file di configurazione o dei database non è corretto........................................................................................................57
Permessi dei file sbagliati.....................................................................................................................................................................................................57
Errore di sintassi nel file di configurazione..........................................................................................................................................................................58
Ulteriori risorse..............................................................................................................................................................................................................................58
QuotaFilesystem.............................................................................................................................................................................................................................59
Introduzione...................................................................................................................................................................................................................................59
Architettura dell'esempio...............................................................................................................................................................................................................59
Implementazione del servizio di Quota..........................................................................................................................................................................................59
RadiusLDAP..................................................................................................................................................................................................................................60
Introduzione...................................................................................................................................................................................................................................60
NAS...........................................................................................................................................................................................................................................60
Autenticazione...........................................................................................................................................................................................................................60
Installazione...................................................................................................................................................................................................................................60
File e cartelle di configurazione.....................................................................................................................................................................................................60
Configurazione di un server RADIUS con backend LDAP...........................................................................................................................................................60
RadiusSQL.....................................................................................................................................................................................................................................62
Introduzione...................................................................................................................................................................................................................................62
Installazione...................................................................................................................................................................................................................................62
Configurazione...............................................................................................................................................................................................................................62
Verifica...........................................................................................................................................................................................................................................62
SAMBA..........................................................................................................................................................................................................................................63
Introduzione...................................................................................................................................................................................................................................63
Installazione...................................................................................................................................................................................................................................63
Configurazione...............................................................................................................................................................................................................................63
Sezione global...........................................................................................................................................................................................................................63
Montare condivisione.....................................................................................................................................................................................................................63
Condivisioni dei dispositivi............................................................................................................................................................................................................63
Condividere cartella...................................................................................................................................................................................................................63
Condivisione Home...................................................................................................................................................................................................................63
Condivisione stampante tramite samba.....................................................................................................................................................................................64
Condividere Dispositivi di lettura.............................................................................................................................................................................................64
Autenticazione................................................................................................................................................................................................................................64
Gestione utenti samba................................................................................................................................................................................................................64
Gestione client................................................................................................................................................................................................................................64
Connessione al server................................................................................................................................................................................................................64
Log di samba..................................................................................................................................................................................................................................64
Interfaccia web...............................................................................................................................................................................................................................64
Ulteriori risorse..............................................................................................................................................................................................................................65
WEB...............................................................................................................................................................................................................................................66
Introduzione...................................................................................................................................................................................................................................66
Installazione...................................................................................................................................................................................................................................66
Configurazione e opzioni globali...................................................................................................................................................................................................66
Personalizzare il proprio sito..........................................................................................................................................................................................................67
Autorizzazione basata sull'Host.................................................................................................................................................................................................68
Autorizzazione basata sull'Utente.............................................................................................................................................................................................68
Hosting virtuale.........................................................................................................................................................................................................................69
Host based VH......................................................................................................................................................................................................................69
Name based VH....................................................................................................................................................................................................................69
Esecuzione di N istanze su singolo host...............................................................................................................................................................................69
Configurazione di un server Web protetto con OpenSSL..............................................................................................................................................................70
Supporto PHP.................................................................................................................................................................................................................................70
Controllo dei file di log..................................................................................................................................................................................................................70
ApacheTomcat................................................................................................................................................................................................................................71
Introduzione...................................................................................................................................................................................................................................71
Tomcat 6.........................................................................................................................................................................................................................................71
Installazione...............................................................................................................................................................................................................................71
Apache e Tomcat............................................................................................................................................................................................................................72
Installazione del jk connector....................................................................................................................................................................................................72
Configurare un Server con Ubuntu 4
Osservazioni e approfondimenti....................................................................................................................................................................................................72
Connector: aggiungere altre directory web...............................................................................................................................................................................72
Amministrare Tomcat................................................................................................................................................................................................................73
Tomcat 5.x.................................................................................................................................................................................................................................73
Java JRE e JDK 1.6...................................................................................................................................................................................................................73
Installazione del pacchetto Ubuntu................................................................................................................................................................................................73
Ulteriori risorse..............................................................................................................................................................................................................................74
Xampp............................................................................................................................................................................................................................................75
Introduzione...................................................................................................................................................................................................................................75
Installazione...................................................................................................................................................................................................................................75
Avvio del programma.....................................................................................................................................................................................................................75
Verificare il funzionamento............................................................................................................................................................................................................75
Sicurezza........................................................................................................................................................................................................................................75
Supporto per PHP...........................................................................................................................................................................................................................75
Riepilogo comandi ed altre utilità..................................................................................................................................................................................................76
Cartelle da ricordare.......................................................................................................................................................................................................................76
Arrestare il servizio........................................................................................................................................................................................................................76
Disinstallazione..............................................................................................................................................................................................................................76
Risoluzione dei problemi...............................................................................................................................................................................................................76
Problemi all'avvio......................................................................................................................................................................................................................76
Ulteriori risorse..............................................................................................................................................................................................................................77
Mail................................................................................................................................................................................................................................................78
Introduzione...................................................................................................................................................................................................................................78
Installazione...................................................................................................................................................................................................................................78
Configurazione...............................................................................................................................................................................................................................78
Mail transfer agent.....................................................................................................................................................................................................................78
DA.............................................................................................................................................................................................................................................79
Web mail....................................................................................................................................................................................................................................79
MailScanner...............................................................................................................................................................................................................................80
Migliorare le prestazioni................................................................................................................................................................................................................80
Sicurezza dei protocolli di posta....................................................................................................................................................................................................81
Protezione di messaggi con GPG...................................................................................................................................................................................................81
Ulteriori risorse..............................................................................................................................................................................................................................82
MailSqlServer................................................................................................................................................................................................................................83
Introduzione...................................................................................................................................................................................................................................83
Installazione...................................................................................................................................................................................................................................83
Configurazione SMTP...................................................................................................................................................................................................................83
Configurazione di POP3 e IMAP...................................................................................................................................................................................................83
Webmail protetta con SSL..............................................................................................................................................................................................................84
Qmail..............................................................................................................................................................................................................................................85
Introduzione...................................................................................................................................................................................................................................85
Installazione...................................................................................................................................................................................................................................85
Configurazione...............................................................................................................................................................................................................................85
Migrazione da un MTA esistente...................................................................................................................................................................................................86
Stampa............................................................................................................................................................................................................................................87
Introduzione...................................................................................................................................................................................................................................87
Accedere all'interfaccia web..........................................................................................................................................................................................................87
Configurazione...............................................................................................................................................................................................................................87
Accedere alla configurazione....................................................................................................................................................................................................87
Abilitare la gestione da remoto..................................................................................................................................................................................................87
Connessioni sicure.....................................................................................................................................................................................................................87
Aggiungere una stampante.............................................................................................................................................................................................................87
Ricerca dei driver......................................................................................................................................................................................................................87
PDF Virtuale..............................................................................................................................................................................................................................88
Gestione della stampante................................................................................................................................................................................................................88
Condividere una stampante............................................................................................................................................................................................................88
Utilizzo stampante condivisa dal server tramite client Windows 2000/XP..............................................................................................................................88
Classi..............................................................................................................................................................................................................................................88
Log di CUPS..................................................................................................................................................................................................................................88
Ulteriori risorse..............................................................................................................................................................................................................................88
Irc...................................................................................................................................................................................................................................................89
Introduzione...................................................................................................................................................................................................................................89
Software per creare un server Irc...................................................................................................................................................................................................89
Installazione (ircd-hybrid)..............................................................................................................................................................................................................89
Come installare un pacchetto "Services"? (Utilizzerò come esempio i services epona)...............................................................................................................90
Ulteriori risorse..............................................................................................................................................................................................................................90
ServerPeerToPeer...........................................................................................................................................................................................................................91
Introduzione...................................................................................................................................................................................................................................91
Preparativi......................................................................................................................................................................................................................................91
Preparare la macchina................................................................................................................................................................................................................91
Installazione del sistema operativo............................................................................................................................................................................................91
Installazione...................................................................................................................................................................................................................................91
Installazione di Wine, Samba e OpenSSH................................................................................................................................................................................91
Installazione di eMule...............................................................................................................................................................................................................91
Configurazione...............................................................................................................................................................................................................................91
Configurazione di firewall e router...........................................................................................................................................................................................91
Configurare un Server con Ubuntu 5
Configurazione di Samba..........................................................................................................................................................................................................91
Configurazione di eMule...........................................................................................................................................................................................................92
Accedere al server..........................................................................................................................................................................................................................92
Risoluzione dei problemi...............................................................................................................................................................................................................92
Blocco prima della schermata di avvio.....................................................................................................................................................................................92
Il webadmin di eMule non funziona..........................................................................................................................................................................................92
Impossibile accedere ad eMule tramite ssh...............................................................................................................................................................................92
Ulteriori risorse..............................................................................................................................................................................................................................92
Configurare un Server con Ubuntu 6
MySql
Introduzione
MySql è il più diffuso database Open Source basato sul linguaggio SQL. Questo prodotto viene fornito dall'azienda MySQL AB che eroga servizi basati
sullo stesso MySql.
Un database è un insieme strutturato di dati, dalla lista della spesa, all'elenco dei titoli presenti in una grossa libreria. MySql si occupa della strutturazione e
della gestione a basso livello dei dati stessi, in modo da velocizzarne l'accesso, la modifica e l'inserimento di nuovi elementi. L'acronimo RDBMS significa
"Relational Data-Base Management System" e sta ad indicare che MySql offre la possibilità di conservare i dati non in un enorme store-room ma in diverse
tabelle, in modo di velocizzarne l'accesso. L'acronimo SQL significa Structured Query Language ed indica il linguaggio standard per le interrogazione delle
basi di dati.
La presente guida spiega l'uso delle funzioni principali di MySql. Alla fine di questo documento è possibile trovare i riferimenti alla documentazione
ufficiale e ad alcune delle guide presenti in rete.
Installazione
Per installare MySql è necessario installare i pacchetti mysql-server e mysql-admin, reperibili dai repository ufficiali.
Una volta installati i sopra citati pacchetti è probabile che, al primo avvio, si presentino dei problemi durante l'autenticazione da amministratore. Consultare
questa guida per avere maggiori informazioni su come impostare una password di amministrazione.
Configurazione
Aprire il file /etc/mysql/my.cnf con un editor di testo, dunque cercare al suo interno una riga simile alla seguente:
bind_address = 192.168.1.1
Connessione al database
Digitare il seguente comando in una finestra di terminale:
mysql -h indirizzo_host -u nome_utente -p
Le diciture «indirizzo_host» e «nome_utente» vanno sostituite, rispettivamente, con l'IP del computer sul quale risiede il server MySql e con il proprio nome
utente per l'accesso.
Verrà chiesta la password relativa all'utente inserito, dovrebbe apparire un messaggio simile al seguente:
Enter password:
Una volta inserita correttamente la password, il client restituirà un output simile al seguente:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 8 to server version: 5.0.22-Debian_0ubuntu6.06-log
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql>
Da questo momento la connessione è stabilita e sarà dunque possibile digitare comandi da inviare al server.
• istruzioni_consentite Contiene una lista di istruzioni di SQL che si vogliono permettere all'utente (CREATE, SELECT, UPDATE, DELETE,
ALTER, EXECUTE, ecc..). Se si desidera dare all'utente permessi completi si può utilizzare la parola chiave ALL.
• database Il database al quale applicare le modifiche.
• tabella Il nome della tabella alla quale applicare le modifiche. Se si desidera applicare le modifiche a tutte le tabelle del database in questione è utile
usare il carattere asterisco *.
• utente L'utente da creare.
• password Assegna una password al nuovo utente.
Ad esempio, è possibile consentire all'utente «tizio» di eseguire interrogazioni SELECT, aggiornamenti UPDATE, eliminazioni DELETE sul database
«miodatabase», digitando il seguente comando:
GRANT SELECT,UPDATE,DELETE ON miodatabase.* TO tizio@localhost IDENTIFIED BY 'miapasswd';
È stato concessa all'utente «tizio» la possibilità di agire sul database collegandosi dalla macchina locale dove risiede il server.
L'istruzione REVOKE svolge la funzione opposta a GRANT, serve, cioè, a revocare i permessi. La sintassi è molto simile a quella dell'istruzione GRANT:
REVOKE <istruzioni_revocate> ON <database>.<tabella> FROM <utente>;
Operazioni di backup
Per effettuare dei backup dei database gestiti da MySql consultare questa guida.
Ulteriori risorse
• Sito ufficiale del progetto
• Piccola guida a MySql
• Tutorial per MySql
• Piccola guida al linguaggio SQL
Configurare un Server con Ubuntu 8
BackupDatabase
Introduzione
Questa guida spiega come automatizzare il backup dei database MySql attraverso un apposito script che crea ed archivia i backup.
Descrizione
Lo script effettua giornalmente tramite cron il backup di tutti i databases recuperando automaticamente l'elenco.
Inizialmente viene costruito il nome del set di backup da creare utilizzando l'output del comando date.
Dopo l'eventuale rimozione di un backup temporaneo precedente ottengo l'elenco dei databases tramite mysqlshow redirezionando l'output sul file EL_DBS
dopo l'applicazione di una serie di filtri: head, tail e tr.
Effettuo il conteggio del numero di database e con un ciclo faccio il dump tramite mysqldump.
Al termine i backup sono raggruppati (tar) e compressi (gzip).
Installazione
Per il funzionamento è necessario creare la struttura delle directory di backup.
Si può, ad esempio, utilizzare la directory /var/backup che contiene due sottodirectory /var/backup/stored e /var/backup/temp, ma il tutto
è configurabile nello script.
Creare le directory per archiviare i backup. A titolo di esempio:
sudo mkdir /var/backup
sudo mkdir /var/backup/temp
sudo mkdir /var/backup/stored
Script
Lo script è il seguente:
#!/bin/bash
# Created by Beniamino Caputo
#
# Definizione Variabili
#
MY_DIR= # Directory Binari MySQL se non sono in PATH
#
# Elimino Eventuali Backup Temporanei Presenti
#
rm -f ${BK_DIR}/*
#
# Creazione Elenco Databases
#
${MY_DIR}mysqlshow --host=$MY_HST --user=$MY_USR --password=$MY_PWD | head -n -1 | tail -n +4 | tr -d " |" > $EL_DBS
#
# Conteggio Numero di Databases
#
#
# Ciclo Dump dei Databases
#
Configurare un Server con Ubuntu 9
do
read db
done <"$EL_DBS"
#
# Creazione File TAR
#
#
# Compressione File Tar
#
gzip -f $BK_NAM.tar
#
# Elimino Eventuali Backup Temporanei Presenti
#
rm -f ${BK_DIR}/*
exit 0
Configurazione
In testa ci sono alcune variabili per eventuale configurazione:
• MY_DIR: directory contenente i binari di MySql. In Ubuntu non è necessaria in quanto presente in PATH}. Nel caso di installazione manuale si può
inserirla, avendo l'accortezza di terminarla con /. Esempio: MY_DIR=/path/binari/mysql/.
• MY_HST: l'hostname della macchina, potrebbe essere sufficiente localhost.
• MY_USR: l'utente del server MySql.
• MY_PWD: la password dell'utente MySql.
• EL_DBS: nome del file che conterrà l'elenco dei database.
• BK_DIR: la directory temporanea per il dump dei database.
• BK_NAM: nome del file di backup.
Configurare un Server con Ubuntu 10
DbDesigner
Introduzione
DBDesigner è uno strumento per la progettazione di database. Questa guida spiega come installarlo su Ubuntu 6.10 «Edgy Eft».
Installazione
DBDesigner nativo per Linux
1. Scaricare da questa pagina il pacchetto in formato .rpm e le relative librerie.
2. Convertire i pacchetti .rpm in formato .deb con il programma alien, digitando in un terminale:
sudo alien DBDesigner4-0.5.4-0.i586.rpm
sudo alien libborqt-6.9.0-2.i386.rpm
3. Avviare l'applicazione appena installata, spostarsi nella cartella ~/.wine/drive_c/Programmi/fabFORCE, digitando in un terminale:
cd ~/.wine/drive_c/Programmi/fabFORCE
Ulteriori risorse
• Forum di Ubuntu-it Topic di riferimento sul forum di Ubuntu-it.
• DBDesigner on Ubuntu Guida all'installazione di DBDesigner su Ubuntu (en).
• Installer DBDesigner4 sur Ubuntu Edgy Guida a DBDesigner su Ubuntu (fr).
• DBDesigner on Debian Guida all'installazione di DBDesigner su Debian (en).
• Guida a DBDesigner su Debian Sarge Guida all'installazione di DBDesigner su Sarge (es).
Configurare un Server con Ubuntu 11
Oracle
Introduzione
In questa guida viene illustrata l'installazione del database relazionale Oracle 10g.
Preparativi
Una volta abilitati i componenti universe e multiverse dei repositoy ufficiali, aprire il file /etc/apt/sources.list con un editor di testo con i
privilegi di amministrazione e aggiungere in fondo al file la seguente riga:
deb http://oss.oracle.com/debian unstable main non-free
Per scaricare la chiave gpg, necessaria all'utentcazione dei pacchetti, è sufficiente digitare il seguente comando in una finestra di terminale:
wget http://oss.oracle.com/el4/RPM-GPG-KEY-oracle -O- | sudo apt-key add -
Configurazione
Per configurare il DBMS è sufficiente digitare il seguente comando in una finestra di terminale:
sudo etc/init.d/oracle-xe configure
Nella configurazione saranno richieste le porte di ascolto del server (quelle predefinite sono 8080 e 1521) e la password per l'utente system.
Inoltre verrà chiesto se si desidera avviare il server automaticamente all'avvio del sistema. Infine verrà creato l'utente oracle appartenente al gruppo dba, al
quale verranno dati i privilegi di gestione del DBMS.
Per verificare lo stato del DBMS è sufficiente digitare il seguente comando in una finestra di terminale:
sudo /etc/init.d/oracle-xe status
Amministrazione
Aprire il browser web e digitare il seguente indirizzo nella relativa barra:
http://127.0.0.1:8080/apex
Ulteriori risorse
• Sito ufficiale del progetto
• Driver JDBC per Java
Configurare un Server con Ubuntu 12
DNS
Introduzione
Questa guida spiega come configurare un server DNS.
Prima di cominciare vale la pena di spendere due parole sui requisiti di un server Web.
Tenete conto che probabilmente vi servirà hardware dedicato, se possibile scegliete una soluzione appositamente progettata per il servizio che dovrete
ospitare.
Prendetevi il tempo necessario per pianificare un corretto partizionamento del disco.
Possibilmente dedicate una partizione apposita per /var/log ed una specifica per /var/cache/bind.
Installazione
Installare il software necessario per configurare i servizi DNS:
apt-get -y install bind9
Directory di configurazione
Come visto per il server Web la directory che contiene i file di configurazione del DNS è sotto la directory /etc e precisamente /etc/bind.
Sempre sotto /etc/bind si trovano tutti i file contenenti sia le zone di ricerca dirette ed inverse (ossia quelle che includono le corrispondenze fra indirizzi
IP e nomi e fra nomi ed indirizzi IP) sia quelli relativi alle opzioni di configurazione del servizio stesso.
Tali opzioni sono specificate:
• nel file /etc/bind/named.conf che contiene le direttive di configurazione generali del servizio:
• nel file /etc/bind/named.conf.options che contiene le opzioni e le liste di controllo degli accessi per la configurazione generali del
servizio;
• nel file /etc/bind/named.conf.local che contiene le direttive di configurazione locali del servizio,ovvero la dichiarazione delle vostre zone
locali (quelle servite dal vostro DNS).
Notare che su Ubuntu i file di zona hanno le forme seguenti:
/etc/bind/db.<dir_zone>
/etc/bind/db.<rev_zone>
I file binari relativi al servizio DNS si trovano sotto la directory /usr/sbin ed è precisamente /usr/sbin/named.
La directory che contiene i log files relativi al servizio è /var/log. In particolare, qualsiasi problema durante l'avvio viene notificato nel file /var/log/
syslog.
Configurare un Server con Ubuntu 13
Configurazione di un caching
Se volete soltanto snellire e velocizzare gli accessi ad Internet degli utenti della vostra LAN quello che vi occorre è un semplice caching nameserver.
• Dopo aver installato il pacchetto bind9 basta semplicemente avviare il servizio immettendo al prompt dei comandi:
/etc/init.d/bind9 start
• Se volete farlo partire in avvio create un link in /etc/rc2.d che punta alla directory /etc/init.d/bind9 eseguendo il comando:
ln -s /etc/init.d/bind9 /etc/rc2.d/bind9
file "<path_to_zone_file>";
forwarders { };
masters { };
};
file "<path_to_zone_file>";
forwarders { };
masters { };
};
La direttiva type indica il tipo di DNS server che si sta configurando (master , slave o root NS).
La direttiva file indica in quale file è memorizzato il DB delle corrispondenze nome-indirzzo degli hosts della rete.
La direttiva forwarders indica se il vostro server DNS deve utilizzare un sevrer esterno per risolvere ricorsivamente le richieste di risoluzione DNS. Un
forwarder altro non è che un grande caching namserver che si fa interamente carico della risoluzione di tutte le queries DNS dirette verso l'esterno. In
un'azienda il forwarder generalmente viene usato per velocizzare le risoluzioni DNS di siti Internet.
La configurazione di un server slave (fault tolerance) prevede sempre la creazione delle direttive di zona nel file /etc/bind/named.conf.local
come nell'esempio seguente:
zone "linux.bogus" {
type slave;
file "sz/linux.bogus";
masters { 192.168.196.2; };
Configurare un Server con Ubuntu 14
};
Come vedete la direttiva masters contiene l'indirizzo IP del DNS master che possiede il DB con le corrispondenze fra IP e nomi hosts.
E' importante notare che mentre sul master tale database deve essere creato,ciò non deve essere fatto sullo slave, i cui file vengono automaticamente creati
durante la sincronizzazione con il DNS master.
Architettura di esempio
Il sistema descritto è costituito da:
DNS master
DNS slave
questo permette una configurazione di fault tolerance (il servizio è erogato anche quando uno dei 2 servers ha problemi).
Inoltre il trasferimento da zona master a slave avviene con il metodo della firma TSIG.
Il file /etc/bind/secret.key:
key chiave {
secret "Np6emc4SFPeI5UXSetOEIA==";
algorithm "hmac-md5";
};
server 192.168.77.2 {
keys {chiave;};
};
Il file secret.key non dovrebbe essere leggibile da tutti, pertanto assivuratevi che i suoi permessi siano -rw-r----- eseguendo il comando
chmod 640 /etc/bind/secret.key.
Veniamo ora alla configurazione dei singoli file di zona di ricerca diretta ed inversa :
@ IN SOA wilcoyote.example.com. root.localhost. (
2005112001
86400
207800
809650
86400
);
@ IN NS nome.dominio.com.
@ IN MX 50 nome.dominio.com.
nome.dominio.com. IN A 192.168.0.1
• Serial: ID della zona (gli aggiornamenti di refresh tra DNS slave e DNS master avvengono soltanto se il seriale della zona sullo slave e
diverso dal precedente valore con cui lo slave si era aggiornato!!)
• Refresh Time: Tempo trascorso il quale un DNS slave aggiorna i record di una data zona con DNS master
• Retry: Indica il tempo dopo il quale viene ritentato il trasferimento di zona se il DNS master non è al momento disponibile
• Expire: Se il DNS slave non riesce a mettersi in contatto con il master per il tempo indicato dal valore Expire, la zona scade e deve essere
rinnovata
• TTL: Tempo per il quale i dati restano nella cache di un DNS (/var/cache/bind) prima che avvenga un nuovo aggiornamento. Il TTL indica il
tempo di propagazione minimo dell'informazione fra record di zona (intervallo fra trasferimenti di zona e reloading)
• la seconda riga dice che il server dei nomi autoritario per questa zona è nome.dominio.com (il tipo di record è NS)
• @ IN MX 50 nome.dominio.com.: per questo dominio il server di posta con priorità 50 è wilcoyote.example.com. La priorità è
inversamente proporzionale al numero indicato (i valori possibili sono da 1 a 100, 1 massima 100 minima)
• nome.dominio.com. IN A 192.168.0.1: dice che nome.dominio.com ha l'indirizzo 192.168.0.1 (A sta per address)
• web IN CNAME nome.dominio.com: questa riga dice che il nome web è un alias per nome.dominio.com, ovvero che
nome.dominio.com può anche essere raggiunto richiedendo il nome web
Veniamo alla zona di ricerca inversa /etc/bind/db.0.168.192:
@ IN SOA nome.dominio.com. root.localhost. (
2005112001
86400
207800
809650
86400
);
@ IN NS nome.dominio.com.
1 IN PTR nome.dominio.com.
Il significato delle righe elencate è analogo al precedente caso della zona di ricerca diretta, tranne che per la seguente riga :
• 1 IN PTR nome.dominio.com.: dice che l'host nome.dominio.com ha l'indirizzo 192.168.0.1 (come si osserva i primi 3 ottetti sono omessi e
viene specificato soltanto l'ultimo ottetto , quello che differenzia fra loro tutti gli hosts della subnet 192.168.0.0/24)
Prima di proseguire nella sezione configurazioni avanzate occorre ricordare che quando si modifica un file di zona sul master bisogna sempre
incrementare il numero seriale (SERIAL) affinchè nella successiva sincronizzazione lo slave possa rilevare la variazione del DB e le
informazioni possano essere aggiornate. Ricordatelo bene, altrimenti vi potreste trovare con dei record aggiornati su un server e non su altri, con
risultati totalmente imprevedibili...
Il file /etc/bind/secret.key:
key chiave {
secret "Np6emc4SFPeI5UXSetOEIA==";
algorithm "hmac-md5";
};
server 192.168.77.1 {
keys {chiave;};
};
Come vedete qui non dobbiamo creare i database delle zone di ricerca, in quanto verranno automaticamente create al momento della sincronizzazione fra
master e slave.
Il file secret.key non dovrebbe essere leggibile da tutti, pertanto assivuratevi che i suoi permessi siano -rw-r----- eseguendo il comando
chmod 640 /etc/bind/secret.key.
Come vedete queste due direttive specificano due liste di controllo degli accessi in base alla subnet di appartenenza di un host. Pertanto il controllo accessi
supportato nativamente da BIND è host-based.
A questo punto occorre specificare il tipo di azione che il vostro DNS può fare in relazione alle ACL così definite.
In genere l'azione è sempre positiva , nel senso che si specifica sempre a quale ACL definita è permesso compiere determinate operazioni sul DNS (direttiva
allow).
Questo viene fatto attraverso le direttive specificate nel file /etc/bind/named.conf.local nel modo seguente:
• allow-query {miarete;};
questa dice al DNS di accettare le richieste di risoluzione dei nomi provenienti dai clients della rete 192.168.20.0/24
• allow-transfer {slave_miarete;};
questa dice al DNS master di permettere il trasferimento di un file di zona soltanto all'host con indirizzo IP 192.168.20.102
Come avrete già notato il file di configurazione standard del DNS /etc/bind/named.conf supporta le direttive di inclusione dei file, pertanto potrete
anche creare le vostre personalizzate ACL ed includerle poi successivamente in questo file, oppure crearle direttamente in
/etc/bind/named.conf.local per renderle relative soltanto alle zone da voi create.
questo comando genera una coppia di chiavi privata/publica che voi dovrete associare alla vostra zona per garantire una comunicazione protetta con i clients
e con lo(gli) slave server. In particolare per garantire un aggiornamento sicuro usando il meccanismo a chiave privata il contenuto del file con estensione
.private dovrebbe essere condiviso sia dal msater che dagli slave servers , in modo che il riconoscimento sia univoco ed esente da errori.
Spostatevi sul DNS master ed eseguite il comando:
dnssec-keygen -a HMAC-MD5 -b 128 -n HOST example.com
questo comando copierà il valore della chiave privata in coda al file /etc/bind/named.conf.local.
A questo punto editate il file /etc/bind/named.conf.local aggiungendo all'interno delle vostre zone le righe seguenti:
key mykey {
algorithm hmac-md5;
};
zone "vostrazona" {
file "path_to_file";
};
e questo va fatto per entrambe le zone di ricerca , sia diretta che inversa e sia sul master che sullo slave.
A questo punto basta riavviare e forzare una sincronizzaizone del DB per vedere se tutto va bene.
Questo è il metodo che usa una chiave privata.
Questi dati possono essere protetti associando ad ogni dominio diretto ed inverso una coppia di chiavi privata/pubblica che li identifica univocamente.
Il server DNS deve prima generare la coppia di chiavi privata/pubblica. Poi deve generare una richiesta di firma della propria chiave pubblica da inviare al
DNS del dominio padre (per esempio se il dominio è italia.com il DNS deve inviare una richiesta di firma della chiave pubblica da lui generata al DNS
del dominio padre com). In questo modo il DNS padre può autenticare la chiave pubblica del DNS figlio con la sua firma.
Infine ricevuta la sua chiave pubblica controfirmata dal padre il DNS figlio può firmare finalmente i propri file di zona con la sua chiave privata.
Come osserviamo la crittografia a chiave pubblica garantisce pertanto che le risposte del DNS siano autenticate (appunto attraverso l'utilizzo delle chiavi),
ovvero che i record provengano effettivamente da DNS di identità comprovata.
L'implementazione di questo metodo di protezione delle zone in UNIX è realizzata da DNSSEC.
Ovviamente tutto il sistema si fonda su una trusted-chain (ovvero catena di validazioni), per cui quando il client DNS del dominio italia.edu effettua una
query per l'individuazione del record A dell' host pippo esso riceve la risposta dal server DNS del dominio italia.edu e può essere confidente che tale
risposta sia quella corretta (la zona è firmata dal server DNS del dominio italia.edu e la chiave usata per la firma è autenticata dal DNS del dominio padre
edu).
L'implementazione di DNSSEC su UNIX possiede anche alcune features che vanno al di là dello standard DNSSSEC.
Vediamo ora attraverso un esempio qual è il procedimento da seguire per realizzare DNSSEC su un server DNS Ubuntu.
Architettura dell'esempio
Il nostro sistema è configurato come segue:
DNS master (hostname '''eolo''') che gestisce il dominio '''roma.com'''
in questo modo è il DNS stesso del dominio roma.com ad autenticare con la propria chiave la richiesta (questo meccanismo è analogo al self-signing
certificate che si usa con apache2-ssl-certificate).
Facciamoci dare dal server padre (o se abbiamo autenticato noi stessi la nostra richiesta l'avremo già nel nostro filesystem) il file signedkey-
roma.com. ed inseriamolo con la direttiva $INCLUDE nei file delle zone di ricerca diretta ed inversa come segue
#/etc/bind/db.roma.com
$TTL 864000
@ IN SOA ns.roma.com. root.localhost. (2005102501 86400 3600 212900 864000)
$INCLUDE "/etc/bind/signedkey-roma.com."
...
#/etc/bind/db.77.168.192
$TTL 864000
@ IN SOA ns.roma.com. root.localhost. (2005102501 86400 3600 212900 864000)
$INCLUDE "/etc/bind/signedkey-roma.com."
...
Prima di procedere alla firma delle nostre zone ricordiamoci di modificare i permessi del file signedkey-roma.com. come segue
chmod 644 /etc/bind/signedkey-roma.com.
Questo produrrà come output i 2 file /etc/bind/db.roma.com.signed e /etc/bind/db.77.168.192.signed che dovranno essere inclusi
nel file /etc/bind/named.conf.local per usare DNSSEC.
Pertanto ora il nostro file /etc/bind/named.conf.local sarà fatto nel modo seguente
Configurare un Server con Ubuntu 18
zone "roma.com" {
type master;
file "/etc/bind/db.roma.com.signed
}
zone "77.168.192.in-addr.arpa" {
type master;
file "/etc/bind/db.77.168.192.signed"
}
DHCP
Introduzione
Questa guida spiega come configurare un server DHCP.
Installazione
Aprire una shell e al prompt dei comandi digitate come root
sudo apt-get install dhcp3-server
Architettura proposta
• un server DHCP primary
• un server DHCP di backup
Questa configurazione prende il nome di failover e permette di mantenere il servizio in piedi anche se uno dei 2 server ha dei problemi.
Inoltre i 2 server DHCP dovranno aggiornare il server DNS con il metodo della firma TSIG.
primary;
address 192.168.20.101;
port 519;
peer address 192.168.20.102;
peer port 520;
max-response-delay 60;
max-unacked-updates 10;
mclt 3600;
split 128;
load balance max seconds 3;
authoritative;
Configurare un Server con Ubuntu 20
ddns-update-style interim;
ddns-updates on;
ddns-domainname "example.com";
ddns-rev-domainname "20.168.192.in-addr.arpa";
pool {
server-name "ubuntu.example.com";
default-lease-time 86400;
max-lease-time 31536000;
key "mykey" {
algorithm hmac-md5;
secret "KCoWhagI3Sl8XBQDa+QI8w==";
zone example.com {
primary 192.168.20.101;
key mykey;
zone 20.168.192.in-addr.arpa {
primary 192.168.20.101;
key mykey;
host ubuntu.example.com {
hardware ethernet 00:48:54:6B:B3:D7;
fixed-address 192.168.20.101;
}
• la direttiva failover peer specifica che questo server è il primary DHCP server per l'assegnazione degli IP. Quasi tutte le direttive sono auto
esplicative, ricordate solo che le direttive port e peer port dicono quali sono le porte su cui comunicheranno i 2 server per verificare il loro stato.
• subnet: questa riga dice al server DHCP che dovrà assegnare indirizzi IP sulla sottorete192.168.20.0
• la direttiva pool identifica un sottogruppo di hosts appartenenti alla sottorete 192.168.20.0 gestita da questo server DHCP.
• la direttiva server-name dice che il nome di questo server DHCP è ubuntu.example.com.
• la direttiva deny dynamic bootp clients istruisce il server DHCP a non assegnare IP dinamici ai clients che fanno il boot dalla rete (che generalmente
sono quelli che non hanno un disco rigido ma devono caricare il loro OS da un host remoto)
• le 2 direttive option domain-name e option domain-name-servers forniscono informazioni su qual è il dominio DNS associato ai clients della sottorete
192.168.20.0 e qual è l'IP del server DNS (192.168.20.101).
• le opzioni di configurazione default-lease-time e 'max-lease-time sonp quelle più importanti per un server DHCP , in quanto definiscono
rispettivamente l'intervallo di affitto di default di un indirizzo IP (ovvero per quanto tempo un indirizzo IP viene assegnato ad un dato client) ed il
massimo intervallo di affitto di un indirizzo IP (cioè la massima durata di affitto di un indirizzo IP ad un client è pari al valore di max-lease-time).
Entrambi i valori sono espressi in secondi.
• range 192.168.20.2 192.168.20.254: l'opzione range permette di configurare l'intervallo di indirizzi IP che possono essere assegnati ai
clients della sottorete data dal vostro server DHCP (nel nostro esempio dal 2 al 254, ovvero il nostro server DHCP è in grado di gestire al massimo
252 hosts).
• le sezioni zone servono nel caso in cui dobbiate configurare un server DHCP in grado di aggiornare dinamicamente le informazioni di una zona
DNS.
• Questo schema di aggiornamento utilizza la firma TSIG, il cui valore è stabilito con la direttiva secret.
Il nome del secret (nel nostro esempio mykey) deve essere identico a quello dichiarato nel file di configurazione del DNS
/etc/bind/named.conf.local.
• Le direttive nelle sezioni precedenti indicano i nomi delle zone che il nostro server DHCP dovrà aggiornare usando la firma TSIG creata e condivisa
con il server DNS.
• La sezione host permette di specificare un host che pur appartenendo al range di IP gestito dal server DHCP deve mantenere comunque un indirizzo
IP fisso.
• Notate come per assegnare un indirizzo IP fisso sia necessario conoscere il MAC address dell'host (ovvero l'indirizzo della scheda di rete) ed
Configurare un Server con Ubuntu 21
In caso di errore non dimenticarsi di controllare il file di log /var/log/syslog che quasi sempre contiene informazioni più che sufficienti per
risolvere i problemi che si possono presentare.
secondary;
address 192.168.20.102;
port 520;
peer address 192.168.20.101;
peer port 519;
max-response-delay 60;
max-unacked-updates 10;
mclt 3600;
split 128;
load balance max seconds 3;
authoritative;
ddns-update-style interim;
ddns-updates on;
ddns-domainname "example.com";
ddns-rev-domainname "20.168.192.in-addr.arpa";
pool {
range 192.168.20.2 192.168.20.254;
server-name "ubuntu.example.com";
option domain-name "example.com";
option domain-name-servers 192.168.20.101;
default-lease-time 86400;
max-lease-time 31536000;
key "mykey" {
algorithm hmac-md5;
secret "KCoWhagI3Sl8XBQDa+QI8w==";
}
zone example.com {
primary 192.168.20.101;
key mykey;
zone 20.168.192.in-addr.arpa {
primary 192.168.20.101;
key mykey;
host ubuntu.example.com {
hardware ethernet 00:48:54:6B:B3:D7;
fixed-address 192.168.20.101;
In caso di errore non dimenticarsi di controllare il file di log /var/log/syslog che quasi sempre contiene informazioni più che sufficienti per
risolvere i problemi che si possono presentare.
Configurare un Server con Ubuntu 23
ConfigurazioneNFS
Introduzione
Qui vengono elencati i passagi base per la creazione di una cartella condivisa mediante il servizio NFS, che risulta molto comodo per una gestione grafica
dei file condivisi.
Preparativi
Prima di cominciare è necessario preparare il computer server installando i seguenti pacchetti e creando la directory da condividere. A tale scopo è necessario
installare il pacchetto nfs-kernel-server.
Per creare la cartella da condividere è sufficiente aprire una finestra di terminale e digitare il seguente comando:
mkdir /home/nomeutente/condivisione
Nei computer client è necessario installare il pacchetto nfs-common ed è inoltre consigliato installare il demone portmap, utile ad accelerare l'operazione di
montaggio delle condivisioni NFS. A tale scopo è sufficiente installare il pacchetto portmap.
Dunque modificare il file /etc/hosts.deny sostituendo il suo contenuto con quanto segue:
# File di configurazione per escludere tutti i client non inseriti in hosts.allow
#ALL: PARANOID
#Scritto da piccinini luca 16/01/06
portmap:ALL
lockd:ALL
mountd:ALL
rquotad:ALL
statd:ALL
Infine aprire il file con un editor di testo con i privilegi di amministrazione /etc/fstab e apportare le seguenti modifiche per montare le partizioni:
192.168.1.1:/home/utenteserver/condivisione /home/utenteclient/condivisione nfs rw,user,auto 0 0
Provare la configurazione
Una volta terminate le procedure di configurazione, riavviare sia il server che il client e verificare che lo scambio di file funzioni correttamente.
Configurare un Server con Ubuntu 24
Ulteriori risorse
• Guida all'installazione del servizio NFS
• Guida all'automounter
Configurare un Server con Ubuntu 25
FTP
Introduzione
FTP (File Transfer Protocol) è uno dei protocolli maggiormente usati per il trasferimento dei file. Solitamente prevede l'autenticazione degli utenti e una
serie di comandi semplici per scaricare e caricare file.
Questa guida si occupa della configurazione del servizio FTP utilizzando il programma vsftpd (acronimo di Very Secure FTP Daemon), uno dei programmi
più usati e sicuri per l'implementazione di questo servizio.
Installazione
È necessario installare il pacchetto vsftpd, reperibile dal componente universe.
Viene visualizzato un messaggio di richiesta di immissione delle credenziali di accesso simile al seguente:
Connected to 192.168.1.2
Name (192.168.1.2):
e premere «Invio».
Viene dunque richiesta la password. In questo caso è sufficiente premere «Invio». Generalmente, per l'utente anonymous non viene impostata alcuna
password.
Una volta effettuato l'accesso sarà possibile esplorare le cartelle disponibili sul server, dunque caricare e scaricare i file, limitatamente ai permessi impostati
per il proprio utente. Gli utenti anonimi possono avere accesso soltanto alla cartella /home/ftp del server, nella quale, a seconda dei parametri di
configurazione impostati, potranno soltanto leggere/scaricare, oppure anche scrivere/caricare.
Configurazione
Per configurare un server FTP in cui gli utenti abilitati ad accedere siano gli stessi del sistema, è necessario modificare il file di configurazione del servizio /
etc/vsftpd.conf con uno degli editor di testo messi a disposizione da Ubuntu.
Aprire una finestra di terminale e digitare il seguente comando:
sudo gedit /etc/vsftpd.conf
Cercare la seguente riga e cancellare il carattere di cancelletto «#» presente all'inizio della stessa:
#local_enable=YES
Ora è possibile tentare di collegarsi al server con il comando descritto in precedenza ed effettuare l'accesso utilizzando uno degli account utente presenti sul
sistema locale. Gli utenti del sistema avranno accesso al servizio FTP potendo esplorare tutte le cartelle del sistema.
Applicando le impostazioni sopra discusse, gli utenti del sistema avranno accesso, tramite il servizio FTP, a tutte le cartelle del filesystem locale. Per evitare
ciò è opportuno limitare l'accesso degli utenti solamente alla propria cartella Home.
A tale scopo è utile decommentare la seguente riga:
#chroot_local_user=YES
Configurare un Server con Ubuntu 26
Limitare l'accesso
Per rafforzare la sicurezza, è possibile scegliere gli utenti ai quali vietare l'accesso al servizio FTP.
Per far ciò è utile modificare il file /etc/ftpusers, il quale contiene la lista degli utenti ai quali non è consentito accedere al servizio. Il seguente è del
contenuto di default del file /etc/ftpusers:
# /etc/ftpusers: list of users disallowed FTP access. See ftpusers(5).
root
daemon
bin
sys
sync
games
man
lp
mail
news
uucp
nobody
Per non consentire l'utilizzo del servizio all'utente mario, è sufficiente aggiungere il nome dell'utente in coda all'elenco, in questo caso mario. Effettuate le
modifiche, è necessario riavviare il servizio.
Abilita/disabilita la possibilità degli utenti anonimi di caricare file. Valido solo se l'opzione precedente è impostata a vero.
• anon_mkdir_write_enable=YES
FTP anonimo
Prima di creare un server con accesso anonimo, si dovrà aggiungere al sistema l'utente ftp, con una sua directory home. Per farlo seguite questi comandi:
Configurare un Server con Ubuntu 27
Ci sono inoltre numerose opzioni con le quali avviare il server, in modo da configurarne ogni singolo aspetto. Alcune di queste opzioni sono le seguenti:
• -e Accesso solo per gli utenti anonimi.
• -B Avvia il server in modalità background.
• -i Gli utenti anonimi non potranno caricare file.
• -M Permette agli utenti anonimi di creare cartelle.
• -s I file degli utenti ftp non possono essere scaricati.
Opzioni varie
• -c <num> Numero di client massimo abilitato ad effettuare l'accesso al server. Esempio:
pure-ftpd -c 3
• -T <bandwitdh> Massima banda disponibile per ogni connessione (in kb/s). Esempio:
pure-ftpd -T 150
• -m <Cpu Loading> Blocca gli upload da parte di utenti anonimi nel caso che il caricamento della CPU superi il livello definito in termini di
percentuale. Esempio:
pure-ftpd -m 50
Ulteriori risorse
• Sito ufficiale di vsftpd
• Guida alla configurazione di vsftpd
Configurare un Server con Ubuntu 28
DirectoryServer
Introduzione
Un servizio di directory ha bisogno innanzitutto di una struttura ad albero dei nomi (server DNS) e di una analoga struttura associata basata sul protocollo
LDAP (slapd).
Inoltre, per fornire anche il servizio di file server a macchine Windows, è necessario il server SAMBA e, per utilizzare la crittografia basata sul protocollo
Kerberos, il server Kerberos.
Questo consente di avere un servizio di directory scalabile da utilizzare come backend per tutti i servizi aziendali, dai servizi di posta agli utenti remoti che si
collegano via RADIUS al server FTP.
Installazione
Per installare i pacchetti necessari, in un terminale, copiare quanto segue:
apt-get -y install samba smbldap-tools krb5-ftpd krb5-telnetd
Descrizione dell'architettura
Si consideri una configurazione d'esempio di questo tipo:
• LDAP master con DNS master on-board
• LDAP replica con DNS slave per fault tolerance
• un file server SAMBA come PDC
• un altro file server SAMBA come BDC
• un KDC
• i server protetti da Kerberos (tutti i client, le macchine SAMBA e la replica LDAP)
Ogni entry citata è su una macchina separata.
Qualora vogliamo amministrare il server LDAP direttamente dal terminale e non da una workstation remota installiamo anche il pacchetto per la gestione
grafica del server LDAP:
apt-get -y install gq
• Eseguire il comando :
sudo cp /usr/share/doc/smbldap-tools/samba.schema /etc/ldap/schema/samba.schema
• Ed inserire nel file /etc/ldap/slapd.conf dopo l'ultima direttiva include.... quella che segue:
include /etc/ldap/schema/samba.schema
• Ora procediamo alla configurazione del servizio di autenticazione crittografata installando il pacchetto Kerberos come segue :
apt-get -y install krb5-kdc
apt-get -y install krb5-admin-server
Ricordarsi di creare nel database LDAP sia l'utente samba che l'utente nssuser.
Se volete usate l'utility gq da installare o sul server LDAP o su una workstation remota da cui amministrare master e replica LDAP.
• Installare i pacchetti per il supporto all'autenticazione Kerberos lato client
apt-get -y install libpam-krb5
apt-get -y install krb5-user
[homes]
comment = Home Directories
path = /home/%U
browseable = yes
writable = yes
create mask = 0775
directory mask = 0775
valid users = %S
[netlogon]
comment = Network Logon Service
path = /usr/local/netlogon
guest ok = yes
writable = yes
share modes = no
browseable = yes
[profiles]
path = /var/lib/samba/profiles
read only = no
create mask = 0600
directory mask = 0700
browseable = yes
writable = yes
directory mode = 0755
[printers]
comment = All Printers
browseable = no
path = /tmp
printable = yes
public = no
writable = no
create mode = 0700
[print$]
comment = Printer Drivers
path = /var/lib/samba/printers
browseable = yes
read only = yes
guest ok = no
[whole_linux_server]
comment = whole_linux_box
path = /
Configurare un Server con Ubuntu 31
• Create la share var/lib/samba/profiles e rendetela leggibile e scrivibile da tutti gli utenti del sistema:
mkdir /var/lib/samba/profiles && chmod -R 777 /var/lib/samba/profiles
questo è necessario poichè i client Microsoft accedono in scrittura a tale directory per creare il profilo degli utenti di rete.
• Creare l'utente samba e memorizzarne la password nel file /var/lib/samba/secrets.tdb come segue :
#read -s -p "Digita la password dell'utente samba : " LDAP_BINDPW
#smbpasswd -w $LDAP_BINDPW
• Lanciare i comandi :
smbldap-populate
smbldap-passwd Administrator
net rpc join miodominio.com -UAdministrator%password
consultate le man pages per tutte le opzioni (il valore di -F è il roaming profile dell'utente).
• Testare la vostra configurazione tramite i comandi :
smbclient //SRV/public -Uuser_admin%password
pdbedit -Lv user_admin
domain master = no
domain logons = yes
encrypt passwords = yes
security = user
os level = 65
wins support = yes
name resolver order = wins lmhosts hosts bcast
logon path = \\%N\profiles\%U
logon drive = H:
logon home = \\%N\%U\winprofile
logon script = logon.bat
log level = 1
printcap name = CUPS
show add printer wizard = No
shutdown script = /var/lib/samba/scripts/shutdown.sh
abort shutdown script = /sbin/shutdown -c
utmp = Yes
map acl inherit = Yes
printing = cups
[homes]
comment = Home Directories
path = /home/%U
browseable = yes
writable = yes
create mask = 0775
directory mask = 0775
valid users = %S
[netlogon]
comment = Network Logon Service
path = /usr/local/netlogon
guest ok = yes
writable = yes
share modes = no
browseable = yes
[profiles]
path = /var/lib/samba/profiles
read only = no
create mask = 0600
directory mask = 0700
browseable = yes
writable = yes
directory mode = 0755
[printers]
comment = All Printers
browseable = no
path = /tmp
printable = yes
public = no
writable = no
create mode = 0700
[print$]
comment = Printer Drivers
path = /var/lib/samba/printers
browseable = yes
read only = yes
guest ok = no
[whole_linux_server]
comment = whole_linux_box
path = /
valid users = admin root dtrask
admin users = admin root dtrask
write list = admin root dtrask
public = no
writable = yes
Configurare un Server con Ubuntu 33
• Create la share var/lib/samba/profiles e rendetela leggibile e scrivibile da tutti gli utenti del sistema:
mkdir /var/lib/samba/profiles && chmod -R 777 /var/lib/samba/profiles
questo è necessario poichè i clients Microsoft accedono in scrittura a tale directory per creare il profilo degli utenti di rete.
• Il comando wins_server = yes unito ad una opportuna (vedi sezione dedicata alla configurazione dei clients) qualifica il server SAMBA come
WINS server e permette pertanto di impedire di inutili broadcasts dei clients per localizzare il loro NETBIOS server.
• Acquisire il SID del PDC con il comando:
net rpc getsid
Configurare i client
• Installare come root la libreria per il supporto LDAP con il comando:
apt-get -y install libnss-ldap
• Se volete usare soltanto LDAP e non permettere l'accesso ai client agli utenti locali dovete usare nei tre files visti le direttive:
account required pam_ldap.so
account required pam_ldap.so nullok_secure
account required pam_ldap.so
• Se volete abilitare l'automount del filesystem SAMBA utilizzate il programma autofs installandolo come segue:
apt-get -y install autofs
• Ora per impedire il broadcast sulla rete per l'individuazione del server WINS modificare il file /etc/samba/smb.conf come segue :
wins server = <IP o FQDN SAMBA PDC>
Ulteriori risorse
• Guida a autofs
Configurare un Server con Ubuntu 35
AutenticazioneActiveDirectory
Introduzione
Ci sono due principarli concetti per gli utenti: l'autenticazione e gli account.Con l'autenticazione di Active Directory (d'ora in poi AD) si usa il protocollo
Kerberos 5 mentre per gli account si usa LDAP. Prima di tutto è necessario configurare Kerneros 5 e LDAP in modo da gestire gli utenti un una AD.In questo
articolo verranno usati i seguenti indirizzi IP , di conseguenza adattateli alle vostre esigenze.
10.30.2.1 Router and DNS server or proxy
10.30.2.2 DHCP and TFTP server
10.30.2.10 NFS server
10.30.2.20 LTSP server
10.30.2.100-200 LTSP clients
Si da per sconattaio che AD sia confugurato con un dominio AD del tipo EXAMPLE.COM e ccon un utente creato del tipo:
account name: wendy
UID: 1002
GID: 1002
home directory: /home/wendy
shell: /bin/bash
Account
Per gli account LDAP è necessario il pacchetto libnss-ldap che non è presente sul CD di Dapper ma è disponibile nei repository Universe.Una volta
aggiunti tali repository è sufficiente dare :
$ sudo apt-get update
$ sudo apt-get install libnss-ldap
# (AD) mappings
# <to> <from>
nss_map_attribute userPassword sambaPassword
nss_map_attribute gecos name
nss_map_attribute uid unixName
nss_map_attribute shadowLastChange pwdLastSet
nss_map_objectclass posixGroup group
pam_filter objectclass=User
pam_password crypt
protocols: db files
services: db files
ethers: db files
Configurare un Server con Ubuntu 36
rpc: db files
netgroup: nis
Testing
Il comando getent mostrerà il contenuto del servizio, così una volta configurato Active Directory con un utente e con libnss-ldap configurato,
dovremmo essere in grado di vedere gli utenti extra e i gruppi.
$ getent passwd
gdm:x:111:
test:x:1000:
wendy:x:1002:
Per visualizzare gli utenti tramite LDAP è necessario installare il pacchetto ldap-utils
$ sudo apt-get install ldap-utils
$ ldapsearch -x -H ldap://10.30.2.2 "(objectClass=posixAccount)" sAMAccountName
# extended LDIF
#
# LDAPv3
# base <> with scope sub
# filter: (objectClass=posixAccount)
# requesting: sAMAccountName
#
# search result
search: 2
result: 0 Success
# numResponses: 2
# numEntries: 1
Autenticazione
Ora che le informazioni relative agli utenti sono presenti, è necessario configurare Linux affinché gli utenti possano effettuare il login.Il protocollo di login di
AD è Kerberos 5, quindi è necessario installare il modulo PAM Kerberos 5 e il pacchetto client per procedere al test.
$ sudo apt-get-install heimdal-clients libpam-heimdal
[realms]
EXAMPLE.COM = {
kdc = 10.30.2.2:88
}
[domain_realm]
.example.com = EXAMPLE.COM
example.com = EXAMPLE.COM
Aggiorniamo la configurazione di PAM in modo da verificare gli account Kerberos /etc/pam.d/common-auth scegliamo se vogliamo un prompt di
login di Kerberos oppure un prompt classico.
#
# /etc/pam.d/common-auth - authentication settings common to all services
#
# This file is included from other service-specific PAM config files,
# and should contain a list of the authentication modules that define
# the central authentication scheme for use on the system
# (e.g., /etc/shadow, LDAP, Kerberos, etc.). The default is to use the
# traditional Unix authentication mechanisms.
#
Configurare un Server con Ubuntu 37
Aggiunlgiamo la seguente linea se vogliamo creare automaticamente le home per i nuovi utenti.
session required pam_mkhomedir.so umask=0022 skel=/etc/skel
Le password Samba 4 non possono essere modificate tramitekpasswde quindi le configurazioni di common-password sono irrilevanti.Le informazioni
degli account sono gestite già tramite pam_unix con NSS e libnss-ldap quindi non sono necessarie modifiche per common-account comunque
ulteriori informazioni sono disponibili nelle seguenti linee di codice.
#
# /etc/pam.d/common-account - authorization settings common to all services
#
# This file is included from other service-specific PAM config files,
# and should contain a list of the authorization modules that define
# the central access policy for use on the system. The default is to
# only deny service to users whose accounts are expired in /etc/shadow.
#
account required pam_unix.so
account [default=bad success=ok user_unknown=ignore service_err=ignore system_err=ignore] pam_krb5.so
Attenzione
Se AD gira su in PC con ... non c'è un orologio con batteria di backup.Questo significa che quando la macchina vien spenta per un certo periodo di tempo ,
l'orologio verrà resettato.quando la macchina verrà riaccesa sarà necessaria una connessione internet per risincronizzare l'ora.senza una risincronizzazione
dell'orologiao , Kerberos non permettrò il login ai clients.
Testing
Con l'AD in esecuzione e un account impostato , cerchiamio di acquisire alcuni dettagli con il comando kinit.
$ kinit wendy
wendy@EXAMPLE.COM's Password:
Orologio
Per sicurezza e efficacia dell'orologio, Kerberos necessita che tutti gli orologi siano sincronizzati.Altrimenti il comando kinit fallirà.
kinit: krb5_get_init_creds: Too large time skew
Il setup della sincronizzazione dell' orologio con il programma ntpudate; la sincoronia si mantiene tramite un server ntpd.
$ sudo apt-get install ntpdate
$ sudo ntpdate ntp.ubuntu.com
25 Jul 16:22:06 ntpdate[8158]: step time server 82.211.81.145 offset 402569.951826 sec
$ sudo apt-get install ntp-simple
Per testare gli account è necessario un sistema di login, poichè è necessario per LTSP allora procediamo all' installazione del server OpenSSH e del client.
$ sudo apt-get install openssh-server openssh-client
The programs included with the Ubuntu system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
Se ricevete un' errore di password , confermate il funzionamento corretto della password tramite il comando kinit, se tutto funziona potrebbe esserci un
problema di sincronizzazione dell' orologio tra il server AD e il vostro server.Prima di tutto dobbiamo abilitare il debug del login tramite il
modulo pam_krb5 ,modifichiamo il file common-auth e aggiungiamo la parola chiave "debug" alla fine della riga di Kerberos.
auth sufficient pam_krb5.so minimum_uid=1000 use_first_pass debug
Provate ad eseguire nuovamente il login e controllate /var/log/auth.log che dovrebbe spiegarvi la il motivo del mancato login.
Il seguente errore indica una /etc/krb5.keytab non valida , di solito non è un problema.
Aug 7 20:00:05 ubuntu sshd[4764]: pam_krb5: pam_sm_authenticate(ssh wendy): entry:
Aug 7 20:00:05 ubuntu sshd[4764]: pam_krb5: verify_krb_v5_tgt(): krb5_kt_read_service_key(): Key table entry not found
Aug 7 20:00:05 ubuntu sshd[4764]: pam_krb5: pam_sm_authenticate(ssh wendy): exit: success
Aug 7 20:00:05 ubuntu sshd[4764]: Failed password for wendy from 10.0.0.69 port 39428 ssh2
Shadow password
Una delle cause di fallimento consite nel fatto che i dettagli degli account nascosti non possono essere trovati, controllate di avere
/etc/nsswitch.conf:
shadow: files ldap
Scambio di dominio
I seguenti errori indicano un host name non corretto, nome di domio o dominio AD.
Sep 9 17:35:00 ubuntu sshd[8088]: pam_krb5: pam_sm_authenticate(ssh steve-o): entry:
Sep 9 17:35:00 ubuntu sshd[8088]: pam_krb5: verify_v5_tgt(): krb5_sname_to_principal(): Cannot determine realm for host
Sep 9 17:35:00 ubuntu sshd[8088]: pam_krb5: pam_sm_authenticate(ssh steve-o): exit: failure
Sep 9 17:35:00 ubuntu sshd[8088]: Failed password for steve-o from 127.0.0.1 port 52992 ssh2
Verificate che /etc/hostname coincida con /etc/hosts e che coincida con l'intera voce dominio in /etc/krb5.conf .Gli esempi che seguino
evidenziano dove il nome del dominio deve apparire.
• /etc/hostname:
ubuntu.
• /etc/hosts:
127.0.0.1 localhost
10.82.6.10 ubuntu. ubuntu
• /etc/krb.conf:
[libdefaults]
default_realm = EXAMPLE.COM
[realms]
EXAMPLE.COM = {
kdc = 10.30.2.2:88
}
[domain_realm]
example.com = EXAMPLE.COM
Configurare un Server con Ubuntu 39
Ulteriori risorse
• Documento originale
Configurare un Server con Ubuntu 40
Monit
Introduzione
Monit è una applicazione utile a monitorare lo stato di file, directory, processi e periferiche. È in grado di intraprendere particolari misure di manutenzione
nel caso in cui riscontri particolari anomalie.
Installazione
Il programma è presente nel componente universe dei repository ufficiali. Una volta abilitato tale componente è sufficiente installare il pacchetto monit.
Configurazione
Per configurare l'applicazione è sufficiente modificare con un editor di testo con i privilegi di amministrazione il file di configurazione
/etc/monit/monitrc.
Prima di tutto è necessario specificare quali server di posta verranno utilizzati per l'invio dei messaggi di notifica. È possibile aggiungere diversi server di
posta con le relative porte. Supponendo di voler utilizzare per l'invio della posta i server mx1.example.com con porta standard 25 e
mx2.example.com, con porta 10025, occorre aggiungere al file di configurazione la seguente direttiva:
set mailserver mx1.example.com,
mx2.example.com port 10025
Specificare poi l'indirizzo mittente da cui l'applicazione invierà la posta, ad esempio monit@example.com:
set mail-format { from: monit@example.com }
Specificare l'indirizzo a cui le mail di notifica dovranno essere consegnate (es. sysadmin@example.com)
set alert sysadmin@example.com
Abilitare il server web interno per accedere all'interfaccia di amministrazione. È possibile specificare a quali indirizzi consentire l'accesso (es. localhost)
e quali utenti, con le relative password. Nell'esempio che segue verrà configurato un singolo accesso di amministrazione per l'utente «admin» con password
«monit»:
set httpd port 2812 and
use address localhost # accetta connessioni solo da localhost
allow localhost # permette la visualizzazione solo se la richiesta proviene da localhost
allow admin:monit # utente admin con password monit
Una configurazione più sicura prevede l'utilizzo di SSL. Per far ciò è necessario generare un certificato x509 valido. Supponendo che questo sia contenuto,
insieme alla relativa chiave privata, nel file /var/certs/monit.pem occorre aggiungere una direttiva del seguente tipo:
set httpd port 2812 and
SSL ENABLE
PEMFILE /var/certs/monit.pem
allow admin:monit
Qualora si vogliano monitorare le risorse utilizzate dal sistema, è possibile aggiungere una regola che avvisi l'amministratore nel caso in cui alcune soglie
vengano superate. Quello che segue è un esempio generico:
check system server.example.com
if loadavg (1min) > 4 then alert
if loadavg (5min) > 2 then alert
if memory usage > 75% then alert
if cpu usage (user) > 70% then alert
if cpu usage (system) > 30% then alert
if cpu usage (wait) > 20% then alert
Se si desidera invece monitare i permessi e il proprietario di una particolare cartella di sistema è utile aggiungere una regola simile alla seguente:
check directory bin with path /bin
if failed permission 755 then unmonitor
if failed uid 0 then unmonitor
if failed gid 0 then unmonitor
Per monitare un servizio di sismtema è utile aggiungere una direttiva simile alla seguente:
check process slapd with pidfile /var/run/slapd/slapd.pid
start program = "/etc/init.d/slapd start"
stop program = "/etc/init.d/slapd stop"
if failed host 192.168.1.1 port 389 protocol ldap3 then restart
if 5 restarts within 5 cycles then timeout
Nella configurazione dell'esempio sopra citato, qualora il server ldap risultasse non disponibile, monit provvederà a riavviarlo.
Per monitare un PC remoto su cui gira una istanza di MySql, è utile aggiungere una direttiva simile alla seguente:
check host myserver with address 192.168.1.1
if failed icmp type echo count 3 with timeout 3 seconds then alert
if failed port 3306 protocol mysql with timeout 15 seconds then alert
Le diciture «myserver» e «192.168.1.1» vanno sostituite con gli indirizzi adatti ai propri scopi.
Configurare un Server con Ubuntu 41
Ulteriori risorse
• Sito ufficiale del progetto
• Esempi di configurazione
• Server Monitoring With munin And monit On Debian Etch
Configurare un Server con Ubuntu 42
Munin
Introduzione
Munin è un'applicazione che produce e stampa grafici che rivelano l'attività di numerosi aspetti del sistema.
All'interno della guida si utilizzerà come esempio un setup composto da due host, uno avente come indirizzo IP 192.168.0.100 e come nome
host1.example.com, l'altro con indirizzo 192.168.0.101 e con nome host2.example.com.
Preparativi
Il programma è presente nel componente universe dei repository ufficiali.
Installazione
Un'unica istanza di munin, denominata master, può mostrare i grafici di più host, su ognuno dei quali deve essere installato il pacchetto munin-node.
L'applicazione raccoglie periodicamente le informazioni di monitoraggio dai vari host inserendole nella cartella /var/www/munin.
Configurazione
Configurare il master
Per configurare munin è sufficiente modificare con un editor di testo con i privilegi di amministrazione il file di configurazione
/etc/munin/munin.conf.
Una volta aperto il file, modificare la sezione relativa a «localhost.localdomain» presente all'interno del file /etc/munin/munin.conf, specificando
l'indirizzo e il nome del master come nel seguente esempio:
dbdir /var/lib/munin
htmldir /var/www/munin
logdir /var/log/munin
rundir /var/run/munin
tmpldir /etc/munin/templates
[host1.example.com]
address 127.0.0.1
use_node_name yes
Per applicare le modifiche sarà necessario riavviare il servizio con il seguente comando:
sudo /etc/init.d/munin-node force-reload
Alla configurazione del master va aggiunta la seguente sezione all'interno del file /etc/munin/munin.conf:
[host2.example.com]
address 192.168.0.101
use_node_name yes
Dopo qualche minuto, all'indirizzo http://host1.example.com/munin, saranno presenti le statistiche di tutti gli host configurati come descritto in precedenza.
Configurare un Server con Ubuntu 43
Visualizzare le statische
Per poter visualizzare le statistiche è necessario disporre di un server web. Per installare apache consultare la relativa guida.
Per ragioni di sicurezza la cartella /var/www/munin dovrebbe essere protetta mediante autenticazione.
Ulteriori risorse
• Sito ufficiale del progetto
• Server Monitoring With munin And monit On Debian Etch
Configurare un Server con Ubuntu 44
Nagios
Introduzione
NAGIOS è un sistema di monitoraggio dei servizi e delle risorse di una rete.
Tutti gli amministratori di sistemi potranno giovarne, perché tutti sanno quanto sia difficile tenere sotto controllo le risorse ed il corretto funzionamento di
una rete con una cospicuo parco macchine.
Installazione
Il pacchetto necessario è nagios-mysql installabile con il comando:
sudo apt-get -y install nagios-mysql
Configurazione
Le modifiche seguenti devono essere eseguite con i privilegi di amministrazione.
• Modificare il file /etc/apache2/sites-enabled/000-default nel seguente modo:
• Aggiungere in coda la direttiva <VirtualHost vostroIP>
• Nella shell eseguire il comando
cat /etc/nagios/apache.conf >> /etc/apache2/sites-enabled/000-default
AllowOverride AuthConfig
Order Allow,Deny
Allow From All
AllowOverride AuthConfig
Order Allow,Deny
Allow From All
• Fornire i permessi di accesso all'utente nagios sulle tabelle del database SQL nagios appena creato:
mysql nagios
mysql>GRANT SELECT, INSERT, UPDATE, DELETE ON nagios.* TO nagios@localhost IDENTIFIED BY 'password';
mysql>GRANT LOCK TABLES ON nagios.* TO nagios@localhost IDENTIFIED BY 'password';
• Modificare i file /etc/nagios/resource.cfg e /etc/nagios/cgi.cfg togliendo i commenti e sostituendo i valori dei parametri con
quelli della vostra configurazione del database mysql:
xsddb_database=nagios
xsddb_username=nagios
xsddb_password=password
Configurare un Server con Ubuntu 45
xcddb_database=nagios
xcddb_username=nagios
xcddb_password=password
xdddb_database=nagios
xdddb_username=nagios
xdddb_password=password
xrddb_database=nagios
xrddb_username=nagios
xrddb_password=password
• Eseguire il comando:
cp /usr/share/doc/nagios-common/check_nagios_db /etc/nagios/ && chmod 744 /etc/nagios/check_nagios_db
• Editate il file /etc/nagios/hosts.cfg aggiungendo alla riga 40 l'indirizzo IP del server NAGIOS come nell'esempio:
address 192.168.77.1
• Eseguire il comando:
cp /usr/lib/cgi-bin/nagios/* /usr/share/nagios/htdocs/
• Ccontrollare che l'utente nagios@dbipaddress abbia accesso al database nagios definito, ovvero che la sua password sia corretta.
• In caso contrario si usi l'utility mysql-navigator da installare con
apt-get -y install mysql-navigator
per resettarla.
• Per riavviare è sufficiente il comando:
/etc/init.d/nagios restart
Configurare un Server con Ubuntu 46
Nessus
Introduzione
Nessus è un programma che tramite lo scan e l'abilitazione di plugins appositamente configurabili a seconda della tipologia di host e vulnerabilità che si
andrà ad analizzare, rileva le vulnerabilità presenti suggerendo le possibili soluzioni creando report.
Installazione
I pacchetti necessari sono nessusd e nessus installabili da terminale con:
sudo apt-get -y install nessusd
sudo apt-get -y install nessus
Configurazione
Nessus consiste di una parte server che va installata sul server da indagare e di una parte client che si installa sulla workstation dalla quale si vuole lanciare il
Vulnerability Assessment.
• L'unica cosa da fare prima di lanciare il client nessus è eseguire il comando sul server da indagare:
nessus-adduser
questo presenterà la richiesta di login e password dell'utente che si collegherà al servizio nessusd.
• Una volta fatto ciò lanciare il comando :
/etc/init.d/nessusd
ed immettere come credenziali di accesso quelle create sul server nessus centrale.
• Nella finestra target immettere l'IP o il FQDN del server su cui effettuare il vulnerability assessment e lanciare l'esecuzione.
• Il report può essere salvato facilmente in formato testo e riesaminato per verificare le vulnerabilità del vostro server.
Configurare un Server con Ubuntu 47
Ntop
Introduzione
Ntop è un programma che effettua monitoraggi di rete, è in grado di mostrate i computer attivi all'interno della rete e fornire informazioni riguardo l'indirizzo
IP e il traffico generato da ogni computer. Il traffico viene ordinato in base al computer e al tipo di protocollo. I protocolli supportati e configurabili sono:
• TCP/UDP/ICMP
• (R)ARP
• IPX
• DLC
• Decnet
• AppleTalk
• Netbios
• TCP/UDP
• FTP, HTTP, DNS, Telnet, SMTP/POP/IMAP, SNMP, NFS, X11
• Fibre Channel
• Control Traffic (SW2, GS3, ELS)
• SCSI
Installazione
Per ottenere Ntop è sufficiente installare il pacchetto ntop reperibile dai repository ufficiali.
Configurazione
Prima d'avviare l'applicazione è necessario impostare una password di amministrazione:
sudo ntop --set-admin-password
Avvio
Avviare il browser predefinito e andare all'indirizzo: http://localhost:3000
Ulteriori risorse
• Documento originale
• Sito ufficiale
Configurare un Server con Ubuntu 48
SmokePing
Versioni supportate:
Ubuntu 8.04 Hardy Heron
Ubuntu 7.10 Gutsy Gibbon
Introduzione
SmokePing è un analizzatore di rete che permette il monitoraggio di domini e sotto-domini. È possibile inoltre monitorare servizi come Server DNS, FTP e
altri ancora.
Preparazione
Per accedere all'interfaccia web dell'applicazione è necessario installare il server web apache. Per informazioni sull'installazione e la configurazione,
consultare la relativa guida.
Installazione
Per installare SmokePing è necessario installare i seguenti pacchetti, reperibili dal componente universe dei repository ufficiali:
• smokeping
• curl
• libauthen-radius-perl
• libnet-ldap-perl
• libnet-dns-perl
• libio-socket-ssl-perl
• libnet-telnet-perl
• libsocket6-perl
• libio-socket-inet6-perl
Configurazione
Creare con un editor di testo e con i privilegi di amministrazione il file /etc/smokeping/config e inserire un testo simile al seguente:
# Please edit this to suit your installation
owner = Nome Cognome
contact = indirizzo@email
cgiurl = http://localhost/cgi-bin/smokeping.cgi
mailhost = Server SMTP
# specify this to get syslog logging
syslogfacility = local0
# each probe is now run in its own process
# disable this to revert to the old behaviour
# concurrentprobes = no
Modificare i parametri «Nome Cognome», «indirizzo@email» e «Server SMTP» adattandoli alle proprie esigenze.
Ogni modifica al file di configurazione per essere applicata necessita il riavvio del servizio. A tale scopo è sufficiente digitare il seguente comando:
sudo /etc/init.d/smokeping restart
Messaggio di benvenuto
Nelle impostazione è possibile modificare il messaggio di benvenuto. Sempre nel file /etc/smokeping/config inserire il proprio messaggio nel
parametro «remark».
menu = Mondo
title = Connettività mondiale
++ Europa
menu = Europa
title = Connettività europea
+++ Svizzera
menu = Svizzera
Configurare un Server con Ubuntu 49
I caratteri «+» stanno ad indicare i vari sottolivelli che compongono i menù, mentre i parametri come «host», «menu» e «title» indicano la configurazione da
applicare.
+ DNS
binary = /usr/bin/dig
lookup = dominio.abc
pings = 10
step = 200
[...]
+ Servizi
menu = Latenza Server
title = Monitoraggio latenza (DNS, HTTP)
++ DNS
probe = DNS
menu = Latenza DNS
title = Latenza DNS
In questo esempio viene monitorata la latenza di un server DNS. Nella sezione «Probes» viene dichiarato un comando che verrà poi richiamato nella sezione
«Targets» per la creazione del grafico.
Ulteriori risorse
• Sito ufficiale del progetto
• Articolo su HowToForge
Configurare un Server con Ubuntu 50
Wireshark
Introduzione
Wireshark è un analizzatore di protocolli (packet sniffer), che permette di monitorare e filtrare tutti i pacchetti che passano attraverso una o più interfacce di
rete.
In questa guida non viene indicato come interpretare i dati monitorati, in quanto è necessaria un'approfondita conoscenza dei protocolli di rete e
dei modelli ISO/OSI, nonchè del protocollo TCP/IP.
Installazione
Wireshark è disponibile nel componente universe dei repository ufficiali. Dopo aver abilitato tale componente è sufficiente installare il pacchetto wireshark.
Configurazione
Per configurare il monitoraggio della scheda di rete è utile cliccare su Capture -> Options.... Per esempio, nel menù a tendina è possibile scegliere
l'interfaccia di rete che si desidera monitorare. A seconda della propria scheda di rete scelta, è inoltre possibile vedere il relativo indirizzi IP.
All'interno della sezione «Capture file(s)» è possibile salvare in un file di testo tutto ciò che verrà loggato dall'applicazione. In «Stop capture» è invece
possibile impostare delle condizioni che, quando verificate, comporteranno l'immediato arresto delle operazioni di cattura. In «Name Rosolution» è
possibile attivare la risoluzione dei nomi della rete.
Cattura
Una volta configurato il programma, per avviare il monitoraggio dei pacchetti, è sufficiente cliccare su Capture -> Start. In alternativa, è possibile
selezionare le interfacce desiderate dalla voce Capture -> Interfaces.... Apparità la seguente finestra, dalla quale sarà possibile scegliere le singole interfacce
per le quali avviare il monitoraggio:
Per terminare le operazioni è sufficiente cliccare su «Stop». Terminata la cattura, verrà mostrato il log contenente tutti i pacchetti inviati e ricevuti attraverso
la propria rete.
Filtri
Wireshark consente di impostare dei filtri: con il programma ve vengono offerti alcuni già preimpostati, è inoltre possibile crearne altri personalizzati.
Di seguito vengono elencati i filtri più comuni:
Nome Filtro Descrizione
IP address 192.168.0.1 ip.addr == 192.168.0.1 Filtrare tutte le righe che hanno a che fare con l'IP 192.168.0.1
No ARP and no DNS not arp and !(udp.port == 53) Non visualizza le informazioni riguardanti il protocollo ARP e tutte le porte UDP 53
Creare un filtro
È possibile creare dei filtri personalizzati: wireshark visualizzerà solo i dati rientreranno nelle condizioni del filtro.
A tale scopo si può procedere cliccando su Analyze -> Display Filters.... Verrà visualizzata una finestra, all'interno della quale si trovano tutti i filtri già
configurati. Per creare un nuovo filtro è sufficiente assegnargli un nome e cliccare su «Nuovo». Per configurare i parametri relativi ai pacchetti e agli
indirizzi da filtrare, cliccare su «Expression...»: si aprirà una finestra dalla quale sarà possibile scegliere il tipo di pacchetto e i relativi parametri.
Per esempio, si potrebbe decidere di creare un filtro che mostri il traffico dei pacchetti solo esclusivamente per la porta TCP 60754. All'interno di Wireshark
Dsplay Filter, digitare il seguente testo all'interno della casella «Filter name»:
TCP porta 60754
Infine cliccare su «Nuovo», dunque su «Expression...». All'interno della finestra Wireshark Filter Expression scegliere la voce TCP -> tcpsrcport -
Source Port, dunque selezionare «==» all'interno di «Relation», infine, in «Value», impostare 60754 come numero della porta.
Una volta applicato il filtro ecco il risultato:
Configurare un Server con Ubuntu 52
Protocolli supportati
Wireshark è in grado di leggere un grosso numero di protocolli, i principali sono:
• TCP: (Transmission Control Protocol) è un protocollo corrispondente al livello 4 (trasporto) del modello di riferimento OSI.
• UDP: (User Datagram Protocol) è un protocollo di trasporto a pacchetto. È usato di solito in combinazione con il protocollo IP.
• ICMP: (Internet Control Message Protocol) è un protocollo di servizio che si preoccupa di trasmettere informazioni riguardanti malfunzionamenti.
• ARP: (Address Resolution Protocol) è un protocollo che fornisce la "mappatura" tra l'indirizzo IP di un calcolatore e il suo MAC address.
La lista completa dei protocolli supportati dall'applicazione si può visualizzare da Analyze -> enabled protocols...; dallo stesso menu è possibile anche
scegliere quali protocolli abilitare e quali disabilitare.
Ulteriori risorse
• Sito ufficiale Wireshark
• Guida ufficiale Wireshark
• Informazioni sui protocolli Internet
• Modello ISO/OSI
• Modello TCP/IP
Configurare un Server con Ubuntu 53
Proxy
Introduzione
Un server proxy all'interno di una rete ha la fondamentale funzione di controllare i processi di autenticazione degli utenti durante i loro accessi ad Internet.
Per poter fare ciò è necessario configurare ogni client in modo che nel momento in cui tenta di connettersi ad internet passi per il nodo che funge da server
proxy, il quale dovrà a sua volta richiedere l'autenticazione dell'utente e del client e controllare le credenziali di accesso fornite e la loro rispondenza ai criteri
stabiliti dal server proxy.
Il proxy server è pertanto un controllore centrale delle credenziali di accesso ad un sistema che opera con ACL sia a livello utente che a livello host , nonché
selezionando siti e percorsi di ricerca da accettare o scartare.
Ovviamente una volta ottenuta la convalida dell'autenticazione ciascun client ha accesso al servizio fornito dal proxy server, in questo caso l'accesso alle
pagine internet.
Tali pagine richieste dai client vengono risolte nel primo accesso direttamente dal server proxy e poi ogni successiva richiesta della stessa pagina da parte di
un client verrà evasa usando l'informazione che il proxy ha nella sua memoria cache.
Ritorna il principio di località dell'informazione in base al quale la minimizzazione dei temnpi di accesso ad una determinata informazione è garantito
dall'uso di una memoria locale e volatile ad accesso molto rapido.
Prima di installare
Prima di cominciare, come prerequisito, è necessario:
• Pianificare un corretto partizionamento del disco
• Dedicare, se possibile, una partizione apposita per /var/log ed una specifica per /var/cache/squid
Installazione
Per installare il server proxy aprire una shell e digitare
sudo apt-get -y install squid
Configurazione
La directory di configurazione del server proxy è /etc/squid ed il file è squid.conf.
I file di log sono contenuti all'interno della directory /var/log/squid e contengono informazioni sugli accessi e sugli hit o miss di ogni pagina (ovvero
sull'efficienza del proprio server proxy).
A tal proposito occorre precisare che il tasso di hit riflette l'efficienza del server proxy poiché tanto più alto è il numero di pagine richieste dai client e trovate
nella memoria cache del sevrer proxy tanto minore sarà il numero di richieste che il server proxy stesso dovrà fare per ottenere tali pagine.
Ovviamente tale fattore di efficienza dipende sia dalle dimensioni della cache che dal tipo di richieste dei client e solitamente anche dal tempo trascorso dalla
fine del setup del proxy server.
Come detto il file per la configurazione del servizio proxy è /etc/squid/squid.conf. Adesso si vedrà nel dettaglio cosa bisogna modificare per
ottenere un proxy perfettamente funzionante.
Innanzitutto, è necessario specificare l'indirizzo IP e la porta su cui il sevrer proxy sarà in ascolto attraverso la direttiva :
http_port 192.168.20.101:3128
In questo esempio è in ascolto sull'IP 192.168.20.101 e sulla porta 3128. Bisogna configurare l'IP e la porta su tutti i client che dovranno usufruire del
servizio proxy.
A questo punto occorre specificare le dimensioni della memoria cache da usare per il servizio proxy come segue :
cache_mem 8MB
Nell'esempio, il valore predefinito è 8MB. È possibile modificarlo in base alle dimensioni della propria RAM.
Il valore di questo parametro dipende dalle dimensioni degli oggetti che il proxy deve memorizzare e dal numero di questi ultimi. Ad esempio, se si hanno
1000 client che richiedono ciascuno una pagina diversa delle dimensioni medie di 500KB servono 500*1000=500MB di cache!! Ovviamente questo è un
caso limite ma aiuta a capire come determinare con semplici conti la quantità di cache necessaria.
Altri parametri importanti sono:
• maximum_object_size: gli oggetti con dimensioni maggiori di quelle riportate non vengono scritti su disco (ovvero non sono sottoposti a
swapping)
• minimum_object_size: gli oggetti con dimensioni minori di quelle riportate non vengono scritti su disco (ovvero non sono sottoposti a
swapping)
• maximum_object_size_in_memory: gli oggetti con dimensioni maggiori di quelle riportate non vengono mantenuti nella memoria cache (cioè
Configurare un Server con Ubuntu 54
vengono scartati)
E' evidente che l'ultimo parametro deve essere abbastanza alto da permettere che il più grande oggetto richiesto dai client serviti sia mantenuto nella cache, e
pertanto tale valore dipende dalla "qualità" delle richieste dei client (ovvero dal tipo di pagine ed oggetti richiesti).
I parametri che seguono riguardano il tipo di algoritmi usati per la gestione della memoria cache e della RAM da parte del proxy :
• cache_replacement_policy lru: significa che il proxy rimpiazzerà gli oggetti nella cache usati meno di recente (least recently used
algorithm)
• memory_replacement_policy lru: significa che il proxy rimpiazzerà gli oggetti nella memoria usati meno di recente (least recently used
algorithm)
Generalmente questi parametri sono impostati in modo predefinito.
La direttiva successiva riguarda la directory su disco da usare come area di caching delle richieste degli oggetti pervenute al proxy dai client:
cache_dir ufs /var/spool/squid 80000 16 256
La directory è di tipo ufs (il tipo di filesystem usato per il caching dei documenti richiesti) e /var/spool/squid ed i parametri specificati di seguito
sono:
• 80000: è la dimensione massima che questa directory può raggiungere prima che venga applicato l'algoritmo lru per lo svuotamento della cache
stessa;
• 16: è il numero di sotto cartelle di primo livello create di default dal server proxy in /var/spool/squid;
• 256: è il numero di sotto cartelle di secondo livello create di default dal server proxy in /var/spool/squid
In generale, si potrebbe voler specificare una diversa cartella per il caching delle pagine squid (soprattutto se avete predisposto una partizione dedicata a ciò
in fase di preparazione del sistema) ed un diverso valore della massima dimensione della memoria cache.
I parametri successivi riguardano i file di log e sono :
• cache_access_log in /var/log/squid/access.log: specifica il file contenente i log degli accessi (le richieste di oggetti pervenute al
proxy)
• cache_log in /var/log/squid/cache.log: specifica il file di log che vi dice come si sta comportando il vostro server proxy (tasso di hit e
miss delle pagine richieste)
• cache_store_log in /var/log/squid/store.log: specifica il log file che mostra dove e come sono gestiti gli oggetti nella cache
Il parametro successivo è:
• dns_nameservers 192.168.20.101: questo specifica l'IP del DNS cui devono essere girate le query DNS per la localizzazione degli host
che posseggono le pagine richieste.
È evidente che il server proxy lavorerà a stretto contatto con un DNS, pertanto non sarebbe una cattiva idea implementare un caching DNS interno per
velocizzare la risoluzione DNS.
questo dice al server proxy di usare il programma squid_ldap_group per autenticare tutti gli utenti LDAP del dominio base
dc=example,dc=com (cambiatelo con il vostro)
• auth_param basic children 5
questo dice che il numero di sottoprocessi di autenticazione allo startup del server proxy deve essere 5
• auth_param basic credentialsttl 2 hours
questo vi dice che dopo 2 ore le credenziali di accesso dovranno essere reinserite perchè il vostro proxy le richiederà
• auth_param basic casesensitive on
questo dice che il vostro proxy è case-sensitive ovvero che distingue fra maiuscole e minuscole sia per username che per password immesse dagli
utenti.
• Dopo aver detto al proxy che dovrà usare il modulo LDAP per l'autenticazione degli utenti che gli si presenteranno si passa alla definizione delle liste
di controllo di accesso al servizio come segue:
acl example proxy_auth REQUIRED
questo dice che il gruppo di utenti example può accedere al servizio solo se autorizzato (richiesta di credenziali di accesso username e password da
confrontare con quelle dei corrispondenti utenti LDAP). Questo parametro identifica un meccanismo di sicurezza basato sul controllo utenti.
• acl example.com src 192.168.20.0/24
questo dice che soltanto i clients della sottorete 192.168.20.0/24 possono usufruire del servizio proxy (cioè una macchina con IP 10.0.0.1 non potrà
Configurare un Server con Ubuntu 55
usare il servizio proxy neanche in caso di utente autorizzato). Questo parametro identifica un meccanismo di sicurezza basato sul controllo dei clients.
• acl hotmail dstdomain .hotmail.com
questo parametro configura una lista dei controllo accessi per tutti gli oggetti appartenenti al dominio .hotmail.com (cioè tutti gli oggetti in esso
inclusi). Come si vede le ACL possono essere definite a livello di utenti, di computer o di oggetti gestiti dal proxy.
Dopo aver definito il metodo di autorizzazione usato dal server proxy e le ACL definiamo le azioni del server proxy sulle ACL così definite (ovvero permetti
o blocca).
I parametri a ciò deputati sono:
• http_access allow example
questo dice al server proxy di accettare le richieste provenienti dagli utenti del gruppo example (che sono tutti quelli definiti nel gruppo LDAP
dc=example,dc=com) soltanto se sono autorizzati (vedi la definizione di ACL proxy_auth REQUIRED)
• http_access allow example.com
questo dice al server proxy di accettare le richieste provenienti dai client che appartengono alla subnet 192.168.20.0/24
• http_access allow hotmail
questo dice al server proxy di accettare le richieste di tutti gli oggetti che appartegono al dominio hotmail.com
• http_access deny all
questo vuol dire che ai vostri clients potrete passare il nome del server proxy.example.com che gli servirà per configurare l'uso del servizio proxy
Dando un'occhiata al file squid.conf vi renderete conto che esistono moltissime altre direttive di configurazione che potrete usare per ottimizzare il
vostro servizio , ma quelle esposte corrispondono a quelle strettamente necessarie per un coretto funzionamento dello stesso.
• NCSA : è il tradizionale metodo di autenticazione del server Web Apache che sfrutta il modulo
/usr/lib/squid/ncsa_auth
• Gli utenti devono essere creati in un file con il comando htpasswd, esempio:
htpasswd /etc/squid/proxyusers utente
• LDAP che sfrutta un database LDAP e utilizza per il controllo accessi i moduli
/usr/lib/squid/ldap_auth
/usr/lib/squid/squid_ldap_group
SquidGuard
Introduzione
squidGuard è un plug-in che permette di controllare i siti che vengono visitati dagli utenti di squid. squidGuard permette di reindirizzare l'utente ad una
pagina specifica ogni volta che prova ad accedere ad alcuni domini che sono presente all'interno di una blacklist, una lista contenente i domini da bloccare.
Questo plug-in serve, quindi, per filtrare i contenuti che attraversano il server proxy.
Preparativi
È necessario aver abilitato il componente universe dei repository ufficiali. Inoltre, assicurarsi di aver installato il server proxy.
Installazione
Per installare il programma è sufficiente installare il pacchetto squidguard presente nel componente universe dei repository ufficiali.
Configurazione
Configurazione di squid
Per poter utilizzare squidGuard bisogna modificare il file di configurazione di squid in modo da indicare al programma dove risiede squidGuard. Per
aprire il file di configurazione è sufficiente digitare il seguente comando:
sudo nano /etc/squid/squid.conf
Per impostare i permessi per l'accesso al server è necessario decommentare le seguenti righe presenti nella sezione «http_access» del file di configurazione
(circa alla riga 1860):
acl our_networks src 192.168.1.0/24 192.168.2.0/24
http_access allow our_networks
Una volta modificate tali righe, sono stati abilitati tutti gli utenti della rete LAN, o meglio quelli che hanno un indirizzo IP compreso tra 192.168.1.1 e
192.168.1.255 e tra 192.168.2.1 e 192.168.2.255.
Configurazione di squidGuard
Per creare i database contenenti i siti che verranno bloccati è sufficiente digitare i seguenti comandi:
sudo mkdir /var/lib/squidguard/db/weapons/
sudo nano /var/lib/squidguard/db/weapons/domains
Salvare il file e chiudere l'editor, dunque impostare i giusti permessi con il seguente comando:
sudo chown proxy:proxy -R /var/lib/squidguard/db
Una volta trovata, cancellarla insieme a tutto il resto che segue tale riga e inserire il seguente testo:
dest weapons {
domainlist weapons/domains
}
acl {
default {
pass !weapons
redirect http://yourip/block.html
}
}
Per rendere i file del database leggibili da squidGuard è sufficiente digitare il seguente comando:
sudo squidGuard -C all
Configurare un Server con Ubuntu 57
Assicurarsi che l'utente proxy sia il possessore dei file. A tale scopo è sufficiente digitare il seguente comando:
sudo chown proxy:proxy -R /var/lib/squidguard/db
Ora non resta che creare la pagina .html alla quale verranno reindirizzati gli utenti che avranno tentato di connettersi ad alcuni dei domini che sono stati
elencati nel file /var/lib/squidguard/db/weapons/domains. Digitare il seguente comando
sudo nano /var/www/block.html
Il percorso /var/www è la directory principale predefinita del server web apache. Adattare il precedente comando alla propria configurazione.
Nel caso di modifiche alla configurazione, per riavviare squid e squidGuard con le nuove impostazioni è sufficiente digitare il seguente comando:
squid -k reconfigure
Per risolvere tale problema è sufficiente impostare il valore del tag «visible_hostname» all'interno del file di configurazione come da esempio:
visible_hostname localhost
È frequente che avvengano degli errori durante queste fasi. Di seguito sono riportate alcuni consigli per poterli risolvere. Prima di tutto cercare quali e quanti
processi sono attivi con il seguente comando:
ps -e | grep squid
Il risultato di questo comando dovrebbe mostrare 2 processi di squid e 5 di squidGuard. Se cosi non fosse è necessario riavviare Squid con il seguente
comando:
squid -k reconfigure
Se ancora non venissero visualizzati i 7 processi di cui sopra è utile controllare il file di log /var/log/squid/squidGuard.log.
All'interno del file in questione sarà possibile vedere quali problemi si sono verificati durante l'avvio del servizio.
Il proprietario dei file di log, dei file di configurazione o dei database non è corretto
Tali file dovrebbero appartenere all'utente e al gruppo proxy, che è definito di default per squid. Per verificare tali permessi è sufficiente digitare i seguenti
comandi:
sudo chown proxy:proxy /etc/squid/squidGuard.conf
sudo chown -R proxy:proxy /var/lib/squidguard/db
sudo chown -R proxy:proxy /var/log/squid/
Ulteriori risorse
• Documento originale
• Sito ufficiale del progetto
• Elenco di blacklist scaricabili
Configurare un Server con Ubuntu 59
QuotaFilesystem
Introduzione
In questa guida si parlerà di come stabilire le quote per ciascun utente su un filesystem di un server comune.
Ciò sarà utile se si usa un server dedicato per l'accesso dei propri utenti o se si esegue nella propria LAN un Terminal Server per l'esecuzione di applicazioni
(ad esempio se i client non sono PC ma thin client).
Il servizio di quota permette di definire i limiti di spazio disco massimo utilizzabile da ogni utente del sistema.
Per beneficiare di tale servizio bisogna scegliere dell'hardware dedicato e formattare il proprio hard disk (o la propria batteria di hard disk se si utilizza un
sistema SAN) con un filesystem di tipo XFS.
Architettura dell'esempio
Il sistema rappresentato risponde ai seguenti requisiti:
• 1 server dotato di una sola unità disco /dev/hda1
• ogni utente del sistema ha a disposizione uno spazio disco massimo di 2 GB
• l'utente riceverà una email (che gli notifica che lo spazio disco a sua disposizione sta per esaurirsi) quando occuperà più del 80% della sua quota
massima;
• Procedere poi alla formattazione delle unità disco /dev/hda1 con il filesystem xfs con il comando
mkxfs.xfs /dev/hda1
• Aggiungere le utenze del sistema avendo cura di assegnare loro la home directory sul filesystem /mnt/xfs come nell'esempio che segue
useradd -m -d /mnt/xfs/marco marco
• Stabilire lo spazio su disco massimo per l'utente e la quota oltre la quale l'utente verrà avvisato che il suo spazio disco sta per terminare
setquota -u utente 1600000 2000000 10 11 /dev/hda1
• Per avvisare l'utente via email che il suo spazio disco sta per esaurirsi usare il comando
warnquota -u utente
RadiusLDAP
Introduzione
Questa guida spiega come configurare un server RADIUS con database LDAP.
RADIUS è un protocollo che regola i meccanismi di autenticazione di un utente che accede ad una LAN da un computer remoto.
Le parti che costituiscono l'architettura RADIUS sono un server di accesso alla rete, comunemente indicato con la sigla NAS (Network Access Server) e un
server che si occupa di effettuare l'autenticazione dell'utente sulla rete, il server RADIUS appunto.
NAS
Solitamente il NAS è un router dedicato in grado di commutare vari ingressi, ed è collegato direttamente al server RADIUS che si occupa di controllare il
pacchetto contentente le credenziali di accesso dell'utente (username e password).
Tali credenziali vengono confrontate con quelle esistenti in un database relativamente all'utente: in caso di matching l'utente autenticato può accedere ai
servizi della rete, in caso contrario il protocollo prevede la notifica di un messaggio di errore.
La comunicazione fra il NAS ed il server RADIUS è crittografata usando una chiave segreta condivisa da entrambi (secert key) che deve essere
opportunamente creata sia sul NAS che sul server RADIUS e mantenuta riservata.
Uno dei compiti del NAS può essere quello di assegnare al client remoto, dopo l'avvenuta convalida delle credenziali di accsso alla rete dell'utente, un
indirizzo IP compatibile con il range di IP disponibili (il NAS spesso funge da server DHCP , funzionalità questa integrata in molti routers presenti sul
mercato).
Autenticazione
I protocolli di autenticazione dell'utente remoto sul server RADIUS sono PAP (password authentication protocol) e CHAP (challenge handshake
authentication protocol).
Il database delle utenze che fornisce il servizio di backend come supporto al server RADIUS può essere sia un semplice file di testo (ad es il file
/etc/passwd di UNIX) sia un DB dedicato come LDAP o un altro database (PostgreSQL, MySQL).
Installazione
Aprite una shell ed al prompt dei comandi digitate
sudo apt-get -y install freeradius
sudo apt-get -y install freeradius-ldap
Questo installerà i pacchetti necessari per il servizio RADIUS con supporto ad un backend che utilizza un database LDAP.
L'opzione -y di apt-get non chiede la conferma per le azioni legate al processo di instalalzione del software.
Apt installerà pertanto freeradius risolvendo automaticamente le dipendenze necessarie ed avviando il server RADIUS nella configurazione di default.
Se non avete bisogno del DB LDAP potete anche fermarvi qui , in quanto il sistema è già predisposto per supportare l'autenticazione UNIX classica (quella
degli utenti definiti nel file /etc/passwd per intenderci).
Se invece volete utilizzare come DB delle utenze RADIUS un DB LDAP , dovete passare al paragrafo seguente.
secret testing123
shortname routercisco
nastype cisco
dove sostituirete 192.168.200.1 con l'IP del vostro NAS , testing123 con il secret key per la comunicazione fra il vostro NAS ed il server RADIUS,
routercisco con il nome con cui volete chiamare il vostro NAS e cisco con il tipo di NAS utilizzato (i valori possibili dipendono dal modello di NAS
usato, ma in generale i più comuni sono cisco, livingston, e other per indicare un tipo di NAS che non rientra nelle categorie elencate).
Tutti i log files inerenti lo stratup dei servizi dhcp sono contenuti nel file /var/log/syslog e nei file all'interno della directory
/var/log/freeradius/.
e commentare la stringa
accessattr = "dialupAccess"
• nella sezione authorize commentare la riga files e togliere il commento a ldap. Questo dice al vostro server RADIUS che deve usare come
metodo di autorizzazione il DB LDAP e non quello tradizionale UNIX basato sul file /etc/passwd.
• nella sezione authenticate commentare la riga unix e togliere il commento alla sottosezione Auth-Type LDAP. Questo dice al vostro server
RADIUS che deve usare come metodo di autenticazione
il DB LDAP e non quello tradizionale UNIX basato sul file /etc/passwd.
A questo punto potete riavvaire il server RADIUS con il comando:
freeradius -X
che lo avvia in modalità di debug così che possiate controllare che i tentativi di autenticazione avvengono correttamente.
Prima di testare il tutto occorre che creiate nel vostro DB LDAP una ou = users e che vi inseriate almeno un utente di prova.
A questo punto potete procedere ad un test di verifica dell'autenticazione dell'utente RADIUS LDAP così creato usando il comando di test nativo fornito con
freeradius , come segue:
radtest username password 192.168.200.1 123 testing123
ovviamente sostituirete username e password con il nome utente e la password dell'utente LDAP appena creato, 192.168.200.1 con l'IP del vostro
NAS , 123 con la porta usata per la comunicazione fra il server NAS ed il server RADIUS , testing123 con il secret key per la comunicazione protetta
fra NAS e RADIUS.
Configurare un Server con Ubuntu 62
RadiusSQL
Introduzione
In questa guida sono contenute istruzioni utili all'installazione di Radius, un protocollo che regola i meccanismi di autenticazione di un utente che accede ad
una LAN da un computer remoto.
I componenti che costituiscono l'architettura Radius sono:
• un server di accesso alla rete chiamato NAS (Network Access Server);
• un server che si occupa di autenticare l'utente sulla rete.
Installazione
Installare i pacchetti freeradius-mysql e mysql-server, reperibili dai repository ufficiali.
Configurazione
1. Con un editor di testo e privilegi di amministratore modificare il file /etc/freeradius/radiusd.conf commentando nella sezione
authorize tutti i tipi di autorizzazione al di fuori di quelli sql, assicurandosi inoltre che sia presente la direttiva:
$confdir/sql.conf
2. Modificare anche il file /etc/freeradius/sql.conf sostituendo i valori dei parametri database, server, login e password con i
propri dati.
3. Per creare il database MySql Radius ed il file db_mysql.sql contiene le direttive SQL per la creazione delle tabelle, digitare in una finestra di
terminale il seguente comando:
sudo mysqladmin create radius&&cp /usr/share/doc/freeradius/examples/db_mysql.sql.gz .&&gunzip db_mysql.sql.gz&&mysql -u
root -p rootpass radius < db_mysql.sql
4. Inserire nelle tabelle del database gli utenti che si vogliono abilitare per l'autenticazione nelle rete, digitando in una finestra di terminale i seguenti
comandi:
mysql -u root -p -D radius
mysql>insert ... into
Verifica
Digitare in una finestra di terminale il seguente comando:
radtest utente password IPRADIUS portaNAS secret
per riavviare Freeradius in modalità di debug a schermo su una finestra di terminale diversa.
Configurare un Server con Ubuntu 63
SAMBA
Introduzione
Samba è una suite di strumenti utilizzati per la condivisione tra reti miste windows linux, implementando il protocollo di rete SMB, il quale è il cuore del
networking Windows.
Solitamente si avrà bisogno di samba per:
• agire come un client con server Windows: accesso a file e stampanti remote condivisi,
• agire da server per client Windows: condividere cartelle e stampanti, incluse pseudo-stampanti PDF,
• agire da controllore di domini in una rete Windows (autenticazione degli utenti, etc.),
• fare qualcosa di più complesso, come per esempio usare un controller Windows di domini per autenticare gli utenti di una macchina Linux.
Installazione
Per installare samba è sufficiente installare i pacchetti samba e smbfs presenti nei repository ufficiali.
Configurazione
Tutti i parametri di configurazione di samba sono presenti nel file /etc/samba/smb.conf, modificabile con editor di testo con i privilegi di
amministrazione. Ogni volta che si apportano delle modifiche al file sopra citato è necessario riavviare il servizio di samba, digitando il seguente comando
in una finestra di terminale:
sudo /etc/init.d/samba restart
Sezione global
La sezione global si trova sempre all'inizio della configurazione del file /etc/samba/smb.conf e racchiude i principali parametri del server.
[global]
allow hosts = 192.168.1.0/24 # Range di IP che possono accedere al server
workgroup = ubuntu-it # Nome del dominio
server string = server@debianizzati.org # Identificativo del server
create mask = 0755 # Permessi sulle cartelle
Montare condivisione
Per montare una condivisone samba presente su un altro file server, si utilizza il smbmount presente nel pacchetto:
smbmount //SERVER/condivisione /punto/di/mount
Dove /punto/di/mount/ è una directory creata con privilegi di amministrazione solitamente in /media
Condivisione Home
Anche se sconsigliato è possibile anche condividere per interno la home di un utente.
[homes]
comment = Home condivisa # Commento sulla condivisione
browsable = no # Rende visibile la condivisione
valid users = %S # Utente che ci possono accedere
create mask = 0700 # Permessi dei file
direcotory mask = 0700 # Permessi della home
Configurare un Server con Ubuntu 64
Di default ubuntu non crea la cartella /var/spool/samba quindi la si deve creare a mano, ed impostando i permessi di accesso.
sudo mkdir /var/spool/samba
sudo chmod -R 755 /var/spool/samba
Autenticazione
Esistono due possibilità per accedere ad una condivisione samba, la prima è quella di creare un utente samba virtuale tramite il comando:
sudo smbpasswd -a utente
mentre il secondo è quello di accedere alle condivisioni tramite utente guest, aggiungendo alla sezione nel file smb.conf il parametro guest ok = yes
Gestione client
smbclient è un programma molto simile a client ftp da terminale, serve per visualizzare o connettersi a condivisioni samba presenti su server.
uno dei comandi più utilizzati è:
sudo smbclient -L IPServer
Connessione al server
per connettersi ad un server samba si usa:
smbclient //SERVER/condivisione
Come detto prima i comandi del prompt sono uguali a quelli utilizzatati dal ftp in più mette a disposizione utilissimi tool per la gestione dei file, tramite il
comando help è possibile avere maggiori informazioni riguardo hai comandi.
Log di samba
Tutti i log di samba sono presenti nella cartella /var/log/samba, suddivisi in tre categorie, la prima è log.nmbd dove vengono annotate tutte le
operazioni NETBIOS, il secondo è log.smbd dove vengono registrate tutte le operazioni sui protocolli SMB/CIFS e per finire per ogni connessione
instaurata con client o server samba crea un file di log chiamati log.[IP_ADDRESS]
Interfaccia web
Samba dispone di anche un interfaccia web chiamata swat (Samba Web Administation Tool), il pacchetto è installabile dai repository ufficiali. Per accedere
Configurare un Server con Ubuntu 65
all'interfaccia web di samba inserire nella barra di navigazione di un Browser Web l'indirizzo:
localhost:901
Ulteriori risorse
• Sito web di Samba
• Samba su Openskills
• Samba su Debianizzati
Configurare un Server con Ubuntu 66
WEB
Introduzione
Prima di cominciare vale la pena di spendere due parole sui requisiti di un server Web.
Tenete conto che probabilmente vi servirà hardware dedicato, se possibile scegliete una soluzione appositamente progettata per il servizio che dovrete
ospitare.
Prendetevi il tempo necessario per pianificare un corretto partizionamento del disco.
Possibilmente dedicate una partizione apposita per /var/log ed una specifica per /var/www dove ospiterete i vostri siti: ciò dovrebbe minimizzare i
tempi di I/O sia per la scrittura dei log files che per le operazioni di GET per la lettura dei files legata alle richieste dei client.
Installazione
Aprite una shell ed al prompt dei comandi digitate:
sudo apt-get install apache2
Apt installerà apache2 risolvendo automaticamente le dipendenze necessarie ed avviando il server web nella configurazione di default.
La directory che contiene i file di log su tutti gli accessi è /var/log/apache2. La directory che contiene il sito predefinito e che dovrebbe contenere i
vostri siti è /var/www.
Per modificare l'installazione di default occorre dare un'occhiata alla directory di configurazione di apache2, /etc/apache2.
Eseguire al prompt dei comandi:
cd /etc/apache2
Group www-data
Apache non dovrebbe essere eseguito come root in quanto questo apre numerose falle di sicurezza...
I parametri per la gestione dei carichi di lavoro sono:
StartServers <n° processi figli Web Server all'avvio>
MinSpareServers <n° minimo processi figli liberi avviati per supplire picchi di carico>
MaxSpareServers <n° max processi figli liberi avviati per supplire picchi di carico>
Gli spare servers consentono al Web Server di rispondere più velocemente in caso di improvvisi picchi di richieste , ma occupano anche preziosa memoria
dato che in casi di traffico normale non fanno nulla!
MaxClients <max n° client Web server è in grado di supportare simultaneamente>
Esempio :
Video/mpeg mpeg mpg mpe
Video/quicktime qt mov
Video/x-msvideo avi
'''AddType''' newtype/newsub-type extension1..
Esempio:
AddType text/doc doc
Le direttive per la gestione dinamica dell'albero dei documenti e la redirezione dei documenti
Redirect [temporary | permanent] /images http://example.com/icons
RedirectMatch (.*)\.gif$ http://example.com$1.jpg
Configurare un Server con Ubuntu 68
Il client che richiede file .gif file viene reindirizzato verso file .jpeg.
Le direttive per l'indicizzazione delle cartelle:
DirectoryIndex <index dir predefinito>
Esempio:
DirectoryIndex index.html
AddIconByType ..
AddIconByEncoding ..
DefaultIcon ..
• Creare gruppo htusers nel file /usr/local/apache/conf/htgroup. Il formato del file è il seguente:
Groupname: user1 user2 user3 ..
Hosting virtuale
In generale una singola macchina ospita più di un sito web.
La gestione dei siti allora può essere fatti nei seguenti modi:
• N siti = N * M processi web server (se M è n° processi per singola istanza sito web,vuol dire che M processi gestiscono ciascun sito)
• Virtual host = N siti = M processi web server (sempre 1 singola istanza web,ovvero gli M processi gestiscono tutti gli N siti web)
È possibile identificare tre tipi di hosting virtuale :
• basato sull'IP (VH host based) : da eseguire quando avete più di indirizzo IP
• basato sul nome (VH name based) : da eseguire quando avete più nomi DNS (alias etc...)
• basato sulla porta (VH port based)
I metodi per la scelta delle tipologie di hosting sono :
• N interfacce di rete : VH host based
• Singola interfaccia di rete : name based VH
• N nomi per host : VH name based
• Necessità di separazione web servers per differenti policies protezione : Non scegliete il VH poichè dovete effettuare una separazione delle istanze del
vostro web server
Host based VH
Utilizzare la direttiva <VirtualHost> da specificare all'interno di /etc/apache2/sites-enabled/000-default e all'interno delle opzioni di
directory come nell'esempio riportato:
BindAddress 0.0.0.0
Port 80
DocumentRoot /usr/local/apache/htdocs
ServerName site1.example.com
<VirtualHost 192.168.1.2>
DocumentRoot /usr/local/apache/htdocs2
ServerName site2.example.com
...
</VirtualHost>
Qui il sito web di default serve site1.example.com, mentre l'IP 192.168.1.2 serve il sito site2.example.com.
Name based VH
Esempio:
Listen 192.168.1.232
NameVirtualHost 192.168.1.232
<VirtualHost 192.168.1.232>
DocumentRoot /home/httpd/ex1
ServerName www1.example.com
..
</VirtualHost>
..
<VirtualHost 192.168.1.232>
DocumentRoot /var/apache/htdocs2
ServerName www2.example.com
..
</VirtualHost>
Qui come vedete si ha un unico IP ma due nomi server distinti (due nomi nel DNS,di cui uno sarà un alias name) che servono due siti distinti.
Supporto PHP
Prima di procedere è necessario abilitare il componente main dei repository ufficiali.
Installare i seguenti pacchetti:
• libapache2-mod-php5
• php5-cli
• php5-common
• php5-cgi
Caricare i moduli con i comandi da shell:
sudo ln -s /etc/apache2/mods-available/php.conf /etc/apache2/mods-enabled/php.conf
sudo ln -s /etc/apache2/mods-available/php.load /etc/apache2/mods-enabled/php.load
ApacheTomcat
Introduzione
Apache Tomcat è un Servlet/JSP engine che non fa altro che contenere ed eseguire le applicazioni Java Servlet e Java Server Page (JSP).
Non è l'unico Application Server per Servlet/JSP in circolazione, ma di sicuro è libero ed è il contenitore di servlet utilizzato nell'implementazione ufficiale
di riferimento per il Java Servlet e le tecnologie Java Server Page sviluppate dalla Sun Microsystems.
Questa guida servirà ad installare Apache Tomcat utilizzando i binari ufficiali prelevabili dal sito di Tomcat e non utilizzando i pacchetti precompilati di
Ubuntu prelevabili dal repository Universe.
Il tutto per un duplice motivo:
a. i pacchetti di Ubuntu non sono sincronizzati con l'ultima release disponibile;
b. richiedono dipendenze, spesso eccessive e non necessariamente utili, come ad esempio l'installazione delle librerie ligcj e sue dipendenze, che
risulterebbero ridondanti visto già la presenza, o che comunque andremo ad installare, di Java JRE e JDK della Sun.
Tomcat 6
Installazione di Tomcat.
Installazione
Attivare i repository Universe e Multiverse di Ubuntu. Per maggiori informazioni si consulti la pagina Repository.
1. Installare per prima cosa, se già non lo si è fatto, i pacchetti Java jre e jdk:
sudo apt-get install sun-java5-jre sun-java5-jdk
2. Scaricare dal sito http://tomcat.apache.org/ l'ultima versione di Tomcat, la 6 al momento in cui sta scrivendo:
wget http://mirrors.publicshout.org/apache/tomcat/tomcat-6/v6.0.7/bin/apache-tomcat-6.0.7.tar.gz
3. Estrarre l'archivio:
tar xzfv apache-tomcat-6.0.7.tar.gz
4. Copiare in /usr/local la directory estratta e poi creare un link simbolico /usr/local/tomcat. Questo per un triplice motivo: praticità,
manutenibilità e comodità. Se si desidera installare più versioni basterà cambiare il riferimento al link simbolico.
sudo cp -r apache-tomcat-6.0.7 /usr/local/
sudo ln -s /usr/local/apache-tomcat-6.0.7/ /usr/local/tomcat
5. Creare uno script per init.d per far si che il demone di Tomcat venga attivato all'avvio o comunque dia la possibilità di avviarlo, arrestarlo,
riavviarlo:
1. crare il file /etc/init.d/tomcat con l'editor di testo preferito e copiare quanto segue:
#!/bin/bash
#
# Startup script for the Tomcat server
#
# chkconfig: - 83 53
# description: Starts and stops the Tomcat daemon.
# processname: tomcat
# pidfile: /var/run/tomcat.pid
# See how we were called.
case $1 in
start)
export JAVA_HOME=/usr/lib/jvm/java-1.5.0-sun/
export CLASSPATH=/usr/local/tomcat/lib/servlet-api.jar
export CLASSPATH=/usr/local/tomcat/lib/jsp-api.jar
export JRE_HOME=/usr/lib/jvm/java-1.5.0-sun/
echo "Tomcat is started"
sh /usr/local/tomcat/bin/startup.sh
;;
stop)
export JRE_HOME=/usr/lib/jvm/java-1.5.0-sun/
sh /usr/local/tomcat/bin/shutdown.sh
echo "Tomcat is stopped"
;;
restart)
export JRE_HOME=/usr/lib/jvm/java-1.5.0-sun/
sh /usr/local/tomcat/bin/shutdown.sh
echo "Tomcat is stopped"
sh /usr/local/tomcat/bin/startup.sh
echo "Tomcat is started"
;;
*)
echo "Usage: /etc/init.d/tomcat start|stop|restart"
;;
Configurare un Server con Ubuntu 72
esac
exit 0
6. Avviamo Tomcat:
sudo /etc/init.d/tomcat start
7. A questo punto, se tutto è andato per il verso giusto, puntando all'indirizzo http://localhost:8080 si dovrebbe avere la pagina di benvenuto di Tomcat.
Apache e Tomcat
Tomcat è abbastanza performante per essere eseguito come Web Server di pagine statiche o dinamiche, o come Web Application Server. Tuttavia se si
vogliono sfruttare anche le innumerevoli potenzialità di un vero e proprio Web Server come Apache, soprattutto se lo si usa in macchine in produzione,
esiste un connector che permette di mettere in comunicazione Apache con Tomcat facendolo richiamare da Apache solo quando serve.
2. Creare il file /etc/apache2/workers.properties con l'editor di testo preferito e copiare quanto segue:
workers.tomcat_home=/usr/local/tomcat
workers.java_home=/usr/lib/jvm/java-1.5.0-sun
ps=/
worker.list=ajp13
worker.ajp13.host=localhost
worker.ajp13.port=8009
worker.ajp13.type=ajp13
Con port=8009 si intende la porta con la quale Tomcat ascolta il connector, non http che è 8080.
3. Modificare il file /etc/apache2/mods-available/jk.load e inserire, dopo la riga !
LoadModule jk_module /usr/lib/apache2/modules/mod_jk.so, quanto segue:
JkWorkersFile /etc/apache2/workers.properties
JkLogFile /etc/apache2/mod_jk.log
JkLogLevel debug
#JkMount /servlets-examples/* ajp13 #da decommentare se si usa tomcat 5.x;
JkMount /examples/* ajp13
4. Riavviare Apache:
sudo /etc/init.d/apache2 restart
Se tutto è andato per il verso giusto, puntando all'indirizzo http://localhost/examples, si dovrebbe vedere la pagina con i JSP e i Java Servlet d'esempio.
Osservazioni e approfondimenti
Connector: aggiungere altre directory web
In /etc/apache2/workers.properties la direttiva !JkMount non fa altro che redirigere a Tomcat tutte le richieste http precedute da /examples/
(per esempio http:/localhost/exampler/unesempio.jsb), in questo caso unesempio.jsp verrà processato da Tomcat invece che da Apache.
Dunque, se si vogliono aggiungere altre direcotory per richiamare le nostre applicazioni basta inserire altri !JkMount in /etc/apache2/mods-
available/jk.load:
.....
JkMount /examples/* ajp13
JkMount /<nomedirectory>/* ajp13
È importante osservare che <nomedirectory> deve essere contenuta all'interno della directory /usr/local/tomcat/webapps, questo perchè
come avete potuto notare in /etc/apache2/workers.properties abbiamo settato il path della home di Tomcat in /usr/local/tomcat,
dunque la direttiva !JkMount effettuerà la sua ricerca a partire da li.
Se invece vogliamo che le nostre applicazioni siano salvate e sviluppate in una directory nella nostra home, oppure nella root del nostro Web Server, basta
creare un collegamento simbolico che dalla directory dichiarata in !JkMount punti a una directory o nella nostra home o nella root del Web Server o in
qualsiasi posto noi volessimo salvare i nostri progetti Servlet/JSP.
Per esempio, se vogliamo che !JkMount /<nomedirectory>/ punti a /home/nomeutente/nostreapplicazioni/<nomedirectory>,
procederemo come segue:
mkdir /home/nomeutente/nostreapplicazioni/<nomedirectory>
sudo ln -s /home/nomeutente/nostreapplicazioni/<nomedirectory>/ /usr/local/tomcat/webapps/<nomedirectorydichiaratainJkMount>
sudo /etc/init.d/apache2 restart
sudo /etc/init.d/tomcat restart
Configurare un Server con Ubuntu 73
Ora basterà inserire o creare le nostre applicazioni in /home/nomeutente/nostreapplicazioni/<nomedirectory> e puntando col nostro
browser a http://localhost/<nomedirectorydichiaratainJkMount>/applicazione.jsp i nostri lavori verranno processati da Tomcat.
Amministrare Tomcat
Per amministrare Tomcat è necessario attivare Tomcat Manager. Per farlo basta seguire questi semplici passi:
1. Aprire il file /usr/share/tomcat/conf/tomcat-users.xml con l'edito di testo che preferiamo e aggiungiamo l'utente (o gli utenti) con i
ruoli di admin e manager. Per creare i ruoli inseriamo tra i tag «<tomcat-users> ... </tomcat-users>»:
<role rolename="manager"/>
<role rolename="admin"/>
Se volessimo dare all'utente un unico ruolo, come admin, basta inserirne solo uno:
<user username="YOUR USERNAME " password="YOUR PASSWORD" roles="admin"/>
2. Connettiamoci all'indirizzo http://localhost:8080/manager/html e accediamo al pannello di controllo di Tomcat Manager con le credenziali appena
create.
Per approfondimenti sulla creazioni di altri ruoli si rimanda alla documentazione ufficiale.
Tomcat 5.x
La procedura di installazione di Tomcat appena descritta vale per la versione 6, ma, per le versioni precendenti, il metodo e l'approccio non cambiano, basta
avere l'accortezza di adeguare alcuni path nei file di configurazione, visto che le direcotory delle versioni precedenti sono organizzate e nominate
diversamente dalla versione 6.
Ecco nel dettaglio come procedere:
1. Ridefinire il collegamento simbolico /usr/local/tomcat facendolo puntare a /usr/local/apache-tomcat-5.5.20 (o comunque alla
versione scelta):
sudo ln -s /usr/local/apache-tomcat-5.5.20 /usr/local/tomcat
se non è una nuova installazione e avevate già definito il collegamento simbolico, prima di crearlo è necessario rimuoverlo:
sudo rm /usr/local/tomcat
in:
export CLASSPATH=/usr/local/tomcat/conf/lib/servlet-api.jar
export CLASSPATH=/usr/local/tomcat/conf/lib/jsp-api.jar
La differenza sta che lib/ nelle versioni precedenti è una sotto directory di conf/.
3. Nel file /etc/apache2/mods-available/jk.load sostituiamo:
JkMount /examples/* ajp13
con:
JkMount /servlets-examples/* ajp13
Questo perchè gli esempi non si trovano in examples/ come nella versione 6, ma in servlets-examples/.
con:
/usr/lib/jvm/java-6-sun
2. Avviamo Tomcat:
Configurare un Server con Ubuntu 74
Ulteriori risorse
• Sito ufficiale
• Documentazione ufficiale Tomcat 5.5
• Documentazione ufficiale Tomcat 6.0
Configurare un Server con Ubuntu 75
Xampp
Versioni supportate:
Ubuntu 8.04 Hardy Heron
Ubuntu 7.10 Gutsy Gibbon
Introduzione
XAMPP è un sistema molto semplice per avere MySQL, PHP, Perl e molto altro sulla propria macchina.
Installazione
Scaricare l'archivio compresso presente sul sito del progetto. È possibile avere la lista completa delle versioni a questo indirizzo.
Dopo aver scaricato il file, scompattare l'archivio nella cartella /opt con i privilegi di amministrazione, digitando il seguente comando in una finestra di
terminale:
sudo tar xvfz xampp-linux-1.6.7.tar.gz -C /opt
Apache e MySql sono in esecuzione. Se si dovesse presentare degli errori consultare la relativa sezione nella guida presente sul sito ufficiale.
Verificare il funzionamento
Aprire un browser web e digitare ciò che segue nella barra degli indirizzi:
http://localhost
Apparirà la pagina iniziale di XAMPP, contenente alcuni link utili a testare le singole componenti installate e alcuni file di esempio.
Sicurezza
Non usare XAMPP in ambienti di produzione.
Non essendo concepito per usi professionali, il sistema mette a disposizione dei metodi di accesso semplicissimi ma poco sicuri.
Quello che segue è un elenco delle vulnerabilità del sistema:
1. l'amministratore del database MySQL non ha una password;
2. il servizio del database è accessibile da remoto con ProFtp, utilizzare la password «lampp» per l'utente «nobody»;
3. PhpMyAdmin è accessibile da remoto;
4. tutti gli esempi sono accessibili da remoto;
5. MySQL e Apache sono avviati con gli stessi permessi utente «nobody».
Per risolvere la maggior parte di queste vulnerabilità è sufficiente digitare il seguente comando in una finestra di terminale:
sudo /opt/lampp/lampp security
Verrà avviato un semplice strumento di configurazione che consentirà di impostare delle password per i vari servizi.
Cartelle da ricordare
Quello che segue è un elenco delle cartelle fondamentale per il corretto funzionamento del sistema:
• /opt/lampp/bin/: cartella di installazione di XAMPP;
• /opt/lampp/bin/mysql: cartella per il monitoraggio MySQL;
• /opt/lampp/htdocs/:Apache: cartella radice del server web;
• /opt/lampp/etc/httpd.conf: file di configurazione di apache;
• /opt/lampp/etc/my.cnf : file di configurazione di MySQL.
• /opt/lampp/etc/php.ini : file di configurazione di PHP.
• /opt/lampp/etc/proftpd.conf : file di configurazione ProFTP.
• opt/lampp/phpmyadmin/config.inc.php : file di configurazione di phpMyAdmin.
Arrestare il servizio
Per arrestare il servizio è sufficiente digitare il seguente comando in una finestra di terminale:
sudo /opt/lampp/lampp stop
Disinstallazione
Per disintallare XAMPP è sufficiente digitare il seguente comando all'interno di una finestra di terminale:
sudo rm -rf /opt/lampp
Per risolvere il problema è sufficiente creare il file /bin/arch con un editor di testo con i privilegi di amministrazione e inserire al suo interno il seguente
contenuto:
uname -r
Salvare il file, chiudere l'editor e digitare il seguente comando in una finestra di terminale, allo scopo di impostare i permessi di esecuzione al file appena
creato:
sudo chmod +x /bin/arch
Infine non resta che riavviare il servizio, digitando il seguente comando in una finestra di terminale:
sudo /opt/lampp/lampp restart
Ulteriori risorse
• Documento originale
• Sito ufficiale del progetto
• Guida sul forum internazionale
Configurare un Server con Ubuntu 78
Mail
Introduzione
Questa guida illustra come installare e configurare un server mail.
È utile prendersi il tempo necessario per pianificare un corretto partizionamento del disco, possibilmente dedicando una partizione per /var/log e una per
/var/spool/mail.
La gestione della posta elettronica in rete coinvolge tre attori :
• un client di posta, che è il programma deputato alla formattazione dei messaggi di posta;
• un Mail Transport Agent, MTA, che è un server che si occupa di instradare la posta al destinatario;
• un delivery agent, DA, che è il server che si occupa di consegnare la posta al destinatario.
Il meccanismo di instradamento è basato sull'associazione fra dominio di posta elettronica e dominio DNS. Pertanto, il MTA per consegnare la posta verso il
destinatario utilizzerà interrogazioni DNS per effettuare la localizzazione del DA del destinatario.
Nei sistemi UNIX, il MTA usa il protocollo SMTP mentre i DA usano i protocolli POP3 o IMAP.
La fondamentale differenza fra i protocolli per il DA è che POP3 è progettato per il download dei messaggi sulla postazione client del destinatario, mentre
IMAP consente di mantenerli sul server. Entrambi tali protocolli presentano vantaggi e svantaggi.
Inoltre, la configurazione qui presentata è arricchita con filtri anti-spam non nativi di postfix (si usa il prodotto spamassassin) e con un software in grado di
coordinare la scansione asincrona dei messaggi di posta attraverso l'uso dei filtri anti-spam e antivirus (questo prodotto è mailscanner).
Verrà esaminata sia la configurazione del MTA per lo smistamento dei messaggi di utenti locali UNIX (ovvero gli utenti di sistema definiti con il comando
adduser), che quella che utilizza come backend un DB LDAP (ovvero un servizio di directory standardizzato con gestione degli account di utenti di rete).
Installazione
Da un terminale digitare:
sudo apt-get -y install postfix postfix-ldap spamassassin dovecot-pop3d dovecot-imapd mailscanner
Configurazione
Mail transfer agent
I file di configurazione si trovano nella directory /etc/postfix e il file fondamentale è main.cf. Un altro file importante nella configurazione di
postfix è /etc/aliases, che contiene tutti gli alias degli utenti di posta elettronica.
Per esempio, supponendo di avere un utente di sistema prova, è possibile definire nel file /etc/aliases un alias come segue:
p.miodominio.com: prova
che indica semplicemente che l'utente di sistema prova è identificato dal sistema MTA come p.miodominio.com.
Il corrispondente file di configurazione per i servizi LDAP è /etc/postfix/ldap-aliases.cf e contiene le seguenti direttive:
server_host = nome completo del server LDAP
search_base = dc=miodominio,dc=com
dove ovviamente è necessario sostituire miodominio e com con il proprio basedn del dominio di ricerca LDAP.
Per configurare postfix, aprire il file /etc/postfix/main.cf e modificare il messaggio di benvenuto:
smtpd_banner = nostro messaggio di benvenuto
alias_maps = hash:/etc/aliases,ldap:/etc/postfix/ldap-aliases.cf
Questo dice al MTA che deve controllare, per la risoluzione dei nomi utente, prima il file /etc/aliases e poi il database LDAP referenziato dalle
direttive nel file /etc/aliases.
La direttiva:
myorigin = $mydomain
indica che si accetta posta indirizzata soltanto al proprio dominio o a localhost (127.0.0.1).
inet_interfaces = all
Configurare un Server con Ubuntu 79
questo dice che il MTA all'avvio sta in ascolto su tutte le interfacce di rete (potreste voler cambiare questo comportamento!!)
smtpd_client_restrictions = reject_maps_rbl , reject_unknown_client , permit
qui cominciano le restrizioni d'accesso native di postfix: questa dice di non accettare posta indirizzata o provenienete da siti di possibili spammers (indicati
nella direttiva maps_rbl_domains) e di non accettare connessioni da clients che non hanno record A in DNS
smtpd_sender_restrictions = reject_unknown_sender_domain , reject_non_fqdn_sender , permit
questa restrizione dice di non effettuare il relay (ovvero di non permettere di inviare posta elettronica da mittenti che non siano di questo sito) e di non
smistare posta proveniente da un mittente ignoto
N.B. : la restrizione reject_unauth_destination dice al server di posta di impedire l'open relay e sostituisce la direttiva check_relay_domains
smtpd_helo_restrictions = reject_invalid_hostname , reject_non_fqdn_hostname , reject_unknown_hostname , permit
queste restrizioni dicono di non accettare il saluto dal client che non risponda con un hostname esistente nel DNS (respingere se l'hostname presentato è
invalido , non è nel formato FQDN o non ha record A o PTR nè MX nel DNS).Queste restrizioni sono molto importanti , poichè ad oggi molti spammers
fanno uso di comandi helo-faked per velocizzare la spedizione di spam.
maps_rbl_domains = rbl.maps.vix.com,dul.maps.vix.com,relays.mail-abuse.org
questa restrizione dice di non smistare posta proveniente da o indirizzata verso i domini elencati
Ora potete avviare il servizio postfix del MTA con il comando:
/etc/init.d/postfix start
Tutti i log files inerenti lo startup dei servizi postfix ed i relativi accessi sono contenuti nei files /var/log/mail.warn, /var/log/mail.err,
/var/log/mail.info.
Qualora si voglia aggiungere un po' di sicurezza in più, c'è un'ulteriore direttiva da usare nel file main.cf per limitare lo spam. La direttiva è:
smtp_helo_restrictions = reject_invalid_hostname , reject_non_fqdn_hostname , reject_unknown_hostname ,
permit_nak*ed_ip_address , permit
DA
Per la configurazione del DA si proceda come segue : Eseguite il comando:
#vi /etc/dovecot/dovecot.conf
ed esaminando l'output del comando ps -A|grep dovecot noterete che il servizio si è avviato con successo.
Web mail
Il servizio di posta elettronica fruibile dal browser Web, webmail, richiede che siano installati il web server e il programma squirrelmail per l'accesso alle
mailboxes attraverso il browser web.
Ora si procede all'installazione di apache2 e di squirrelmail con i comandi :
#sudo apt-get -y install apache2
Per predisporre squirrelmail alla gestione della posta elettronica in modalità protetta (attraverso l'uso di certificati con SSL server-side) si userà il comando
per generare un certificato per il server web :
#apache2-ssl-certificate -days 3650
Configurare un Server con Ubuntu 80
dove 3650 è la durata di validità del certificato (10 anni, cambiarlo a proprio piacimento se si vuole).
A questo punto procedere all'aggiunta di un nuovo Virtual Host nel file /etc/apache2/sites-enabled/000-default come segue :
<VirtualHost 192.168.0.1>
SSLCertificateFile /etc/apache2/ssl/apache.pem
DocumentRoot /usr/share/squirrelmail
ServerName webmail.example.com
</VirtualHost>
dove ovviamente si sosituiranno 192.168.0.1 e webmail.example.com con l'IP e l'alias name del server di posta web.
Per sperimentare l'accesso attraverso imap da browser web non resta che eseguire i comandi :
#/etc/init.d/dovecot start
#/etc/init.d/apache2 start
MailScanner
Per ottenere un ulteriore livello di protezione sul vostro MTA e DA potete associare una scansione antivirus ed un filtro anti-spam che effettuino il controllo
di ogni messaggio di posta smistato dal vostro sistema.
Come detto vi occorre il software MailScanner e un AntiVirus (nell'esempio riportiamo Clamav) che si installano nel modo seguente :
#sudo apt-get -y install mailscanner
%report-dir%''' = /etc/MailScanner/reports/it
QuarantineInfections''' = no
Warning Is Attachment''' = no
Migliorare le prestazioni
Il performance tuning dipende da alcuni parametri del vostro mail server :
• process availability
• CPU speed
• DNS lookup time
• disk I/O speed
• network throughput
Come effettuare il tuning del process availability :
• modificate il max numero di processi di postfix per rispondere ai picchi di carico
in main.cf :
default_process_limit = 100
L'ottimizzazione procede attraverso l'analisi dei fattori che condizionano le prestazioni di un Mail Server , ovvero :
Configurare un Server con Ubuntu 81
• CPU limitation :
se il carico sul vostro processore supera il 50% (esaminatelo con top ed individuate se la causa è imputabile ai processi di postfix) allora cambiate
processore!
• DNS lookup :
poichè il primo passo per inoltrare emails sono queries DNS , se il tempo di risposta per una query DNS è alto pensate a ottimizzare il vostro DNS o meglio
ancora implementate un caching NS al vostro interno per velocizzare le risoluzioni
• Disk I/O limitation :
usate dischi SCSI (postfix usa code di mail in /var/spool/mail e sposta i dati da una coda all'altra) e montate le partizioni con l'opzione noatime (postfix non
usa i timestamps)
Pertanto voi potete crittografare il contenuto di un messaggio di posta utilizzando la chiave pubblica dell'utente al quale volete spedirlo e firmare il file
crittografato con la vostra chiave privata in modo da assicurarne l'autenticità.
Descriviamo con un esempio pratico il flusso delle azioni che l'utente pippo@example.com deve fare per spedire un messaggio protetto all'utente
pluto@prova.edu.
• L'utente pippo crea la sua coppia di chiavi privata/pubblica con il comando
gpg --gen-key
Selezionare 1 come algoritmo (ElGamal) per poter utilizzare le chiavi per la cifratura e la firma.
• pippo visualizza le chiavi create con il comando
gpg --list-keys
• pippo esporta la sua chiave pubblica nel repository comune utilizzando il comando
gpg --export -o pippo
sftp pippo@publickeys:/keys/pippo
Configurare un Server con Ubuntu 82
• pippo preleva la chiave pubblica di pluto@prova.edu dalla directory /keys sul server publickeys (che funge da repository comune di tutte le chiavi
pubbliche degli utenti del sistema di posta comune) e la importa nel suo DB delle chiavi (generato con gpg --gen-key)
sftp pippo@publickeys:/keys/pluto
gpg --import pluto
Ulteriori risorse
• Sito ufficiale del progetto Postfix
• Sito ufficiale del progetto Dovecot
• Sito ufficiale del progetto SquirrelMail
Configurare un Server con Ubuntu 83
MailSqlServer
Introduzione
Questa guida spiega come configurare un server di posta con supporto SQL.
Installazione
Installare i seguneti pacchetti con i privilegi di amministrazione:
apt-get install postfix-mysql
apt-get install mysql-server
apt-get install dovecot-pop3d
apt-get install dovecot-imapd
apt-get install apache2
apt-get install libapache2-mod-php4
Configurazione SMTP
Modificare con permessi di amministratore il file /etc/postfix/main.cf aggiungendo la direttiva:
alias_maps = mysql:/etc/postfix/mysql-aliases.cf
alias_database = mysql:/etc/postfix/mysql-aliases.cf
Si eliminino le direttive hash:/etc/aliases se si vuole configurare un sistema che accetti posta soltanto per utenti definiti nel vostro
database SQL!
Il file /etc/postfix/mysql-aliases.cf è fatto nel modo seguente:
user = someone
password = some_password
dbname = customer_database
table = mxaliases
select_field = forw_addr
where_field = alias
Come si vede, bisogna specificare utente, password, database, tabella del database Sql che contiene le corrispondenze fra utenti di posta e alias names ed è
necessario definire anche i campi da selezionare per ottenere l'alias dell'utente di posta definito.
Si crei il database e le tabelle come nell'esempio che segue :
mysql -u root -p -D postaliases
mysql> create table mxaliases (forw_addr varchar(64),alias varchar(64),password varchar(64),home varchar(64),uid integer not
null,gid integer not null );
Generare le password in hashing CRYPT con l'utility di apache2 htpasswd2 nel modo seguente :
htpasswd2 -c postaliases_passwords m.rossi
oppure per aggiornare o eliminare righe dalla vostra tabella usare i comandi SQL :
mysql>update mxaliases set alias='g.bianchi' where forw_addr='giulio';
mysql> delete from mxaliases where forw_addr='marco';
Si controlli il file /etc/mysql/my.cnf e si verifichi che l'indirizzo di binding del database mysql (dovrebbe essere l'IP di rete del server MYSQL e non
127.0.0.1). Nel nostro esempio è:
bind_address = 192.168.77.1
la configurazione del MTA è finita , ora passiamo alla configurazione del server POP3 e IMAP.
#db_unix_socket = /var/tmp/mysql.sock
db = postaliases
db_user = root
db_passwd = azsxdcfv
db_client_flags = 0
default_pass_scheme = CRYPT
password_query = SELECT password FROM mxaliases WHERE alias = '%n'
user_query = SELECT home, uid, gid FROM mxaliases WHERE alias = '%n'
e modificare le righe:
first_valid_uid = 0
last_valid_uid = 10000
first_valid_gid = 0
last_valid_gid = 10000
e testare la configurazione.
ServerName webmail.example.com
DocumentRoot /usr/share/squirrelmail
SSLEngine On
SSLCertificateFile /etc/apache2/ssl/apache.pem
</VirtualHost>
• Riavviare apache2
sudo /etc/init.d/apache2 restart
Qmail
Introduzione
QMAIL è un Mail Transfer Agent. I binari di QMAIL sono liberamente distribuibili ma i sorgenti non possono essere modificati.
Installazione
Prima di tutto occorre procurarsi i sorgenti disponibili sui mirror di QMAIL in formato tar. Il nome del pacchetto è netqmail-1.05.tar.tar (l'attuale
versione).
Scompattare l'archivio:
tar xzvf netqmail-1.05.tar.tar
Compilare
make setup check
Configurazione
Lo script config-fast si occupa di configurare your.full.host.name nel file /var/qmail/control/me. Lo inserisce anche in
control/locals e control/rcpthosts. In questo modo qmail è predisposto per accettare e mandare mail per l'host your.full.host.name.
Se tutto va bene si riceveranno dei messaggi simili a questi:
Putting wilcoyote.example.com into control/me...
Putting example.com into control/defaultdomain...
Putting example.com into control/plusdomain...
Putting wilcoyote.example.com into control/locals...
Putting wilcoyote.example.com into control/rcpthosts...
Now qmail will refuse to accept SMTP messages except to wilcoyote.example.com.
Make sure to change rcpthosts if you add hosts to locals or virtualdomains!
QMAIL non supporta nativamente /etc/aliases per il quale si avrà bisogno del pacchetto aggiuntivo fastforward. Lo si installi se si sta migrando a
QMAIL da un altro Mail Transfer Agent, altrimenti, si può usare il meccanismo nativo di QMAIL per la gestione degli aliases.
Creare degli aliases nella directory ~alias/ come segue:
• touch ~alias/.qmail-postmaster;chmod 644 ~alias/.qmail-postmaster
questo è l'alias per l'utente root (in QMAIL non dovrebbe mai ricevere posta)
• touch ~alias/.qmail-default;chmod 644 ~alias/.qmail-default
Configurare un Server con Ubuntu 86
a questo alias vengono indirizzate tutte le email con destinatario non raggiungibile (anche se dopo 2 volte un messaggio con destinazione
irraggiungibile va a Postmaster)
QMAIL contiene un DA proprio (qmail-local).
qmail-local consegna le email nella directory ~user/Mailbox, piuttosto che in /var/spool/mail/user. Usa il formato mbox, con lockf o flock
come meccanismo di lock dei file di posta.
Assicurarsi che i permessi di /var/spool/mail siano impostati in 1777, per impedire che gli utenti possano rimuovere i link accidentalmente.
Se /var/spool/mail è estesa, si può configurare il proprio software per guardare direttamente in ~user/Mailbox aggiungendo:
• setenv MAIL $HOME/Mailbox
Ricordarsi di aggiungere la & nel file /var/qmail/rc altrimenti il vostro sistema si bloccherà al riavvio!!
Stampa
Versioni supportate:
Ubuntu 8.04 Hardy Heron
Ubuntu 7.10 Gutsy Gibbon
Ubuntu 6.06 Dapper Drake
Introduzione
CUPS (Common Unix Printing System) è un spooler di stampa per sistemi operativi UNIX ed è in grado di trasformare un computer in un server di stampa.
Per la gestione di CUPS si può utilizzare l'interfaccia web presente nel pacchetto.
Non è necessario installa alcun pacchetto, CUPS viene installato in maniera predefinita su Ubuntu.
Nella prima schermata è possibile fare tutte le operazione principali di gestione del server, incluse l'installazione delle stampanti e delle classi.
Configurazione
Accedere alla configurazione
La configurazione del server di stampa risiede nel file /etc/cups/cups.conf ed è possibile modificarla con un editor di testo con i privilegi di
amministrazione; in alternativa, una volta effettuato l'accesso tramite interfaccia web, per accedere alla configurazione è sufficiente fare clic su «Gestione
Server», dunque su «Modifica file di configurazione».
Terminata la configurazione, per applicare le modifiche effettuate è necessario riavviare il servizio digitando il seguente comando in una finestra di
terminale:
sudo /etc/init.d/cupsys restart
Salvare il file e chiudere l'editor. Una volta riavviato il servizio sarà possibile accedere alla gestione di CUPS da remoto, digitando nella barra degli indirizzi
del proprio browser l'indirizzo IP del server di stampa seguito dalla porta 631, come nel seguente esempio:
http://192.168.1.4:631
Connessioni sicure
Per aumentare la sicurezza del server di stampa, è consigliato abilitare il supporto SSL. Aprire il file /etc/cups/cups.conf con un editor di testo con i
privilegi di amministrazione e aggiungere in fondo la seguente riga:
SSLListen 443
PDF Virtuale
Per creare una stampante PDF virtuale con CUPS è necessario installare il pacchetto cups-pdf, dopo di che aggiungere la stampante nello stesso metodo
indicato sopra, come driver si deve selezionare Printing into PDF file (Generic PDF file Generator) e fare «Continua» come modello selezionare Generic
PDF file generatored aggiungere la stampante.
Non ci resta che assegnare in Windows il driver postscript alla stampante. Scegliere il driver Apple LaserWriter 16/600 PS se la nostra stampante è
monocromatica oppure si vuole stampare in monocromia oppure quello Apple Color LW 12/660 se si desidera stampare a colori.
Ultimo passo :assegnare il nome alla stampante .Di default il nome della stampante sarà LaserWriter 16/600 PS o Apple Color LW 12/660 a seconda della
scelta precedente.;sostituirlo con quello della stampante.
Classi
La classe è un gruppo di stampanti collegate ad un server di stampa. Per creare una classe accedere all'interfaccia web e fare clic su «Aggiungi classe», verrà
chiesto il nome della classe e tutte le stampanti che ne fanno parte. Quando si invierà una stampa ad una classe,il lavoro di stampa verrà inviato alla prima
stampante disponibile della classe.
Log di CUPS
CUPS dispone di due tipi di log il primo chiamato access_log mentre l'altro error_log entrambi si trovano nella cartella /var/log/cups. Nel primo log
vengono registrati tutti li accessi effettuati al print server se sono avvenuto con successo oppure ci sono stati degli errori nella conessione. Mentre error_log
vengono registrati gli errori nella configurazione del server. CUPS permette di impostare diversi livelli di verbosità del registro impostando nel file di
configurazione il parametro LogLevel da info a debug o debug2 per avere maggiori informazioni nei log, però questo comporta un maggior peso dei file
visto che deve registrare molte più informazioni.
Ulteriori risorse
• Sito ufficiale del progetto
• Voce enciclopedica
• Configurazione di CUPS
Configurare un Server con Ubuntu 89
Irc
Introduzione
Ho creato questa pagina per cercare di aiutare ,fornendo una dettagliata guida, le persone interessate a installare sul proprio Pc un server Irc con annessi i
relativi Services (NickServ, ChanServ, MemoServ). Ci saranno inoltre alcune tabelle che presenteranno i nomi di alcuni dei migliori server esistenti al
momento con un relativo HOWTO per l'installazione del server stesso.Prenderò come esempio per la guida, l'applicativo ircd-hybrid.
Ircd-Hybrid http://ircd-hybrid.com/
Installazione (ircd-hybrid)
E' possibile installare Ircd-hybrid in due modi:
• Ircd-hybrid è disponibile nel componente universe dei repository ufficiali. Dopo aver abilitato tale componente è sufficiente installare il pacchetto
ircd-hybrid.
• Tramite compilazione del codice sorgente(Installare programmi da sorgenti).
Nota: È importante ricordarsi di cambiare la configurazione nel file ircd.conf a seconda delle proprie esigenze.
Dopo aver installato il server, basterà far partire il demone (spesso è inizializzato automaticamente dopo la prima installazione), e tramite il proprio client Irc
collegarsi ad esso digitando:
/server 127.0.0.1
Passiamo ora ad analizzare i software disponibili per poter includere nel proprio server anche i Services, utilissimi applicativi che hanno numerose funzioni,
come quella relativa al salvataggio degli utenti, dei loro poteri e delle loro relative password. Alcuni pacchetti services esistenti:
Anope 1.7.14 http://www.anope.org/
U:Services.LocalHost.Net:*:*
H:*::Services.LocalHost.Net
Nota: Services.LocalHost.Net è il nome usato anche nelle configurazioni del file services.conf.
È fondamentale inoltre che la password "Yourpwd" dovrà essere la stessa presente nel file services.conf.
Dopo di che per verificare che tutto abbia funzionato, avviate i services, entrando nella cartella di "Epona" e digitando:
./services
Se tutto ha funzionato, dopo aver preso possesso dei poteri di aministratore, riceverete un messaggio che vi confirmerà che i servizi sono stati connessi al
server in uso con successo. Se questo non dovesse funzionare, vi inviterei a visualizzare i file di log, che tracciano ciò che ha causato l'errore nella
connessione.
Ulteriori risorse
• Documento originale
• Sito ufficiale del progetto
Configurare un Server con Ubuntu 91
ServerPeerToPeer
Versioni supportate:
Ubuntu 7.04 deprecated
Introduzione
In questa pagina sono presenti delle istruzioni utili alla configurazione di un server peer-to-peer per usi domestici.
Preparativi
Preparare la macchina
Allo scopo di ridurre il consumo di corrente al minimo indispensabile, è consigliato utilizzare una macchina con una ridotta dotazione di hardware. La
istruzioni contenute nella presente guida sono state verificate e testate sulla seguente macchina:
Macchina utilizzata
È consigliato disabilitare e scollegare dalla scheda madre tutto l'hardware inutilizzato, come le periferiche multimediali e i vari lettori di floppy
disk e CD-Rom.
Installazione
Una volta terminata l'installazione di Ubuntu è necessario procedere all'installazione di Wine, eMule e i servizi samba e ssh.
Installazione di eMule
Scaricare e salvare sul proprio Desktop questo file. Infine, aprire una finestra di terminale e digitare il seguente comando:
wine ~/Desktop/eMule0.48a-Installer.exe
Configurazione
Configurazione di firewall e router
È sufficiente configurare e abilitare le porte TCP/UDP per eMule, compresa la «8000» per il webadmin, e la porta per l'accesso via ssh.
Configurazione di Samba
Per configurare il servizio samba è sufficiente inserire la password per il proprio utente (necessario per l'accesso da sistemi Windows) con il seguente
comando:
sudo smbpasswd
È necessario indicare a samba il percorso della cartella dei file condivisi di eMule. A tale scopo è sufficiente aprire il file /etc/samba/smb.conf con il
seguente comando:
sudo nano /etc/samba/smb.conf
Dunque aggiungere in fondo al file le seguenti righe, sostituendo la dicitura «$NOMEUTENTE» con il proprio nome utente:
Configurare un Server con Ubuntu 92
[Emule]
path = /home/$NOMEUTENTE/.wine/drive_c/Programmi/eMule/Incoming
available = yes
browseable = yes
public = yes
writable = yes
Infine è possibile configurare VNC in modo da accedere al proprio server da remoto. A tale scopo è utile fare clic su Sistema -> Preferenze -> Desktop
remoto.
Configurazione di eMule
In modo da poter accedere via web al programma è necessario andare su Opzioni -> WebServer dunque spuntare la casella «Attivo».
Accedere al server
È possibile accedere al server appena installato da un altro computer tramite il ssh. Aprire una finestra di terminale e digitare il seguente comando:
ssh user@ip-server
Mentre la dicitura «user» va sostituita con un nome utente accreditato per l'accesso al server, «ip-server» va sostituita con l'indirizzo IP del server,
es. 192.168.100.1.
Nel caso in cui la porta «8000» non risulti aperta provare a lanciare eMule con il seguente comando:
sudo wine eMule.exe
Ulteriori risorse
• Topic originale sul forum di Ubuntu-it
• Guida al port forwarding