Toute solution qui n'inclut pas le cryptage du côté client avec des clés détenues par le propriétaire ne répondra pas à la première exigence énoncée (protection de la propriété intellectuelle / sécurité) - tout piratage du côté serveur divulgue des données non cryptées. Cela exclut les systèmes de synchronisation en nuage tels que Dropbox, qui possèdent les clés.
Pour éviter d'héberger les importantes clés de chiffrement sur le serveur du site web, qui est également susceptible d'être piraté à un moment donné, voici ce que je ferais :
- Serveur de sauvegarde interne sur le site du client - dispose de clés de cryptage et de clés SSH pour les deux autres serveurs.
- Serveur hébergeant le site web - il peut s'agir d'un hôte web.
- Serveur ou service de sauvegarde en nuage
Étape 1 : Le serveur (1) extrait la sauvegarde de (2), de sorte que la plupart des piratages du serveur du site Web ne compromettent pas les sauvegardes. Le cryptage a lieu à ce stade.
- J'utiliserais rsnapshot par SSH en utilisant une connexion basée sur une clé, car cette méthode a des exigences minimales sur l'hôte web et le serveur de sauvegarde interne - à moins que vous n'ayez une grande base de données à sauvegarder, elle est très efficace en termes de bande passante et stocke plusieurs versions du site, et gère également la purge des anciennes sauvegardes.
- Le cryptage peut être effectué par n'importe quel outil de fichier à fichier tel que GPG, en copiant l'arbre rsnapshot vers un autre arbre - ou vous pouvez utiliser la duplicité pour l'étape 2, en économisant de l'espace disque.
- Le "Pull" du serveur de sauvegarde est important - si le serveur principal (2) possède les mots de passe/clés du serveur de sauvegarde, les pirates peuvent supprimer les sauvegardes et le font parfois après avoir piraté le serveur principal (voir ci-dessous). Les pirates vraiment avancés peuvent installer des binaires SSH avec un cheval de Troie qui pourraient alors compromettre le serveur de sauvegarde, mais cela est moins probable pour la plupart des entreprises.
Étape 2 : le serveur (1) envoie les sauvegardes cryptées au serveur (3) afin de disposer d'une sauvegarde hors site. Si les sauvegardes ont été cryptées à l'étape 1, vous pouvez simplement utiliser un miroir rsync de l'arbre rsnapshot local vers le système distant.
-
Duplicité serait une bonne option pour crypter directement et sauvegarder l'arbre rsnapshot non crypté sur le serveur distant. La fonction de duplicité caractéristiques est un peu différent de rsnapshot, utilisant des archives tar cryptées par GPG, mais il fournit un cryptage de sauvegarde sur l'hôte distant et ne nécessite que SSH sur cet hôte (ou il peut utiliser Amazon S3). Duplicité ne supporte pas les liens durs Donc si cela est nécessaire (par exemple pour une sauvegarde complète du serveur), il est préférable qu'un script convertisse l'arbre rsnapshot (qui supporte les liens durs) en un fichier tar (peut-être juste les fichiers qui ont >1 lien dur, qui seront assez petits) afin que duplicity puisse sauvegarder le fichier tar.
- Puisque le serveur distant n'est qu'un hôte SSH, éventuellement avec rsync, il pourrait s'agir d'un hôte web (mais d'un fournisseur d'hébergement différent et dans une autre partie du pays), ou d'un service en nuage qui fournit rsync et/ou SSH - cf. cette réponse sur les sauvegardes rsync vers le nuage pour sa recommandation de bqbackup et rsync.net, bien que je ne sois pas d'accord avec la configuration de sauvegarde mentionnée.
- Vous pouvez utiliser Amazon S3 comme serveur distant avec duplicité, ce qui vous donnerait une très bonne disponibilité, bien que cela puisse coûter plus cher pour les sauvegardes importantes.
- Les autres options pour les sauvegardes cryptées à distance sont les suivantes Boxbackup (pas tout à fait aussi mature, quelques fonctionnalités intéressantes) et Tarsnap (service commercial en nuage basé sur Amazon S3 avec une interface en ligne de commande simple, une bonne déduplication et un cryptage très poussé).
La sécurité de tous les différents hôtes est importante, il faut donc l'adapter au profil de sécurité du client, c'est-à-dire analyser les menaces, les risques, les vecteurs d'attaque, etc. Ubuntu Server n'est pas un mauvais départ car il bénéficie de fréquentes mises à jour de sécurité depuis 5 ans, mais il faut prêter attention à la sécurité sur tous les serveurs.
Cette configuration fournit deux sauvegardes indépendantes, dont l'une peut être un service de stockage en nuage hautement disponible, fonctionne en mode "pull" de sorte que la plupart des attaques sur le site Web ne peuvent pas détruire les sauvegardes en même temps, et utilise des outils open source éprouvés qui ne nécessitent pas beaucoup d'administration.
- Les sauvegardes indépendantes sont essentielles, car il arrive que les pirates suppriment toutes les sauvegardes en même temps qu'ils piratent le site web - dans le cas le plus récent les pirates ont détruit 4800 sites web, y compris des sauvegardes en piratant l'environnement d'hébergement web plutôt que les sites. Voir aussi cette réponse y celui-ci .
- La restauration est très facile avec rsnapshot - il y a un fichier dans chaque arbre d'instantané pour chaque fichier sauvegardé, donc il suffit de trouver les fichiers avec les outils Linux et de les rsync ou scp pour les remettre sur le site web. Si le serveur de sauvegarde sur site est indisponible pour une raison quelconque, il suffit d'utiliser duplicity pour les restaurer à partir du serveur de sauvegarde en nuage - ou vous pouvez utiliser des outils standard comme GPG, rdiff et tar pour restaurer les sauvegardes.
Puisque cette configuration utilise SSH et rsync standard, il devrait être plus facile de choisir un fournisseur approprié avec les bonnes garanties de temps de fonctionnement, une sécurité forte, etc. Vous n'avez pas besoin de vous engager dans un long contrat, et si le service de sauvegarde connaît une défaillance catastrophique, vous disposez toujours d'une sauvegarde locale et pouvez passer à un autre service de sauvegarde assez facilement.
0 votes
Quelle est la taille du site web ? Comprend-il de grandes bases de données ? Avez-vous des chiffres approximatifs sur le montant que le client est prêt à dépenser ? (100 $/mois, 10 000 $/mois ?)
3 votes
En ce qui concerne les "secrets commerciaux et le code source", des informations aussi cruciales n'ont pas leur place dans le "nuage", quelle que soit la réputation d'un service.