Come scegliere un servizio cloud per i backup


12

Sto pensando di utilizzare un servizio cloud per eseguire il backup di uno dei siti Web dei miei clienti.

Le mie principali preoccupazioni (dei clienti) sono (in ordine decrescente di importanza)

  1. Protezione dell'IP (segreti commerciali, codice sorgente), dettagli dell'account utente ecc
  2. Garanzia di uptime offerta dal fornitore di servizi (per ridurre al minimo i tempi di inattività del server web)
  3. Costo
  4. Velocità di upload / download

Idealmente, vorrei un servizio che non abbia un lungo legame (cioè preferirei una sorta di servizio "pay-as-you-go")

Vorrei anche evitare il blocco dei fornitori, dove è quasi impossibile passare a un altro servizio.

Vorrei alcune linee guida generali su:

  1. Come scegliere un fornitore di servizi
  2. Chi sono i principali giocatori del settore
  3. raccomandazione del software da utilizzare per: backup / ripristino / e upload / download dei file salvati / ripristinati

Il software del server sarà Ubuntu o Debian (probabilmente posterò una domanda su quale sistema operativo scegliere come server - ho già familiarità con Ubuntu)


Quanto è grande il sito Web? Include database di grandi dimensioni? Qualche cifra su ball-park su quanto il cliente è disposto a spendere? ($ 100 / mese, $ 10.000 / mese?)
RJFalconer

3
per quanto riguarda "segreti commerciali e codice sorgente", le informazioni così cruciali non appartengono al "cloud", indipendentemente da quanto sia affidabile un servizio.

Risposte:


4

Qualsiasi soluzione che non includa la crittografia sul lato client con le chiavi detenute dal proprietario non soddisferà il primo requisito dichiarato (protezione / sicurezza IP) - qualsiasi hack del lato server rivela dati non crittografati. Questo esclude i sistemi di sincronizzazione cloud come Dropbox che possiedono le chiavi.

Per evitare di ospitare le chiavi di crittografia importantissime sul server del sito Web, che a un certo punto è probabile che venga hackerato, ecco cosa farei:

  1. Server di backup interno sul sito del cliente: dispone di chiavi di crittografia e chiavi SSH per entrambi gli altri server
  2. Server che ospita il sito Web - potrebbe essere un host web
  3. Server o servizio di backup cloud

Passaggio 1: Server (1) estrae il backup da (2), quindi la maggior parte degli hack del server del sito Web non comprometterà i backup. La crittografia avviene a questo punto.

  • Vorrei utilizzare rsnapshot su SSH utilizzando l'accesso basato su chiave, poiché questo ha requisiti minimi sull'host web e sul server di backup interno - a meno che non si disponga di un DB di grandi dimensioni per il backup, è molto efficiente nella larghezza di banda e memorizza più versioni del sito, e gestisce anche l'eliminazione di vecchi backup.
  • La crittografia può essere eseguita da qualsiasi strumento da file a file come GPG, copiando l'albero rsnapshot in un altro albero - oppure è possibile utilizzare la duplicità per il passaggio 2, risparmiando spazio su disco.
  • "Estrarre" dal server di backup è importante: se il server principale (2) dispone delle password / chiavi per il server di backup, gli hacker possono e talvolta eliminano i backup dopo aver violato il server principale (vedere di seguito). Gli hack davvero avanzati possono installare binari SSH trojan che potrebbero quindi compromettere il server di backup, ma è meno probabile per la maggior parte delle aziende.

Passaggio 2: il server (1) invia i backup crittografati a (3) in modo che sia presente un backup fuori sede. Se i backup sono stati crittografati nel passaggio 1, è possibile utilizzare semplicemente un mirror rsync dell'albero rsnapshot locale sul sistema remoto.

  • Duplicity sarebbe una buona opzione per crittografare e eseguire il backup diretto dell'albero rsnapshot non crittografato sul server remoto. Le funzionalità di Duplicity sono un po 'diverse da rsnapshot, usando archivi tar crittografati con GPG, ma fornisce la crittografia di backup sull'host remoto e richiede solo SSH su quell'host (oppure può usare Amazon S3). Duplicity non supporta i collegamenti reali , quindi se è necessario (ad esempio per un backup completo del server), è meglio se uno script converte l'albero rsnapshot (che supporta i collegamenti fissi) in un file tar (forse solo i file che hanno> 1 hard link, che sarà piuttosto piccolo) in modo che la duplicità possa eseguire il backup del file tar.
  • Poiché il server remoto è solo un host SSH, possibilmente con rsync, potrebbe essere un host web (ma di un diverso provider di hosting e in una diversa parte del paese) o un servizio cloud che fornisce rsync e / o SSH - vedi questa risposta sui backup rsync su cloud per la sua raccomandazione di bqbackup e rsync.net, sebbene non sia d'accordo con la configurazione di backup menzionata.
  • Puoi utilizzare Amazon S3 come server remoto con duplicità, il che ti darebbe una disponibilità davvero buona anche se forse costerebbe di più per backup di grandi dimensioni.
  • Altre opzioni per i backup crittografati remoti sono Boxbackup (non abbastanza maturo, alcune belle funzioni) e Tarsnap (servizio cloud commerciale basato su Amazon S3 con semplice interfaccia a riga di comando, buona deduplicazione e crittografia molto approfondita).

La sicurezza di tutti i vari host è importante, quindi dovrebbe essere regolata per soddisfare il profilo di sicurezza del client, ovvero analizzare le minacce, i rischi, i vettori di attacco, ecc. Ubuntu Server non è un brutto inizio in quanto ha frequenti aggiornamenti di sicurezza per 5 anni, ma è richiesta attenzione alla sicurezza su tutti i server.

