Πώς να κρυπτογραφήσετε μονάδες δίσκου χρησιμοποιώντας το LUKS στο Fedora Linux


Σε αυτό το άρθρο, θα εξηγήσουμε εν συντομία την κρυπτογράφηση μπλοκ, το Linux Unified Key Setup (LUKS) και θα περιγράφει τις οδηγίες για τη δημιουργία μιας κρυπτογραφημένης συσκευής μπλοκ στο Fedora Linux.

Αποκλεισμός κρυπτογράφησης συσκευής

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

Εισαγωγή στο LUKS

Το LUKS (Linux Unified Key Setup) είναι το πρότυπο για την κρυπτογράφηση μπλοκ συσκευών στο Linux, το οποίο λειτουργεί με τη δημιουργία μιας μορφής στον δίσκο για τα δεδομένα και μια πολιτική διαχείρισης φράσης/κλειδιού . Αποθηκεύει όλες τις απαραίτητες πληροφορίες ρύθμισης στην κεφαλίδα του διαμερίσματος (γνωστή και ως κεφαλίδα LUKS), επιτρέποντάς σας έτσι να μεταφέρετε ή να μετεγκαταστήσετε δεδομένα απρόσκοπτα.

Το LUKS χρησιμοποιεί το υποσύστημα χαρτογράφησης συσκευών πυρήνα με τη λειτουργική μονάδα dm-crypt για να παρέχει μια χαρτογράφηση χαμηλού επιπέδου που διατηρεί κρυπτογράφηση και αποκρυπτογράφηση των δεδομένων της συσκευής. Μπορείτε να χρησιμοποιήσετε το πρόγραμμα cryptsetup για να εκτελέσετε εργασίες σε επίπεδο χρήστη, όπως η δημιουργία και η πρόσβαση σε κρυπτογραφημένες συσκευές.

Προετοιμασία μιας συσκευής μπλοκ

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

Εγκαταστήστε το πακέτο cryptsetup.

dnf install cryptsetup-luks

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

dd if=/dev/urandom of=/dev/sdb1	           [slow with high quality random data ]
OR
badblocks -c 10240 -s -w -t random -v /dev/sdb1  [fast with high quality random data]

Προειδοποίηση: Οι παραπάνω εντολές θα διαγράψουν τυχόν υπάρχοντα δεδομένα στη συσκευή.

Μορφοποίηση κρυπτογραφημένης συσκευής

Στη συνέχεια, χρησιμοποιήστε το εργαλείο γραμμής εντολών cryptsetup για να μορφοποιήσετε τη συσκευή ως κρυπτογραφημένη συσκευή dm-crypt/LUKS.

cryptsetup luksFormat /dev/sdb1

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

Για να επαληθεύσετε εάν η λειτουργία ήταν επιτυχής, εκτελέστε την ακόλουθη εντολή.

cryptsetup isLuks /dev/sdb1 && echo Success

Μπορείτε να προβάλετε μια σύνοψη των πληροφοριών κρυπτογράφησης για τη συσκευή.

cryptsetup luksDump /dev/sdb1

Δημιουργία αντιστοίχισης για να επιτρέπεται η πρόσβαση σε αποκρυπτογραφημένο περιεχόμενο

