Μπορείτε να κρατήσετε αντίγραφο ασφαλείας ενός κρυπτογραφημένου container ως ένα αντικείμενο, ή να το προσαρτήσετε και να αντιγράψετε τα αρχεία μέσα. Και τα δύο περνούν άνετα από το VPN, και εκεί τελειώνει η ομοιότητα. Επαναφέρουν διαφορετικά πράγματα, εξαρτώνται από διαφορετικά κλειδιά, κοστίζουν διαφορετικό χώρο και αποτυγχάνουν με διαφορετικούς τρόπους όταν κάποιος χρειάζεται τα δεδομένα πίσω. Διαλέξτε πρώτα το αντικείμενο επαναφοράς, μετά τη μεταφορά, μετά την κρυπτογράφηση του αποθηκευμένου αντιγράφου. Η λίστα παρακάτω ακολουθεί αυτή τη σειρά, γιατί σχεδόν κάθε διαφωνία για αντίγραφα ασφαλείας είναι στην πραγματικότητα διαφωνία για το ποια από τις τρεις αποφάσεις πάρθηκε πρώτη.

Δύο αντικείμενα, δύο μορφές επαναφοράς

Ένα αντίγραφο σε επίπεδο image επαναφέρει ένα container: παίρνετε πίσω τον κρυπτογραφημένο τόμο και χρειάζεστε ακόμη το υλικό επαναφοράς του για να τον ανοίξετε. Ένα αντίγραφο σε επίπεδο αρχείων επαναφέρει αρχεία και δέντρα καταλόγων, και όποια κρυπτογράφηση τα προστατεύει είναι ιδιότητα του αποθετηρίου αντιγράφων και όχι του αρχικού container. Ένα απλό αντίγραφο σε απομακρυσμένο φάκελο είναι τρίτη περίπτωση και κληρονομεί όποια προστασία τυχαίνει να έχει αυτός ο φάκελος.

ObjectWhat a restore gives youWhere the encryption question lands
Encrypted container imageThe volume, still lockedThe container format and its recovery key material
Mounted files into a backup toolSelected files and metadataThe backup repositorys own keys and design
Plain copy to a remote folderWhatever the copy process keptWhatever protects that storage afterwards

Η μεσαία γραμμή είναι αυτή που οι άνθρωποι διαβάζουν λάθος. Μπορεί να είναι απολύτως καλός σχεδιασμός: το πρόγραμμα αντιγράφων διαβάζει απλό κείμενο τοπικά και γράφει ένα κρυπτογραφημένο, πιστοποιημένο αποθετήριο. Τότε η ασφάλεια στηρίζεται σε αυτό το πρόγραμμα και τα διαπιστευτήριά του, όχι στον κωδικό του αρχικού container, και τα δύο δεν πρέπει να περιγράφονται σαν να ήταν ο ίδιος έλεγχος.

Έλεγχος 1: τι πρέπει να ανακατασκευάσει η επαναφορά;

Κάντε την ερώτηση με τη μορφή επαναφοράς, όχι αντιγράφου. Αν η απαίτηση είναι “φέρε αυτή την υπηρεσία πίσω σε άλλον host”, ένα image μαζί με το υλικό επαναφοράς του είναι συνεπής απάντηση. Αν η απαίτηση είναι “πάρε πίσω το οικονομικό υπολογιστικό φύλλο του Μαρτίου”, η επαναφορά ενός image μερικών gigabyte μόνο για να εξαγάγεις ένα αρχείο είναι ακριβός τρόπος να απαντήσεις. Και τα δύο είναι νόμιμες επαναφορές και δεν είναι ανταλλάξιμοι προϋπολογισμοί. Ένα σχέδιο που ονομάζει μόνο ένα από τα δύο θα δοκιμαστεί τελικά από το άλλο.

Γράψτε τον στόχο επαναφοράς στο σχέδιο: ολόκληρο τον τόμο, ένα δέντρο καταλόγων ή μεμονωμένα αρχεία. Σημειώστε μετά ποια μεταδεδομένα πρέπει να ταξιδέψουν μαζί τους, γιατί η κυριότητα, τα δικαιώματα, τα εκτεταμένα χαρακτηριστικά και οι χρονικές σφραγίδες είναι μέρος μιας επαναφοράς σε επίπεδο αρχείων και συχνά χάνονται σε ροές εργασίας βασισμένες στην αντιγραφή που φάνηκαν επαρκείς στις δοκιμές.

Αποφασίστε επίσης ποιος εκτελεί την επαναφορά. Ένα αποθετήριο σε επίπεδο αρχείων που μπορεί να προσαρτήσει οποιοσδήποτε χειριστής είναι διαφορετικό μοντέλο πρόσβασης από ένα image που απαιτεί την παρουσία του κατόχου του κλειδιού, και κανένα δεν είναι αυτόματα καλύτερο. Το σημαντικό είναι η επιλογή να είναι συνειδητή και γραπτή.

Έλεγχος 2: τι προστατεύει το αποθηκευμένο αντίγραφο;

Το VPN προστατεύει ένα τμήμα μεταφοράς. Δεν λέει τίποτα για το αποθηκευμένο αντίγραφο μόλις τελειώσει η μεταφορά, και το “πέρασε από τη σήραγγα” δεν είναι δήλωση για την ικανότητα του χειριστή των αντιγράφων να διαβάζει τα δεδομένα σας. Αν την απομακρυσμένη πλευρά τη διαχειρίζεται κάποιος άλλος, το ερώτημα είναι τι μπορούν να διαβάσουν, όχι αν ο σύνδεσμος ήταν κρυπτογραφημένος.