Questa configurazione fornisce 2 backup indipendenti, uno dei quali può essere un servizio di archiviazione cloud ad alta disponibilità, funziona in modalità pull in modo che la maggior parte degli attacchi sul sito Web non possa distruggere i backup contemporaneamente e utilizza strumenti open source ben collaudati che non richiede molta amministrazione.

  • I backup indipendenti sono fondamentali, perché gli hacker a volte eliminano tutti i backup contemporaneamente alla pirateria informatica del sito Web; nel caso più recente gli hacker hanno distrutto 4800 siti Web, inclusi i backup hackerando l'ambiente di hosting Web anziché i siti. Vedi anche questa risposta e questa .
  • Il ripristino è molto semplice con rsnapshot: in ogni albero di snapshot è presente un file per ogni file di cui è stato eseguito il backup, quindi è sufficiente trovare i file con gli strumenti Linux e rsync o eseguirne lo script sul sito Web. Se il server di backup in loco non è disponibile per qualche motivo, utilizzare la duplicità per ripristinarli dal server di backup cloud oppure è possibile utilizzare strumenti standard come GPG, rdiff e tar per ripristinare i backup.

Poiché questa configurazione utilizza SSH e rsync standard, dovrebbe essere più semplice scegliere un fornitore adatto con le giuste garanzie di uptime, sicurezza elevata, ecc. Non è necessario bloccare un contratto lungo e se il servizio di backup ha un effetto catastrofico errore, hai ancora un backup locale e puoi passare a un altro servizio di backup abbastanza facilmente.


rsnapshot non supporta solo hardlink, li usa nella sua rappresentazione interna. Quindi la duplicità non eseguirà correttamente il backup dell'archivio dati rsnapshot senza doverlo contrastare.
ptman,

@ptman: è vero, tuttavia non è necessario tarare su tutto l'albero rsnapshot. Vorrei usare la duplicità per eseguire il backup della directory "daily.0" di rsnapshot solo nell'albero rsnapshot, che ha il backup dell'istantanea più recente dell'albero di directory. I collegamenti inter-snapshot di Rsnapshot tra daily.0, daily.1, ecc., Non sono rilevanti per il backup della duplicità, che vede solo i collegamenti tra due file nella struttura dell'istantanea daily.0, corrispondenti ai collegamenti effettivi sul sistema sottoposti a backup. Tar può catturare quei collegamenti OK e la duplicità può eseguirne il backup tramite il file tar.
RichVel,

2

Dal punto di vista software, considerare la duplicità per i backup incrementali con crittografia asimmetrica e un ricevitore stupido ( howto non cloud ).


1

Dico sempre ai miei clienti che la soluzione di backup migliore, meno costosa ed efficiente è quella che costruisci tu stesso, per i tuoi scopi.

Quando creo un sistema per i miei client, utilizzo rsync con chiavi SSH per gestire l'autenticazione tra serverA e serverB, dove serverA contiene i dati di cui eseguire il backup. Il comando per archiviare e risincronizzare i dati è contenuto in uno script bash in una directory non accessibile dal web, chiamata da cron ogni ora H (24 per tutti i giorni, ecc. Ecc.)

Il server di backup, serverB, deve essere utilizzato SOLAMENTE per i backup. Consiglio sempre ai miei clienti di utilizzare una password estremamente lunga con autenticazione con chiave SSH per consentire il download dei backup e il backup. A volte, i miei clienti devono salvare i backup per D giorni, quindi scrivo alcuni script per gestirli (prendere i dati dalla directory di backup attiva, applicare un timestamp, aggiungere a un archivio in un'altra directory).


0

Per le piccole imprese / prosumer, consiglierei il servizio di archiviazione di Amazon .

  • Controllo della regione (vale a dire oggetti immagazzinati in una UE non escono mai dalla UE).
  • Tempo di attività del 99,9% per ogni dato ciclo di fatturazione
  • $ 0,150 per GB memorizzati al mese
  • 0,170 USD per GB scaricati
  • Caricamento gratuito fino a giugno 2010, $ 0,10 per GB in seguito

E l'assicurazione piuttosto vaga che "Vengono forniti meccanismi di autenticazione per garantire che i dati siano protetti da accessi non autorizzati"


0

Mentre bluenovember è sulla buona strada con S3, il sistema di Amazon non è in realtà una soluzione di backup drop-in, è una soluzione di archiviazione di dati grezzi che richiede ancora un sistema front-end da utilizzare per il backup, che si tratti di alcune chiamate API o di un suite completa di gestione del backup. Qualcosa come JungleDisk Server Edition , che utilizza S3 nel back-end ma fornisce un'interfaccia migliore da utilizzare come soluzione di backup, probabilmente sarebbe meglio.

Inoltre, JungleDisk ti fornirebbe la crittografia integrata, qualcosa che dovresti aggiungere indipendentemente da come prevedi di connetterti a S3 / "il cloud". Hanno anche un software molto carino per Linux.


0

Mi piace archiviare il mio backup su Amazon AWS e utilizzo lo strumento gratuito s3cmd ( http://s3tools.org/s3cmd )

Può essere installato abbastanza facilmente (Debian: apt-get install s3cmd).

Tutto ciò di cui hai bisogno per un account Amazon AWS per archiviare i tuoi file su S3. Quindi un semplice comando può eseguire il backup, anche incrementale o come soluzione di sincronizzazione, ad esempio:

s3cmd sync /srv/backup  s3://your-bucket-name-at-amazon/

Assicurati di correre

s3cms --configure 

prima di inserire le tue credenziali AWS.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.