Guida a Ubuntu Server 12.10_ITA-Cap6
-
Upload
giovanniniosi -
Category
Documents
-
view
215 -
download
0
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/