Πώς να ρυθμίσετε κρυπτογραφημένα συστήματα αρχείων και να ανταλλάξετε χώρο χρησιμοποιώντας το εργαλείο "Cryptsetup" στο Linux - Μέρος 3


Ένας LFCE (συντομογραφία του Linux Foundation Certified Engineer) είναι εκπαιδευμένος και έχει την τεχνογνωσία να εγκαθιστά, να διαχειρίζεται και να αντιμετωπίζει υπηρεσίες δικτύου σε συστήματα Linux και είναι υπεύθυνος για την σχεδιασμός, υλοποίηση και συνεχής συντήρηση της αρχιτεκτονικής του συστήματος.

Παρουσιάζοντας το Πρόγραμμα Πιστοποίησης του Ιδρύματος Linux (LFCE).

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

Με απλά λόγια, ένα κλειδί χρησιμοποιείται για να "κλείδωμα " την πρόσβαση στις πληροφορίες σας, έτσι ώστε να είναι διαθέσιμο όταν το σύστημα εκτελείται και ξεκλειδώνεται από εξουσιοδοτημένο χρήστη. Αυτό σημαίνει ότι εάν ένα άτομο προσπαθήσει να εξετάσει τα περιεχόμενα του δίσκου (συνδέοντάς τον στο δικό του σύστημα ή εκκινώντας το μηχάνημα με ένα LiveCD/DVD/USB), θα βρει μόνο μη αναγνώσιμα δεδομένα αντί για τα πραγματικά αρχεία.

Σε αυτό το άρθρο θα συζητήσουμε πώς να ρυθμίσετε κρυπτογραφημένα συστήματα αρχείων με το dm-crypt (συντομογραφία για τον χάρτη συσκευών και το κρυπτογραφικό), το τυπικό εργαλείο κρυπτογράφησης σε επίπεδο πυρήνα. Λάβετε υπόψη ότι επειδή το dm-crypt είναι εργαλείο σε επίπεδο μπλοκ, μπορεί να χρησιμοποιηθεί μόνο για την κρυπτογράφηση πλήρους συσκευών, κατατμήσεων ή συσκευών βρόχου (δεν θα λειτουργήσει σε κανονικά αρχεία ή καταλόγους).

Προετοιμασία μονάδας δίσκου/διαμερίσματος/συσκευής βρόχου για κρυπτογράφηση

Εφόσον θα διαγράψουμε όλα τα δεδομένα που υπάρχουν στη μονάδα δίσκου που επιλέξαμε (/dev/sdb), πρώτα από όλα, πρέπει να δημιουργήσουμε αντίγραφο ασφαλείας όλων των σημαντικών αρχείων που περιέχονται σε αυτό το διαμέρισμα ΠΡΙΝ προχωρήστε περαιτέρω.

Διαγράψτε όλα τα δεδομένα από το /dev/sdb. Θα χρησιμοποιήσουμε την εντολή dd εδώ, αλλά θα μπορούσατε να το κάνετε και με άλλα εργαλεία όπως το shred. Στη συνέχεια, θα δημιουργήσουμε ένα διαμέρισμα σε αυτήν τη συσκευή, /dev/sdb1, ακολουθώντας την εξήγηση στο Μέρος 4 – Δημιουργία κατατμήσεων και συστημάτων αρχείων σε Linux της σειράς LFCS.

dd if=/dev/urandom of=/dev/sdb bs=4096 
Δοκιμή για υποστήριξη κρυπτογράφησης

Πριν προχωρήσουμε περαιτέρω, πρέπει να βεβαιωθούμε ότι ο πυρήνας μας έχει μεταγλωττιστεί με υποστήριξη κρυπτογράφησης:

grep -i config_dm_crypt /boot/config-$(uname -r)

Όπως περιγράφεται στην παραπάνω εικόνα, η μονάδα πυρήνα dm-crypt πρέπει να φορτωθεί για να ρυθμιστεί η κρυπτογράφηση.

Εγκατάσταση του Cryptsetup

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

aptitude update && aptitude install cryptsetup 		[On Ubuntu]
yum update && yum install cryptsetup 				[On CentOS] 
zypper refresh && zypper install cryptsetup 			[On openSUSE]

Ρύθμιση κρυπτογραφημένου διαμερίσματος

Ο προεπιλεγμένος τρόπος λειτουργίας για το cryptsetup είναι LUKS (Linux Unified Key Setup), επομένως θα τον διατηρήσουμε. Θα ξεκινήσουμε ορίζοντας το διαμέρισμα LUKS και τη φράση πρόσβασης:

