Guida a Ubuntu Server 12.10_ITA-Cap6

download Guida a Ubuntu Server 12.10_ITA-Cap6

of 11

Transcript of Guida a Ubuntu Server 12.10_ITA-Cap6

  • 7/22/2019 Guida a Ubuntu Server 12.10_ITA-Cap6

    1/11

    81

    Capitolo 6. Amministrazione remota

    Ci sono diversi modi per amministrare un server Linux da remoto; questa sezione illustra due dei

    metodi pi comuni, come OpenSSH e Puppet.

  • 7/22/2019 Guida a Ubuntu Server 12.10_ITA-Cap6

    2/11

    Amministrazione remota

    82

    1. Server OpenSSH

    1.1. Introduzione

    Questa sezione della Guida a Ubuntu server introduce una serie di potenti strumenti per il controlloremoto di computer e per il trasferimento di dati tra i computer in rete chiamata OpenSSH. Vengono

    spiegate alcune delle possibili impostazioni dell'applicazione server OpenSSH e come modificarne la

    configurazione in Ubuntu.

    OpenSSH una versione libera della famiglia di protocolli e strumenti SSH (Secure SHell) per il

    controllo remoto di un computer o per il trasferimento di file tra computer. Gli strumenti tradizionali

    usati per svolgere queste funzioni, come telnet o rcp, sono insicuri e quando utilizzati trasmettono

    la password dell'utente in chiaro. OpenSSH fornisce un demone server e degli strumenti lato client

    per facilitare operazioni di controllo remoto e trasferimento di file in sicurezza e con crittografia,

    sostituendo in modo completo gli strumenti tradizionali.

    Il componente server di OpenSSH, sshd, in ascolto continuo per le connessioni in arrivo dei client,

    qualunque sia lo strumento usato sui client. Quando avviene una richiesta di connessione, per mezzo

    di sshd viene impostata la corretta connessione in base allo strumento utilizzato dal client. Per

    esempio, se il computer remoto sta effettuando una connessione con l'applicazione client ssh, il server

    OpenSSH imposta, dopo l'autenticazione, una sessione di controllo remoto. Se un utente remoto si

    connette a un server OpenSSH con scp, il demone server OpenSSH inizializza, dopo l'autenticazione,

    una procedura di copia sicura di file tra il server e il client. OpenSSH permette l'utilizzo di diversi

    metodi di autenticazione, inclusi password semplice, chiave pubblica e ticket Kerberos.

    1.2. Installazione

    L'installazione delle applicazioni server e client di OpenSSH semplice. Per installare l'applicazione

    client OpenSSH sui sistemi Ubuntu, usare questo comando al prompt di un terminale:

    sudo apt-get install openssh-client

    Per installare l'applicazione server di OpenSSH e i relativi file di supporto, usare questo comando alprompt di un terminale:

    sudo apt-get install openssh-server

    possibile scegliere di installare il pacchetto openssh-server durante il processo di installazione della

    Server Edition.

    1.3. Configurazione

    possibile configurare il comportamento predefinito dell'applicazione server di OpenSSH, sshd,modificando il file /etc/ssh/sshd_config. Per maggiori informazioni riguardo le direttive di

  • 7/22/2019 Guida a Ubuntu Server 12.10_ITA-Cap6

    3/11

    Amministrazione remota

    83

    configurazione usate in questo file, consultare l'appropriata pagina di manuale inserendo, a un prompt

    di terminale, il seguente comando:

    man sshd_config

    All'interno del file di configurazione di sshd sono presenti diverse direttive per controllare

    impostazioni riguardo la comunicazione o i mezzi di autenticazione. Di seguito vengono riportati

    degli esempi di direttive di configurazione che possibile cambiare modificando il file /etc/ssh/

    sshd_config.

    Prima di modificare il file di configurazione, consigliato fare una copia del file originale

    e proteggerla dalla scrittura, cos da avere le impostazioni originali come riferimento ed

    eventualmente riusarle se necessario.

    Copiare il file /etc/ssh/sshd_config e proteggerlo da scrittura, con il seguente comando,digitando a un prompt di terminale:

    sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.original

    sudo chmod a-w /etc/ssh/sshd_config.original

    Quelli che seguono sono esempi delle direttive di configurazione che possibile cambiare:

    Per impostare OpenSSH in modo da restare in ascolto sulla porta TCP 2222 invece che sulla

    predefinita porta TCP 22, cambiare la direttiva Port come segue:

    Port 2222

    Per consentire l'utilizzo in sshd di credenziali di accesso basate su chiave pubblica, aggiungere o

    modificare la riga:

    PubkeyAuthentication yes

    Se la riga gi presente, assicurarsi che non sia commentata.

    Per far s che il server OpenSSH mostri il contenuto del file /etc/issue.net come un banner di

    pre-accesso, aggiungere o modificare la riga:

    Banner /etc/issue.net

    Nel file /etc/ssh/sshd_config.

    Dopo aver apportato dei cambiamenti al file /etc/ssh/sshd_config, salvarlo e, per rendere effettivi i

    cambiamenti, riavviare il demone sshd usando il seguente comando:

    sudo service ssh restart

    Per poter adattare il comportamento dell'applicazione server alle proprie necessit, sonodisponibili molte altre direttive di configurazione per sshd. Se per l'unico metodo per

  • 7/22/2019 Guida a Ubuntu Server 12.10_ITA-Cap6

    4/11

    Amministrazione remota

    84

    accedere a un server ssh, se si commette un errore nella configurazione di sshd attraverso

    il file /etc/ssh/sshd_config, pu risultare precluso l'accesso al server dopo il suo riavvio.

    Inoltre, se viene fornita una direttiva di configurazione non corretta, il server sshd potrebbe

    non riuscire ad avviarsi; necessario pertanto prestare grande attenzione nella modifica di

    questo file su un server remoto.

    1.4. Chiavi SSH

    Le chiavi SSH consentono l'autenticazione tra due host senza la necessit di una password.

    L'autenticazione con chiave SSH utilizza due chiavi, unaprivata e unapublic.

    Per generare le chiavi, in un terminale, digitare:

    ssh-keygen -t dsa

    Vengono cos generate le chiavi usando un metodoDigital Signature Algorithm (DSA). Durante

    questo processo viene chiesto di inserire una password: premere semplicementeEnterquando viene

    chiesto di creare la chiave.

    La chiavepubblica viene salvata, in modo predefinito, nel file ~/.ssh/id_dsa.pub, mentre quella

    privata in ~/.ssh/id_dsa. Ora, copiare il file id_dsa.pub nell'host remoto e aggiungere il suo

    contenuto al file ~/.ssh/authorized_keys digitando:

    ssh-copy-id NOME_UTENTE@HOST_REMOTO

    Infine, controllare i permessi del file authorized_keys: solo l'utente autenticato dovrebbe avere i

    permessi di lettura e scrittura. Nel caso non fossero corretti, modificarli:

    chmod 600 .ssh/authorized_keys

    Dovrebbe essere possibile ora collegarsi via SSH all'host senza l'utilizzo di una password.

    1.5. Riferimenti

    Pagina della documentazione della comunit su SSH1.

    Sito web di OpenSSH2

    Pagina wiki di OpenSSH avanzato3

    1

    https://help.ubuntu.com/community/SSH2 http://www.openssh.org/3 https://wiki.ubuntu.com/AdvancedOpenSSH

  • 7/22/2019 Guida a Ubuntu Server 12.10_ITA-Cap6

    5/11

    Amministrazione remota

    85

    2. Puppet

    Puppet un'infrastruttura a piattaforma incrociata che consente agli amministratori di sistema

    di eseguire tramite codice attivit comuni, quali l'installazione di nuovo software, il controllo

    dei permessi sui file o l'aggiornamento di account utente. Puppet importante non solo durantel'installazione iniziale di un sistema, ma anche attraverso l'intero ciclo di vita del sistema. Puppet

    viene utilizzato in molte circostanze nella configurazione dei server e dei client.

    Questa sezione illustra l'installazione e configurazione di Puppet in una configurazione client/server;

    questo semplice esempio mostra come installare Apache usando Puppet.

    2.1. Installazione

    Per installare Puppet, in un terminale sul serverdigitare:

    sudo apt-get install puppetmaster

    Sulla macchina, o le macchine, client, digitare:

    sudo apt-get install puppet

    2.2. Configurazione

    Prima di configurare puppet, necessario aggiungere una voce DNS CNAMEper

    puppet.example.com, dove example.com il proprio dominio. Per impostazione predefinita, i clientPuppet verificano sul DNS che puppet.examnple.com sia il nome del server puppet o il Puppet

    Master. Per maggiori dettagli, consultare Capitolo 8, DNS (Domain Name Service) [140].

    Se non si utilizza DNS, possibile aggiungere delle voci ai file server e client /etc/hosts. Per

    esempio, aggiungere al file /etc/hosts del server Puppet:

    127.0.0.1 localhost.localdomain localhost puppet

    192.168.1.17 meercat02.example.com meercat02

    Su ciascun client Puppet, aggiungere una voce per il server:

    192.168.1.16 meercat.example.com meercat puppet

    Sostituire gli indirizzi IP e i nomi di dominio nell'esempio precedente con gli indirizzi e i

    nomi di dominio reali di server e client.

    Impostare quindi alcune risorse per apache2: creare un file /etc/puppet/manifests/site.pp

    contenente quanto segue:

    package {

    'apache2':

  • 7/22/2019 Guida a Ubuntu Server 12.10_ITA-Cap6

    6/11

    Amministrazione remota

    86

    ensure => installed

    }

    service {

    'apache2':

    ensure => true,enable => true,

    require => Package['apache2']

    }

    Quindi creare un file /etc/puppet/manifests/nodes.pp per il nodo, con:

    node 'meercat02.example.com' {

    include apache2

    }

    Sostituire meercat02.example.com con il nome reale dell'host del client Puppet.

    Il passo finale per questo semplice server Puppet consiste nel riavviare il demone:

    sudo service puppetmaster restart

    Configurato il server Puppet, necessario configurare il client.

    Per prima cosa, configurare il demone Puppet per l'avvio. Modificare /etc/default/puppet,

    cambiando STARTin yes:

    START=yes

    Quindi avviare il servizio:

    sudo service puppet start

    Tornando sul server Puppet , firmare il certificato client digitando:

    sudo puppetca --sign meercat02.example.com

    Controllare il file /var/log/syslog per errori di configurazione. Se tutto funziona correttamente, il

    pacchetto apache2 e le sue dipendenze saranno installati sul client Puppet.

    Questo esempio molto semplice e non evidenzia molte delle caratteristiche e dei vantaggi

    di Puppet. Per ulteriori informazioni, consultare Sezione 2.3, Risorse [86].

    2.3. Risorse

    Visitare il sito web per consultare la documentazione ufficiale di Puppet4

    4 http://docs.puppetlabs.com/

  • 7/22/2019 Guida a Ubuntu Server 12.10_ITA-Cap6

    7/11

    Amministrazione remota

    87

    Consultare anche Pro Puppet5.

    Un'altra fonte di ulteriori informazioni lapagina della documentazione della comunit di Ubuntu

    su Puppet6.

    5 http://www.apress.com/97814302305716 https://help.ubuntu.com/community/Puppet

  • 7/22/2019 Guida a Ubuntu Server 12.10_ITA-Cap6

    8/11

    Amministrazione remota

    88

    3. Zentyal

    Zentyal un server Linux per piccole aziende, che pu essere configurato come gateway, gestore

    d'infrastruttura, gestore unico della sicurezza (Unified Threat Manager), server per ufficio (Office

    Server), server unico per le comunicazioni (Unified Communication Server) o una combinazione diquesti. Tutti i servizi di rete gestiti da Zentyal sono strettamente integrati, rendendo automatici molti

    processi. Ci contribuisce a evitare errori nella configurazione e amministrazione della rete e consente

    di risparmiare tempo. Zentyal open source, rilasciato sotto licenza GNU (General Public License -

    GPL) e funziona in ambiente Ubuntu GNU/Linux.

    Zentyal consiste di una serie di pacchetti (di solito uno per ciascun modulo) che fornisce

    un'interfaccia web per configurare i diversi server o servizi. La configurazione memorizzata in

    un database chiave-valore Redis ma la configurazione collegata di utenti, gruppi e domini su

    OpenLDAP . Quando viene configurato uno dei parametri disponibili attraverso l'interfaccia web,i file finali di configurazione vengono sovrascritti usando i modelli di configurazione forniti dai

    moduli. I principali vantaggi dell'uso di Zentyal sono: unica interfaccia grafica utente per configurare

    tutti i servizi di rete ed elevata integrazione fra di essi subito disponibile.

    3.1. Installazione

    Zentyal 2.3 disponibile nel repository Universe di Ubuntu 12.04; i moduli disponibili sono:

    zentyal-core e zentyal-common: il cuore dell'interfaccia Zentyal e le librerie comuni

    dell'infrastruttura. Comprende anche i registri e i moduli di avviso che forniscono

    all'amministratore un'interfaccia per visualizzare i registri e generano avvisi da questi.

    zentyal-network: gestisce la configurazione della rete. Dalle interfacce (che supportano IP statici,

    DHCP, VLAN, bridge o PPPoE), ai gateway multipli in caso di pi connessioni a internet,

    bilanciamento dei carichi e istradamento avanzato, rotte statiche o DNS dinamici.

    zentyal-objects e zentyal-services: fornisce un livello di astrazione per indirizzi di rete (per es. LAN

    invece di 192.168.1.0/24) e porte chiamate come servizi (per es. HTTP invece di 80/TCP).

    zentyal-firewall: configura le regole di iptables per bloccare connessioni proibite, NAT e

    reindirizzamenti di porte.

    zentyal-ntp: installa il demone NTP per sincronizzare l'orologio software del server e consentire ai

    client di rete di sincronizzare a loro volta i propri orologi su quello del server.

    zentyal-dhcp: configura un server ISC DHCP che supporta intervalli di rete, indirizzi riservati

    statici e altre opzioni avanzate come NTP, WINS, aggiornamenti dei DNS dinamici e avvio di rete

    con PXE.

    zentyal-dns: introduce un server DNS ISC Bind9 nel server per effettuare la cache di query

    locali in qualit di server d'inoltro o come server autorevole per i domini configurati. Consente di

    configurare record A, CNAME, MX, NS, TXT e SRV.

    zentyal-ca: integra in Zentyal un gestore di Autorit di Certificazione in modo tale da consentireagli utenti di autenticarsi ai servizi come con OpenVPN.

  • 7/22/2019 Guida a Ubuntu Server 12.10_ITA-Cap6

    9/11

    Amministrazione remota

    89

    zentyal-openvpn: consente di configurare pi server e client VPN usando OpenVPN e con

    configurazione dell'instradamento dinamico tramite Quagga.

    zentyal-users: fornisce un'interfaccia per configurare e gestire utenti e gruppi su OpenLDAP. Altri

    servizi su Zentyal sono autenticati in LDAP con gestione centralizzata di utenti e gruppi. anche

    possibile sincronizzare utenti, password e gruppi da un dominio Microsoft Active Directory. zentyal-squid: configura Squid e Dansguardian per aumentare la velocit di navigazione, grazie alle

    capacit di caching e di filtro dei contenuti.

    zentyal-samba: consente la configurazione di Samba e la sua integrazione con LDAP esistenti. Per

    mezzo della stessa interfaccia possibile definire politiche delle password, creare risorse condivise

    e assegnare permessi.

    zentyal-printers: integra CUPS con Samba e consente non solo di configurare stampanti, ma anche

    di concedere loro permessi basati su utenti e gruppi LDAP.

    Per installare Zentyal, in un terminale sul serverdigitare il seguente comando (in cui uno dei moduli dell'elenco precedente):

    sudo apt-get install

    Zentyal pubblica un principale rilascio stabile una volta all'anno (in settembre) basato sul pi

    recente rilascio LTS di Ubuntu; i rilasci stabili hanno numeri secondari pari (per es. 2.2, 3.0)

    mentre i rilasci beta hanno numeri secondari dispari (per es. 2.1, 2.3). In Ubuntu 12.04

    incluso il pacchetto Zentyal 2.3. Per effettuare il suo aggiornamento a un nuovo rilascio

    stabile pubblicato dopo il rilascio di Ubuntu 12.04, possibile usareZentyal Team PPA7

    .L'aggiornamento a un rilascio stabile pi recente pu fornire correzioni a piccoli bug, non

    applicate alla versione 2.3 in Precise, e pi recenti funzionalit.

    If you need more information on how to add packages from a PPA see Add a Personal

    Package Archive (PPA)8.

    InZentyal Team PPA9 possibile trovare questi ulteriori moduli, non presenti nei repository

    di Ubuntu:

    zentyal-antivirus: integra l'antivirus ClamAV con altri moduli come il proxy, la

    condivisione di file o il filtro di posta.

    zentyal-asterisk: configura Asterisk per fornire un semplice centralino telefonico (PBX,

    Private Branch Exchange) con autenticazione basata su LDAP.

    zentyal-bwmonitor: consente di monitorare l'uso della banda di rete da parte dei client

    LAN.

    zentyal-captiveportal: integra un portale di accesso obbligatorio (captive portal) con

    firewall e utenti e gruppi LDAP.

    7

    https://launchpad.net/~zentyal/8 https://help.ubuntu.com/$distro-rev-short/ubuntu-help/addremove-ppa.html9 https://launchpad.net/~zentyal/

  • 7/22/2019 Guida a Ubuntu Server 12.10_ITA-Cap6

    10/11

    Amministrazione remota

    90

    zentyal-ebackup: consente di effetture backup pianificati del server usando il popolare

    strumento di backup duplicity.

    zentyal-ftp: configura un server FTP con autenticazione basata su LDAP.

    zentyal-ids: integra un sistema di rilevamento intrusioni nella rete.

    zentyal-ipsec: consente di configurare tunnel IPsec usando OpenSwan.

    zentyal-jabber: integra un server di messaggistica istantanea (XMPP) ejabberd con utenti

    e gruppi LDAP.

    zentyal-thinclients: soluzione per thin client basata su LTSP.

    zentyal-mail: stack completo per la posta che include Postfix e Dovecot con backend

    LDAP.

    zentyal-mailfilter: configura amavisd con lo stack per filtrare posta indesiderata e virus

    allegati. zentyal-monitor: integra collectd per monitorare le prestazioni del server e i servizi in

    esecuzione.

    zentyal-pptp: configura un server VPN PPTP.

    zentyal-radius: integra FreeRADIUS con utenti e gruppi LDAP.

    zentyal-software: semplice interfaccia per gestire i moduli installati di Zentyal e gli

    aggiornamenti del sistema.

    zentyal-trafficshaping: configura le regole del traffico per limitare la larghezza di banda e

    migliorare la latenza.

    zentyal-usercorner: consente agli utenti di modificare i propri attributi LDAP usando un

    browser web.

    zentyal-virt: semplice interfaccia per creare e gestire macchine virtuali basate su libvirt.

    zentyal-webmail: consente di accedere alla propria posta usando il popolare servizio di

    webmail Roundcube.

    zentyal-webserver: configura il server web Apache per ospitare diversi siti sulla propria

    macchina.

    zentyal-zarafa: integra la suite di software condiviso Zarafa con lo stack per posta

    elettronica Zentyal e LDAP.

    3.2. Primi passi

    A ciascun account di sistema appartenente al gruppo sudo consentito l'accesso all'interfaccia

    web Zentyal. Se si usa l'utente creato durante l'installazione, questo appartiene al gruppo sudo per

    impostazione predefinita.

    Se necessario aggiungere un altro utente al gruppo sudo, basta eseguire:

    sudo adduser NOME_UTENTE sudo

  • 7/22/2019 Guida a Ubuntu Server 12.10_ITA-Cap6

    11/11

    Amministrazione remota

    91

    Per accedere all'interfaccia web Zentyal, navigare in https://localhost/ (o l'IP del proprio server

    remoto). Zentyal crea e firma il proprio certificato SSL, pertanto necessario accettare un'eccezione

    di sicurezza sul proprio browser.

    Una volta eseguito l'accesso, verr visualizzato un cruscotto con una panoramica del server: per

    configurare le caratteristiche dei moduli installati, aprire le diverse sezioni del men sulla sinistra.

    Quando vengono effettuate modifiche, nell'angolo superiore destro appare il pulsante rosso Save

    changes su cui fare clic per salvare tutte le modifiche alla configurazione. Per applicare queste

    modifiche nel server, necessario abilitare il modulo, mediante la voceModule Status nel men

    sulla sinistra. Ogni volta che si abilita un modulo, appare una finestra di popup di conferma prima che

    vengano eseguite le necessarie operazioni e i cambiamenti sul server e sui file di configurazione.

    Per personalizzare il file di configurazione o eseguire determinate azioni (script o comandi)

    per configurare caratteristiche non disponibili su Zentyal, collocare i modelli dei file di

    configurazione personalizzata in /etc/zentyal/stubs// e i puntatori in /etc/zentyal/hooks/..

    3.3. Riferimenti

    Pagina della documentazione ufficiale diZentyal10.

    Consultare anche la pagina della documentazione della comunit di Zentyal11.

    Non dimenticare di visitare ilforum12 per il supporto della comunit, commenti, richieste di

    caratteristiche, ecc.

    10

    http://doc.zentyal.org/11 http://trac.zentyal.org/wiki/Documentation12 http://forum.zentyal.org/