Για ένα image αυτό σημαίνει να προστατεύσετε το υλικό κλειδιού του container χωριστά από το ίδιο το image. Η απώλεια της κεφαλίδας σημαίνει απώλεια του τόμου, οπότε κρατήστε αντίγραφο της κεφαλίδας κάπου όπου δεν βρίσκεται το image:

cryptsetup luksHeaderBackup /dev/vg0/data --header-backup-file data-header.img
cryptsetup luksDump /dev/vg0/data | head -20

Για ένα αποθετήριο σε επίπεδο αρχείων, επαληθεύστε ότι το εργαλείο κρυπτογραφεί και πιστοποιεί περιεχόμενο και μεταδεδομένα πριν φύγουν από τον host, και βρείτε ποιος κρατά τα κλειδιά. Η τεκμηρίωση σχεδιασμού του Restic δηλώνει ρητά ότι προϋποθέτει έμπιστο host προέλευσης και ότι η κρυπτογράφηση δεν εμποδίζει κάποιον με πρόσβαση στον χώρο αποθήκευσης να διαγράψει αντίγραφα. Και οι δύο επιφυλάξεις μετρούν: ένα αποθετήριο μπορεί να είναι εμπιστευτικό και παρ' όλα αυτά να καταστραφεί.

Έλεγχος 3: είναι συνεπές το αντίγραφο;

Ένα αντίγραφο που καταγράφει ένα σύστημα αρχείων εν κινήσει είναι αντίγραφο, όχι σημείο επαναφοράς. Για ένα image, χρησιμοποιήστε την υποστηριζόμενη μέθοδο του εργαλείου τόμων για σταθερό snapshot, που συνήθως σημαίνει λειτουργία snapshot ή αποπροσάρτηση αντί να διαβάζετε ένα μεγάλο αρχείο όσο αλλάζει:

lvcreate -L 5G -s -n data-snap /dev/vg0/data
cryptsetup open /dev/vg0/data-snap data-snap --readonly

Για προσαρτημένα αρχεία, χρησιμοποιήστε την υποστηριζόμενη διαδικασία συνέπειας της εφαρμογής για ζωντανές βάσεις δεδομένων και άλλα συντονισμένα δεδομένα. Ένα αντίγραφο σε επίπεδο συστήματος αρχείων και ένα σημείο επαναφοράς συνεπές με την εφαρμογή είναι διαφορετικές περιγραφές, και η διαφορά γίνεται ορατή μόνο όταν προσπαθήσετε να ξεκινήσετε την εφαρμογή από το αντίγραφο που επαναφέρατε.

Κρατήστε το υλικό επαναφοράς σε ανεξάρτητη προστατευμένη διαδρομή. Η απώλεια του αρχικού μηχανήματος δεν πρέπει ποτέ να συνεπάγεται και την απώλεια του μόνου διαπιστευτηρίου που ανοίγει το αντίγραφό του, και αυτό ακριβώς συμβαίνει όταν το αρχείο κλειδιού ζει στον τόμο που αντιγράφεται. Δοκιμάστε αυτόν τον διαχωρισμό σκόπιμα: επαναφέρετε σε host που δεν έχει δει ποτέ το πρωτότυπο, χρησιμοποιώντας μόνο ό,τι το σχέδιο λέει ότι είναι διαθέσιμο.

Έλεγχος 4: ισχύει η ανίχνευση αλλαγών για αυτό το αντικείμενο;

Ένα κρυπτογραφημένο container μοιάζει με ένα μεγάλο αδιαφανές αρχείο στα περισσότερα εργαλεία μεταφοράς, οπότε μια μικρή αλλαγή απλού κειμένου μπορεί να προκαλέσει μεγάλη επανάγνωση ή πλήρες ανέβασμα από την αρχή ανάλογα με το εργαλείο και τη μορφή. Ο τεμαχισμός μεταβλητού μεγέθους και η αποδιπλοποίηση, όπως τα τεκμηριώνει το restic, μπορούν να το μειώσουν, αλλά είναι ιδιότητα εκείνου του εργαλείου και όχι των κρυπτογραφημένων container γενικά.

Μετρήστε αντί να υποθέσετε. Συγκρίνετε μια πρώτη εκτέλεση με μια δεύτερη ύστερα από μια μικρή, ακίνδυνη αλλαγή, και καταγράψτε τα μεταφερμένα byte καθώς και τον χρόνο που πέρασε. Διατηρήστε ένα γνωστά καλό αντίγραφο όσο πειραματίζεστε, ώστε μια δοκιμή να μην καταναλώσει το μοναδικό σας σημείο επαναφοράς.

Έπειτα ολοκληρώστε τη λίστα με τη μόνη δοκιμή που μετράει: επαναφορά χωρίς το αρχικό μηχάνημα. Ανοίξτε ένα container που επαναφέρατε, ή επαναφέρετε επιλεγμένα αρχεία με τα μεταδεδομένα τους, και επιβεβαιώστε ότι η εφαρμογή ή ο χρήστης μπορεί να χρησιμοποιήσει το αποτέλεσμα. Μια γρήγορη, καλά κρυπτογραφημένη μεταφορά που δεν απαντά σε αυτή τη δοκιμή είναι αντίγραφο των δεδομένων σας, όχι αντίγραφο ασφαλείας τους.

Σχετικά άρθρα