Σε αυτήν την ενότητα, θα διαμορφώσουμε τον τρόπο πρόσβασης στα αποκρυπτογραφημένα περιεχόμενα της κρυπτογραφημένης συσκευής. Θα δημιουργήσουμε μια αντιστοίχιση χρησιμοποιώντας το kernel device-mapper. Συνιστάται να δημιουργήσετε ένα όνομα με νόημα για αυτήν την αντιστοίχιση, κάτι σαν luk-uuid (όπου το <uuid> αντικαθίσταται με το LUKS UUIDτης συσκευής ( Καθολικά μοναδικό αναγνωριστικό).

Για να λάβετε την κρυπτογραφημένη συσκευή σας UUID, εκτελέστε την ακόλουθη εντολή.

cryptsetup luksUUID /dev/sdb1

Αφού λάβετε το UUID, μπορείτε να δημιουργήσετε το όνομα αντιστοίχισης όπως φαίνεται (θα σας ζητηθεί να εισαγάγετε τη φράση πρόσβασης που δημιουργήθηκε νωρίτερα).

cryptsetup luksOpen /dev/sdb1 luk-59f2b688-526d-45c7-8f0a-1ac4555d1d7c

Εάν η εντολή είναι επιτυχής, ένας κόμβος συσκευής που ονομάζεται /dev/mapper/luk-59f2b688-526d-45c7-8f0a-1ac4555d1d7c που αντιπροσωπεύει την αποκρυπτογραφημένη συσκευή.

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

dmsetup info /dev/mapper/luk-59f2b688-526d-45c7-8f0a-1ac4555d1d7c

Δημιουργία συστημάτων αρχείων σε αντιστοιχισμένη συσκευή

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

Για να δημιουργήσετε ένα σύστημα αρχείων ext4 στην αντιστοιχισμένη συσκευή, εκτελέστε την ακόλουθη εντολή.

mkfs.ext4 /dev/mapper/luk-59f2b688-526d-45c7-8f0a-1ac4555d1d7c

Για να προσαρτήσετε το παραπάνω σύστημα αρχείων, δημιουργήστε ένα σημείο προσάρτησης για αυτό, π.χ. /mnt/encrypted-device και στη συνέχεια προσαρτήστε το ως εξής.

mkdir -p /mnt/encrypted-device
mount /dev/mapper/luk-59f2b688-526d-45c7-8f0a-1ac4555d1d7c /mnt/encrypted-device/

Προσθήκη πληροφοριών χαρτογράφησης στο /etc/crypttab και /etc/fstab

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

Θα πρέπει να προσθέσετε τις πληροφορίες αντιστοίχισης στο αρχείο /etc/crypttab, με την ακόλουθη μορφή.

luk-59f2b688-526d-45c7-8f0a-1ac4555d1d7c  UUID=59f2b688-526d-45c7-8f0a-1ac4555d1d7c   none

στην παραπάνω μορφή:

  • luk-59f2b688-526d-45c7-8f0a-1ac4555d1d7c – είναι το όνομα αντιστοίχισης
  • UUID=59f2b688-526d-45c7-8f0a-1ac4555d1d7c – είναι το όνομα της συσκευής

Αποθηκεύστε το αρχείο και κλείστε το.

Στη συνέχεια, προσθέστε την ακόλουθη καταχώρηση στο /etc/fstab για αυτόματη προσάρτηση της αντιστοιχισμένης συσκευής κατά την εκκίνηση του συστήματος.

/dev/mapper/luk-59f2b688-526d-45c7-8f0a-1ac4555d1d7c  /mnt/encrypted-device  ext4 0 0

Αποθηκεύστε το αρχείο και κλείστε το.

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

systemctl daemon-reload

Δημιουργία αντιγράφων ασφαλείας κεφαλίδων LUKS

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

Για να δημιουργήσετε αντίγραφα ασφαλείας των κεφαλίδων LUKS.

mkdir /root/backups  
cryptsetup luksHeaderBackup --header-backup-file luks-headers /dev/mapper/luk-59f2b688-526d-45c7-8f0a-1ac4555d1d7c 

Και για να επαναφέρετε τις κεφαλίδες LUKS.

cryptsetup luksHeaderRestore --header-backup-file /root/backups/luks-headers /dev/mapper/luk-59f2b688-526d-45c7-8f0a-1ac4555d1d7c 

Αυτό είναι όλο! Σε αυτό το άρθρο, εξηγήσαμε τον τρόπο κρυπτογράφησης μπλοκ συσκευών χρησιμοποιώντας LUKS στη διανομή Fedora Linux. Έχετε απορίες ή σχόλια σχετικά με αυτό το θέμα ή τον οδηγό, χρησιμοποιήστε την παρακάτω φόρμα σχολίων για να επικοινωνήσετε μαζί μας.