Menu Content/Inhalt
Italian - ItalyEnglish (United Kingdom)

Share/notice

Home Sicurezza Howto Backup con Rsync
 Software nella scuola Reti locali Internet
Come mantenere le copie dei vostri dati (backup) Print E-mail
Friday, 14 September 2007 09:15

Abbiamo già evidenziato in un nostro documento le contromisure da prendere per ridurre al minimo i danni a seguito di crash nell’architettura di rete più diffusa, quella in cui é presente un server ma i dati sono anche distribuiti sui vari client (personal computer dell’ufficio).

Solitamente un dispositivo di backup (Dat, zip disk) associato al server ed una procedura di copia automatica; rimane tuttavia il problema dei dati che col passare del tempo sono distribuiti sui vari personal computer client.

La soluzione che vi proponiamo consiste nell’utilizzare un vecchio PC obsoleto per realizzare un server di backup. Tale soluzione può essere adottata in aggiunta ad altri dispositivi e metodi esistenti e si applica a tutti i personal computer presenti nell’ufficio, client o server.

Ipotesi operative

  • Il server di backup si trova fisicamente in un locale il cui accesso è controllato dagli utenti dei PC, ovvero non è consentito l’accesso ad estranei.
  • L’accesso alla rete locale è consentito solo agli utenti dei PC, ovvero esiste la separazione fisica da altre eventuali reti (p.es. la didattica).
  • Non vi sono accessi wireless.
  • Non è necessario cifrare i dati in transito in quanto riteniamo sicura la rete locale dell’ufficio.

Hardware da utilizzare per realizzare il server di backup

  • Un vecchio personal computer.
  • Un hard disk di capacità adeguata a contenere le copie dei dati (solitamente il dispositivo originale, di capacità uno o due Gb, non è sufficiente).
  • Un adattatore di rete.

Software per il server di backup

  • Linux (qualunque distribuzione) o FreeBSD.

Specifiche desiderate

  • Il backup deve iniziare dal client, ovvero è il PC dell’utente (p.es. della segreteria) che avvia la procedura di copia.
  • La procedura deve essere indipendente dal sistema operativo, ovvero compatibile con Windows, Linux o Unix like, MacOSX.
  • La procedura deve essere automatica ma può essere avviata anche in manuale in modo semplice, “one clic” (utilizzando un termine preso a prestito dal commercio elettronico).
  • I costi devono essere ridotti al minimo (hard disk e adattatore di rete).

Configurazione del server linux

A causa delle limitate risorse hardware disponibili (P200MMX con 64 Mb di RAM) abbiamo scelto una distribuzione linux con installer testuale: Debian “Sarge”.

Il software specifico per la copia dei dati è costituto dal comando unix rsync, utilizzato in modalità server sul box Linux ed in modalità comando sui client.

Rsync utilizza un protocollo molto efficiente perché trasmette al sistema di backup (il nostro box Linux) solo le differenze necessarie a sincronizzarei file.

Altre caratteristiche di rsync sono la compressione dei dati durante la trasmissione e la possibilità di utilizzare come metodo di trasporto lo shell remoto ssh che permette di cifrare i dati.

Supponendo che sappiate installare linux, configurare l’adattatore di rete ed installare rsync (apt-get install rsync con debian) ci concentriamo sulla configurazione.

Il daemon rsync può essere avviato tramite gli script di startup che si trovano generalmente nella directory /etc/init.d per mezzo dell’opzione –daemon ( in Debian esiste lo script /etc/init.d/rsync):

rsync --daemon

o in alternativa tramite inetd, aggiungendo al file /etc/inetd.conf la linea:

rsync stream tcp nowait root /usr/bin/rsync rsyncd –daemon

Il controllo delle operazioni del daemon rsync avviene tramite il file di configurazione /etc/rsyncd.conf; per controllare cosa può accedere un utente si definiscono i moduli. Riportiamo di seguito il nostro file di configurazione:

# il nostro file di configurazione rsyncd.conf

# GLOBAL OPTIONS

#motd file=/etc/motd

#log file=/var/log/rsyncd

# for pid file, dont' use /var/run/rsync.pid unless you're not going to run

# rsync out of the init.d script. The /var/run/rsyncd.pid below is OK.

pid file=/var/run/rsyncd.pid

#syslog facility=daemon

#socket options=

# MODULE OPTIONS

[pippo]

comment = archivi di pippo

path = /home/pippo

use chroot = yes

lock file = /var/lock/rsyncd

read only = no

list = yes

uid = pippo

gid = pippo

#exclude = #specify any file in path not to be accessed

#exclude from =

#include =

#include from =

#auth users = #allow specific users to connect (besides anonymous)

#secrets file = /etc/rsyncd.secrets

strict modes = yes #makes sure the secrets file has proper permissions

#hosts allow =

#hosts deny =

ignore errors = no