cryptsetup -y luksFormat /dev/sdb1

Η παραπάνω εντολή εκτελεί το cryptsetup με προεπιλεγμένες παραμέτρους, οι οποίες μπορούν να παρατίθενται με:

cryptsetup --version

Εάν θέλετε να αλλάξετε τις παραμέτρους κρυπτογράφηση, hash ή κλειδί, μπορείτε να χρησιμοποιήσετε το –cipher, < Σημαίες b>–hash και –key-size, αντίστοιχα, με τις τιμές που λαμβάνονται από το /proc/crypto.

Στη συνέχεια, πρέπει να ανοίξουμε το διαμέρισμα LUKS (θα μας ζητηθεί η φράση πρόσβασης που πληκτρολογήσαμε νωρίτερα). Εάν ο έλεγχος ταυτότητας επιτύχει, το κρυπτογραφημένο διαμέρισμα μας θα είναι διαθέσιμο στο /dev/mapper με το καθορισμένο όνομα:

cryptsetup luksOpen /dev/sdb1 my_encrypted_partition

Τώρα, θα μορφοποιήσουμε το διαμέρισμα ως ext4.

mkfs.ext4 /dev/mapper/my_encrypted_partition

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

mkdir /mnt/enc
mount /dev/mapper/my_encrypted_partition /mnt/enc
mount | grep partition

Όταν ολοκληρώσετε την εγγραφή ή την ανάγνωση από το κρυπτογραφημένο σύστημα αρχείων σας, απλώς αποσυνδέστε το

umount /mnt/enc

και κλείστε το διαμέρισμα LUKS χρησιμοποιώντας,

cryptesetup luksClose my_encrypted_partition
Δοκιμή κρυπτογράφησης

Τέλος, θα ελέγξουμε αν το κρυπτογραφημένο διαμέρισμα μας είναι ασφαλές:

1. Ανοίξτε το διαμέρισμα LUKS

cryptsetup luksOpen /dev/sdb1 my_encrypted_partition

2. Εισαγάγετε τη φράση πρόσβασής σας

3. Τοποθετήστε το διαμέρισμα

mount /dev/mapper/my_encrypted_partition /mnt/enc

4. Δημιουργήστε ένα εικονικό αρχείο μέσα στο σημείο προσάρτησης.

echo “This is Part 3 of a 12-article series about the LFCE certification” > /mnt/enc/testfile.txt

5. Βεβαιωθείτε ότι έχετε πρόσβαση στο αρχείο που μόλις δημιουργήσατε.

cat /mnt/enc/testfile.txt

6. Αποπροσαρτήστε το σύστημα αρχείων.

umount /mnt/enc

7. Κλείστε το διαμέρισμα LUKS.

cryptsetup luksClose my_encrypted_partition

8. Προσπαθήστε να προσαρτήσετε το διαμέρισμα ως κανονικό σύστημα αρχείων. Θα πρέπει να υποδεικνύει ένα σφάλμα.

mount /dev/sdb1 /mnt/enc

Κρυπτογραφήστε το Swap Space για περαιτέρω ασφάλεια

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

Για να αποφύγετε να αφήσετε ένα αντίγραφο του κλειδιού σας προσβάσιμο σε έναν κλέφτη, κρυπτογραφήστε το διαμέρισμα ανταλλαγής ακολουθώντας αυτά τα βήματα:

1 Δημιουργήστε ένα διαμέρισμα που θα χρησιμοποιηθεί ως swap με το κατάλληλο μέγεθος (/dev/sdd1 στην περίπτωσή μας) και κρυπτογραφήστε το όπως εξηγήθηκε προηγουμένως. Ονομάστε το απλώς "swap " για ευκολία.

2. Ορίστε το ως swap και ενεργοποιήστε το.

mkswap /dev/mapper/swap
swapon /dev/mapper/swap

3. Στη συνέχεια, αλλάξτε την αντίστοιχη καταχώρηση στο /etc/fstab.

/dev/mapper/swap none        	swap	sw          	0   	0

4. Τέλος, επεξεργαστείτε το /etc/crypttab και επανεκκινήστε.

swap               /dev/sdd1         /dev/urandom swap

Μόλις ολοκληρωθεί η εκκίνηση του συστήματος, μπορείτε να επαληθεύσετε την κατάσταση του χώρου ανταλλαγής:

cryptsetup status swap

Περίληψη

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