lunedì, agosto 31, 2009

ipcop remote backup rsync e ssh

- post<li> - Permalink

Ipcop è un ottimo firewall, ma il suo sistema di backup è alquanto particolare, probabilmente per un eccesso di sicurezza, ma su larga scala diventa inapplicabile, almeno per me (o per quello che ne ho capito io)!

Infatti ipcop è dotato di due tipi di backup:
  1. Via web si posso scaricare / caricare snapshot che si possono usare solo però su quella installazione specifica.
  2. Su floppy o chiave usb che servono in caso di disaster recovery, ammesso che non siano installati moduli extra tipo Update Accelerator e che quindi i file di configurazione trovino fisicamente spazio sul dispositivo scelto.
Io ne ho diversi installati e il disaster recovery diventa impossibile per l'impossibilità - 1 - di eseguire backup remoti - 2 - di poter accedere fisicamente al floppy dei vari firewall.

Quindi mi sono scritto questo semplice script per il backup basato su rsync e ssh. :D

Lo script è composto da 3 parti:
  1. Lo script vero e proprio -  /usr/local/bin/irsb.pl
  2. Un file di opzioni  - /var/ipcop/backup/irsb-option
  3. La lista dei file da salvare - /var/ipcop/backup/backuplistfile
Per poter funzionare necessita però di
  1. /usr/bin/rsync - reperibile da http://www.ipadd.de/binary.html - scaricabile qui
  2. /usr/bin/ssh - reperibile da http://www.ipadd.de/binary.html - scaricabile qui
Quindi ricapitolando ho realizzato un file tar che contiene:


           /usr/local/bin/irsb.pl
           /var/ipcop/backup/irsb-option
           /var/ipcop/backup/backuplistfile
           /usr/bin/rsync
           /usr/bin/ssh

 Il file è scaricabile da irsb-full-20090831.tar.bz2.

Se invece non vi fidate potete scaricarvi il file irsb-20090831.tar.bz2 e installare a parte rsync e ssh.

L'installazione poi è piuttosto banale:
  1. Caricate il file irsb-full-20090831.tar.bz2 sull'ipcop di cui volete fare il backup nella  cartella /tmp/ tramite scp o winscp.

  2. Lanciate il comando per decomprimere il file
    >cd / && tar jxvf /tmp/irsb-full-20090831.tar.bz2

  3. Modificate il file /var/ipcop/backup/irsb-option in base alla configurazione del server dove andrete a fare il backup. Il file è molto semplice ed è del tipo:

    #Change to match your enviroment
    $General::backuphost = 'your-host-ip-or-name';
    $General::backuphostpath = '/your/host/path/';
    $General::user = 'youruser';

    #Generaly doesn't need to change this
    #note that -r is NOT implied if --file-from is specified
    $General::rsyncoption = '-arvz';
    $General::sshoption = '-p 22';
    $General::backuplistfile = "/var/ipcop/backup/backuplistfile";

  4.  Provate i vostri settaggi con
    >/usr/local/bin/irsb.pl

  5. Dovreste ottenere una serie di messaggi tipo:
    > /usr/local/bin/irsb.pl

    The authenticity of host '[your-host-ip-or-name]:22 ([your-host-ip-or-name]:22)' can't b                                                                             e established.
    DSA key fingerprint is aa:d0:01:cb:6e:a2:53:95:4d:f6:b4:02:2f:bc:36:cc.
    Are you sure you want to continue connecting (yes/no)? yes
    Warning: Permanently added '[your-host-ip-or-name]:22' (DSA) to the list of known ho                                                                             sts.
    youruser@your-host-ip-or-name's password:
    sending incremental file list
    created directory: /your/host/path/YourIpcopHostname
    etc/
    etc/hosts
    etc/passwd
    etc/shadow
    etc/httpd/
    etc/httpd/server.crt
    etc/httpd/server.csr
    etc/httpd/server.key
    etc/rc.d/
    etc/rc.d/rc.firewall.local
    etc/rc.d/rc.local
    etc/snort/
    etc/snort/local.rules
    etc/ssh/
    etc/ssh/moduli
    etc/ssh/ssh_config
    etc/ssh/ssh_host_dsa_key
    etc/ssh/ssh_host_dsa_key.pub
    etc/ssh/ssh_host_key
    etc/ssh/ssh_host_key.pub
    etc/ssh/ssh_host_rsa_key
    etc/ssh/ssh_host_rsa_key.pub
    etc/ssh/sshd_config
    var/
    var/ipcop/
    var/ipcop/countries.pl
    var/ipcop/general-functions.pl
    var/ipcop/header.pl
    var/ipcop/lang.pl
    [ --- cut ---]
    var/ipcop/xtaccess/
    var/ipcop/xtaccess/config

    sent 658752 bytes  received 3180 bytes  10105.83 bytes/sec
    total size is 2057894  speedup is 3.11

  6. Fatto!
Mentre il ripristino in caso di disaster recovery diventa quasi banale:
  1. Installate un nuovo ipcop;
  2. Copiate via scp il contenuto della cartella di backup sovrascrivendo quella originale;
  3. Complimenti, avete ottenuto una nuova copia identica del firewall deceduto!
Lo script è rilasciato sotto licenza GPL v3.

Che ne dite può essere utile?

Byez

"La sicurezza non è mai sicura."

Nessun commento:

Articoli correlati divisi per etichetta



Widget by Hoctro