ignore nonreadable = yes

transfer logging = no

#log format = %t: host %h (%a) %o %f (%l bytes). Total %b bytes.

timeout = 600

refuse options = checksum, dry-run

dont compress = *.gz *.tgz *.zip *.z *.rpm *.deb *.iso *.bz2 *.tbz

Commentiamo alcune delle opzioni che possono essere specificate a livello di modulo:

  • path definisce il percorso dove si trova la directory associata all’utente.
  • use chroot = yes significa che l’utente ha accesso solo ed esclusivamente alla sua directory.
  • read only = no significa che l’utente può scrivere nella cartella indicata dall’opzione path.
  • uid e gid indicano l’utente e il gruppo con cui avviene il trasferimento dei file.
  • List = yes significa che l’utente può vedere questo modulo quando chiede la lista dei moduli al server.

Per testare rsync potete utilizzare il comando:

rsync localhost::

per ottenere l’elenco dei moduli ( non dimenticate :: due volte).

Ogni utente che desidera usufruire del servizio di backup deve avere un corrispondente utente linuxed un modulo nel file di configurazione rsyncd.conf.

Configurazione del client Windows

Seguiamo l’approccio minimale descritto nel seguente documento dell’Università di Melbourne:

http://optics.ph.unimelb.edu.au/help/rsync/rsync_pc1.html

Scaricate il file “rsync minimal.zip” dal seguente URL:

http://optics.ph.unimelb.edu.au/help/rsync/binaries/

Create una cartella denominata rsync ed al suo interno scompattate il file appena scaricato.

Copia dei dati

Create un file di tipo batch (ad esempio copia.bat):

cd C:\Documents and Settings\pippo\Documenti

c:\rsync\rsync2.5.1-dev.exe -auvzbp * 192.168.1.10::pippo/

con cui si istruisce il client di collegarsi al server rsync (modulo pippo) attivo sul box linux avente indirizzo IP 192.168.1.10 e di copiare il contenuto della directory corrente tenendo conto delle opzioni indicate:

  • a modo archivio
  • b fai il backup
  • u solo update
  • v visualizza le operazioni
  • z compirmi
  • p conserva i permessi

Attenzione al doppio : : che significa connessione al server.

Ripristino dei dati

Ripristino di tutti i file

c:\rsync\rsync2.5.1-dev.exe -a 192.168.1.10::pippo/* c:\Documenti

Ripristino di un solo file

c:\rsync\rsync2.5.1-dev.exe -a 192.168.1.10::pippo/file.txt c:\Documenti

Automatizzare le copie

  1. Clic su Start -> Pannello di controllo.
  2. Clic su Operazioni Pianificate.
  3. Clic su Aggiungi operazione pianificata.
  4. Seguite le indicazioni e per mezzo del bottone Sfoglia selezionate il file batch copia.bat precedentemente predisposto.
  5. Selezionate la periodicità con cui deve essere eseguita l’operazione di backup.

Client MacOSX

Poiché si tratta di un sistema basato su FreeBSD non esistono problemi di compatibilità, si tratta solamente di installare il comando rsync; dalla finestra di terminale eseguite il comando:

fink install rsync

Il manuale di rsync può essere consultato dalla finestra di terminale con il comando:

man rsync

Client Linux

Rsync é già presente in molte installazioni standard, in caso contrario deve ovviamente essere installato; per verificare la sua presenza eseguite il commando:

whereis rsync

Network time

Per decidere se copiare un file rsync controlla la dimensione e la data di ultima modifica; diventa quindi necessario sincronizzare la data e l’ora di tutti i PC dell’ufficio.

Linux e Unix like

È sufficiente impostare il comando (p.es. ogni ora nel crontab)

ntpdate ntp1.ien.it ntp2.ien.it

ntp1 e ntp2 sono i server di riferimento dell’Istituto Elettrotecnico Nazionale “Galileo Ferraris”

MacOSX

È già impostato il daemon ntp che si sincronizza con time.euro.apple.com.

Windows XP

Procedete come segue:

Pannello di controllo -> Data e ora -> Ora Internet

Finestra Proprietà - data e ora win XP

Windows 2000

Dalla finestra di comando:

net time /SETSNTP:time.windows.com

net start W32Time

Windows 95/98/Me

Scaricate il software NetTime presso il seguente URL: http://nettime.sourceforge.net e seguite le istruzioni per l’installazione.

Considerazioni sulla sicurezza

Nel caso in cui il trasporto dei dati non sia ritenuto sicuro la connessione al server rsync può avvenire attraverso lo shell ssh che permette di cifrare i dati; un successivo aggiornamento di codesto documento dimostrerà il suo impiego.

Link alle pagine web ufficiali di rsync:

http://rsync.samba.org

^top

Last Updated on Tuesday, 09 October 2007 06:46
 
designed by www.madeyourweb.com