Κρυπτογράφηση κατατμήσεων Linux. Κρυπτογράφηση κατατμήσεων. Αποκλεισμός στοίβας συσκευών

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

Το κύριο πρόβλημα με την πλήρη κρυπτογράφηση του οικιακού καταλόγου είναι ότι πρέπει να "μετακινήσετε" τον κατάλογο με τα κρυπτογραφημένα δεδομένα πέρα ​​από το σημείο προσάρτησης.

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

Η μη κρυπτογράφηση SWAP όταν ο οικιακός κατάλογος είναι κρυπτογραφημένος είναι δυνητικά επικίνδυνη, καθώς τα δεδομένα από κρυπτογραφημένα αρχεία μπορεί να καταλήξουν εκεί σε καθαρό κείμενο - χάνεται όλο το νόημα της κρυπτογράφησης. Ξεκινώντας με την έκδοση 14 του Linux Mint, κατά την εγκατάσταση μπορείτε να επιλέξετε την κρυπτογράφηση ολόκληρου του δίσκου. Αυτή η επιλογή είναι η πλέον κατάλληλη για την αποθήκευση προσωπικών δεδομένων σε φορητές συσκευές (οι οποίες συνήθως έχουν μόνο έναν χρήστη).

1.3 Κρυπτογράφηση σε gnome – Seahorse

Το Linux Mint διαθέτει ένα ενσωματωμένο βοηθητικό πρόγραμμα Passwords and Keys ή Seahorse. Χρησιμοποιώντας τις δυνατότητές του, ο χρήστης μπορεί να λειτουργεί με όλα τα κλειδιά, τους κωδικούς πρόσβασης, καθώς και τα πιστοποιητικά που είναι διαθέσιμα σε αυτό το ΛΣ.

Ουσιαστικά, το Seahorse είναι μια εφαρμογή για το GNOME (το GNOME είναι ένα δωρεάν περιβάλλον επιφάνειας εργασίας για λειτουργικά συστήματα που μοιάζουν με Unix), το οποίο είναι ένα frontend του GnuPG (ένα δωρεάν πρόγραμμα για την κρυπτογράφηση πληροφοριών και τη δημιουργία ηλεκτρονικών ψηφιακών υπογραφών) και έχει σχεδιαστεί για τη διαχείριση κλειδιών κρυπτογράφησης και κωδικούς πρόσβασης. Αντικατέστησε το GNOME Keyring, το οποίο αντικαταστάθηκε πλήρως στο GNOME 2.22, αν και είχε ανακοινωθεί ξανά στο GNOME 2.18. Σας επιτρέπει να εκτελείτε όλες τις λειτουργίες που έπρεπε προηγουμένως να γίνουν στη γραμμή εντολών και να τις συνδυάσετε σε μια ενιαία διεπαφή:

    Διαχειριστείτε την ασφάλεια του περιβάλλοντος εργασίας σας και τα κλειδιά OpenPGP και SSH.

    κρυπτογράφηση, επέκταση και σάρωση αρχείων και κειμένου.

    προσθήκη και επαλήθευση ψηφιακών υπογραφών σε έγγραφα·

    συγχρονισμός κλειδιών με διακομιστές κλειδιών.

    δημιουργία και δημοσίευση κλειδιών.

    κρατήστε βασικές πληροφορίες·

    προσθήκη σε εικόνες σε οποιοδήποτε υποστηριζόμενο GDK ως αναγνωριστικό φωτογραφίας OpenGPG.

1.4 TrueCrypt

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

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

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

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

Δημιουργία αρχείου κλειδιού:

truecrypt -create-keyfile /home/user/test/file,όπου αρχείο είναι το όνομα του αρχείου κλειδιού.

Δημιουργία κοντέινερ, σε αυτήν την περίπτωση ενότητας:

sudo truecrypt -k /home/user/test/file -c /dev/sda9

Αντί για το διαμέρισμα /dev/sda9, μπορείτε επίσης να καθορίσετε ένα αρχείο, για παράδειγμα /home/user/test/cryptofile, αλλά σε αυτήν την περίπτωση θα πρέπει να καθορίσετε το μέγεθός του, αυτό γίνεται με την παράμετρο -size=5G πριν την παράμετρο -c. Το παραπάνω παράδειγμα θα δημιουργήσει ένα αρχείο κρυπτογράφησης 5 GB. Μερικές φορές το TrueCrypt δέχεται το μέγεθος μόνο σε byte· για 5 GB μπορείτε είτε να υπολογίσετε την τιμή εκ των προτέρων και να καθορίσετε -size=5368709120 ή να το γράψετε ως εξής: -size=`echo 1024^3*5 | π.Χ.`.

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

Κατά τη δημιουργία, θα σας προσφερθεί μια επιλογή τύπου κοντέινερ (κανονικό/κρυφό), σύστημα αρχείων (FAT, ext2/3/4 ή χωρίς FS), σε αυτό το παράδειγμα επιλέχθηκε η λειτουργία χωρίς χρήση FS. Θα σας προσφερθεί επίσης μια επιλογή αλγόριθμου κρυπτογράφησης (για παράδειγμα, AES), καθώς και αλγόριθμος κατακερματισμού (για παράδειγμα, SHA-1) για την κρυπτογράφηση ροών δεδομένων.

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

Το κρυπτογραφημένο διαμέρισμα/αρχείο έχει δημιουργηθεί. Τώρα, εάν πρέπει να μορφοποιήσετε το εσωτερικό του σύστημα αρχείων (εφεξής FS), θα πρέπει να κάνετε τα εξής.

Επιλέξτε την απαιτούμενη ενότητα χρησιμοποιώντας το Truecrypt:

truecrypt -k /home/user/test/file /dev/sda9

Από προεπιλογή, θα χρησιμοποιηθεί η συσκευή που δημιουργήθηκε από το Truecrypt /dev/mapper/truecrypt0. Με την πρόσβαση σε αυτήν τη συσκευή, μπορείτε να αλλάξετε, για παράδειγμα, το FS σε ένα κρυπτογραφημένο κοντέινερ. Σε αυτή την περίπτωση, αυτό πρέπει να γίνει.

sudo mkfs.ext4 -v /dev/mapper/truecrypt0

Έτσι δημιουργήθηκε το ext4 FS μέσα σε αυτό το κρυπτογραφημένο κοντέινερ.

Στη συνέχεια, δεδομένου ότι αυτό το κοντέινερ είναι ήδη "συνδεδεμένο" στη συσκευή /dev/mapper/truecrypt0, το μόνο που μένει είναι απλώς να το προσαρτήσετε σε κάποιον κατάλογο. Αυτός ο κατάλογος προσάρτησης πρέπει να υπάρχει ήδη στο σύστημα.

sudo mount /dev/mapper/truecrypt0 /mnt/crypto, όπου /mnt/crypto είναι ο κατάλογος στον οποίο είναι προσαρτημένο το κρυπτογραφημένο κοντέινερ.

truecrypt -δ

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

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


Σε αντίθεση με ορισμένα άλλα λειτουργικά συστήματα, το Linux διαθέτει μια ποικιλία εργαλείων για την προστασία κρυπτογραφικών πληροφοριών - από την κρυπτογράφηση αλληλογραφίας email έως την κρυπτογράφηση αρχείων και τον αποκλεισμό συσκευών. Μας ενδιαφέρει η κρυπτογράφηση σε επίπεδο συστημάτων αρχείων, αρχείων και μπλοκ συσκευών. Πρώτον, αξίζει να καταλάβουμε ποια είναι η διαφορά. Η κρυπτογράφηση σε επίπεδο συστήματος αρχείων απαιτεί την παρουσία ενός επιπέδου μεταξύ του κύριου συστήματος αρχείων (εκτός, φυσικά, εάν το ίδιο το σύστημα αρχείων δεν υποστηρίζει κρυπτογράφηση) και του χρήστη.

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

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

Αυτό το άρθρο θα περιγράψει τη ρύθμιση των ακόλουθων μεθόδων κρυπτογραφικής προστασίας:
dm-crypt/LUKS- δημιουργία ενός κοντέινερ κρυπτογράφησης με χρήση συσκευής-mapper και πυρήνα CryptoAPI.
eCryptfs- κρυπτογράφηση σε επίπεδο συστήματος αρχείων.
EncFS- παρόμοιο με αυτό που περιγράφεται παραπάνω, αλλά δεν απαιτεί φόρτωση λειτουργικών μονάδων πυρήνα.

DM-CRYPT/LUKS
Υπάρχουν δύο τύποι διαμόρφωσης dm-crypt - η απλή και η LUKS. Η διαφορά είναι ότι όταν χρησιμοποιείτε το LUKS, τα μεταδεδομένα υπάρχουν στην αρχή του κρυπτοτόμου, επιτρέποντάς σας να χρησιμοποιήσετε πολλά κλειδιά και να τα αλλάξετε. Ταυτόχρονα, η παρουσία μιας τέτοιας κεφαλίδας σε ορισμένες περιπτώσεις είναι από μόνη της διακυβευτική - ωστόσο, στις περισσότερες παρόμοιες περιπτώσειςμια περιοχή με υψηλό βαθμό εντροπίας θα είναι επίσης συμβιβαστική. Ρύθμιση απλής κρυπτογράφησης dm με αρχείο κλειδιού και φράση πρόσβασης Ας δούμε πώς να ρυθμίσετε έναν συνδυασμό ενός απλού τόμου κρυπτογράφησης dm κρυπτογραφημένου με ένα αρχείο κλειδιού, που με τη σειρά του περιέχεται σε ένα κοντέινερ LUKS. Αρχικά, πρέπει να αποφασίσετε πώς ακριβώς θα τοποθετηθούν τα τμήματα. Υπάρχουν τρεις βασικές επιλογές:
απλά ένας τόμος κρυπτογράφησης.
Πρώτα ένας τόμος κρυπτογράφησης και μετά LVM πάνω του.
πρώτα όγκος κρυπτογράφησης, μετά RAID και μετά LVM.

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

# dd if=/dev/zero of=/root/key.luks bs=512 count=2057

# cryptsetup --align-payload=1 luksFormat /root/key.luks

# cryptsetup luksOpen /root/key.luks cryptokey

# dd if=/dev/urandom of=/dev/mapper/cryptokey

Η πρώτη εντολή προετοιμάζει το αρχείο κοντέινερ, η δεύτερη δημιουργεί αυτό το κοντέινερ, η τρίτη το συνδέει και η τέταρτη δημιουργεί βασικές πληροφορίες. Αξίζει να σημειωθεί ότι η επιλογή –align-payload=1 απαιτείται για να διασφαλιστεί ότι το μέγεθος των μεταδεδομένων LUKS δεν είναι 4096 μπλοκ 512 byte, αλλά μόνο 2056. Έτσι, απομένουν 512 byte για τις πραγματικές πληροφορίες κλειδιού.
Στη συνέχεια προχωράμε στη δημιουργία ενός κρυπτοτόμου. Σε αυτό το σημείο, μπορείτε επίσης προαιρετικά να γεμίσετε το δίσκο με ψευδοτυχαία δεδομένα για να κάνετε την κρυπτανάλυση, εάν υπάρχει, δύσκολη. Στη συνέχεια, μπορείτε να δημιουργήσετε έναν κρυπτοτόμο. Η εντολή για αυτό μοιάζει με αυτό (φυσικά, σε άλλες περιπτώσεις τα αναγνωριστικά μπορεί να διαφέρουν, επομένως πρέπει να είστε προσεκτικοί):

# cryptsetup --cipher=serpent-xts-plain64 --offset=0--key-file=/dev/mapper/cryptokey --key-size=512 open --type=plain/dev/disk/by-id/ ata-VBOX_HARDDISK_VB05eadebe-f25e8d59 crypto0


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

Ας δημιουργήσουμε ένα αρχείο /etc/initramfs-tools/hooks/cryptokeys με περίπου το ακόλουθο περιεχόμενο (το τμήμα υπηρεσίας του σεναρίου παραλείπεται):

Και το αρχείο /etc/initramfs-tools/scripts/local-top/cryptokeys (υπηρεσία πάλι μέρος
παραλείπεται):

# <...>

modprobe -b dm_crypt

ενώ! (/sbin/cryptsetup luksOpen /etc/crypto/key. luks cryptokey

/dev/disk/by - id /ata - VBOX_HARDDISK_VB05eadebe - f25e8d59 crypto0

&& /sbin/cryptsetup απλόΆνοιγμα -- κλειδί - αρχείο = /dev/mapper/cryptokey

/dev/disk/by - id /ata - VBOX_HARDDISK_VBc2414841 - cfeccde5 crypto1

&& /sbin/cryptsetup luksΚλείσιμο κρυπτοκλειδιού

) ; κάνω

echo «Δοκιμάστε ξανά . . . ”

Έγινε

Αυτά τα δύο αρχεία πρέπει να είναι εκτελέσιμα. Στη συνέχεια δημιουργούμε το initrd:

# update-initramfs -u -k all -v

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

# cryptsetup --cipher=serpent-xts-plain64 --offset=0--size=2097152 --shared open --type=plain/dev/disk/by-id/ata-VBOX_HARDDISK_VBcda8398f-f1f1deec crypto

# cryptsetup --cipher=serpent-xts-plain64 --offset=2097152--size=2097152 --shared open --type=plain/dev/disk/by-id/ata-VBOX_HARDDISK_VBcda8398f-f1f1deec crypto_shared

Το μέγεθος και η μετατόπιση καθορίζονται σε μπλοκ 512 byte.


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

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

Ας εξετάσουμε επίσης τη διαδικασία επαναφοράς τόμων LUKS. Η πιο εύκολη επιλογή, φυσικά, είναι όταν υπάρχει αντίγραφο της κεφαλίδας. Σε αυτήν την περίπτωση, απαιτείται μόνο μία εντολή για επαναφορά:

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

ENCFS
Ας δούμε πώς να ρυθμίσετε το EncFS ώστε να προσαρτάται αυτόματα κατά τη σύνδεση. Αρχικά, ας εγκαταστήσουμε τα απαραίτητα πακέτα:

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

Στη συνέχεια, πρέπει να επεξεργαστείτε το αρχείο /etc/security/pam_encfs.conf:

Και το αρχείο /etc/fuse.conf:

Και προσθέστε τον χρήστη στην ομάδα ασφαλειών:

$ sudo usermod - a - G ασφάλεια $ USER

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

ECRYPTFS
Είναι γνωστό ότι το eCryptFS χρησιμοποιείται στο Ubuntu ως το προεπιλεγμένο εργαλείο για την προστασία των οικιακών καταλόγων. Ας δούμε πώς λειτουργεί - ας δημιουργήσουμε έναν κρυπτογραφημένο κατάλογο με μη αυτόματο τρόπο. Ας εγκαταστήσουμε τα πακέτα:

Δημιουργία eCryptFS

Και προσαρτήστε το σύστημα αρχείων (κατά την πρώτη προσάρτηση, δημιουργούνται όλα τα απαραίτητα μεταδεδομένα):

$ sudo mount - t ecryptfs / home / rom / . μυστικό/σπίτι/rom/μυστικό

Θα σας ζητηθεί μια φράση πρόσβασης (μόνο μία φορά, η επαναλαμβανόμενη καταχώριση δεν εφαρμόζεται, η οποία δεν φαίνεται πολύ καλή καλή απόφαση, δεδομένου ότι πρέπει να είναι μεγάλο), τότε θα ζητήσει τον τύπο κρυπτογράφησης (AES, Blowfish, 3DES, Twofish, CAST6 και CAST5), το μέγεθος του κλειδιού, τίθεται το ερώτημα εάν θα επιτραπούν ή θα απορριφθούν μη κρυπτογραφημένα αρχεία στον κατάλογο με κρυπτογραφημένα, αν θα κρυπτογραφήσουμε ονόματα αρχείων... και στο τέλος θα ρωτήσει αν θέλουμε πραγματικά να προσαρτήσουμε και να αποθηκεύσουμε την υπογραφή σε ένα συγκεκριμένο αρχείο. Η ερώτηση δεν είναι τόσο ανόητη όσο μπορεί να φαίνεται στην αρχή: σε αυτό το λογισμικό, ελλείψει υπογραφής, δεν υπάρχει τρόπος να διακρίνετε τον σωστό κωδικό πρόσβασης από τον εσφαλμένο.

Κρυπτογράφηση του οικιακού καταλόγου του χρήστη

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


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

Ας δούμε πώς να το επαναφέρετε. Ας υποθέσουμε ότι η φράση πρόσβασης δεν έχει εγγραφεί και η ανάκτηση είναι από ένα Live CD. Υποτίθεται ότι το σύστημα αρχείων είναι προσαρτημένο. Μεταβείτε στον κατάλογο home/.ecryptfs/rom/.ecryptfs και πληκτρολογήστε την εντολή:

dm-verify
Η μονάδα dm-verify έχει σχεδιαστεί για να επαληθεύει την ακεραιότητα των συσκευών μπλοκ. Η επαλήθευση πραγματοποιείται χρησιμοποιώντας ένα δέντρο κατακερματισμού, όπου τα "φύλλα" είναι αθροίσματα κατακερματισμού μπλοκ και τα "κλαδιά" είναι αθροίσματα κατακερματισμού συνόλων "φύλλων". Έτσι, για να επαληθεύσετε μια συσκευή μπλοκ (είτε πρόκειται για διαμέρισμα είτε για δίσκο), αρκεί να ελέγξετε μόνο ένα άθροισμα ελέγχου.
Αυτός ο μηχανισμός (μαζί με ψηφιακή υπογραφή) χρησιμοποιείται σε ορισμένες συσκευές Android για προστασία από την τροποποίηση των διαμερισμάτων συστήματος, καθώς και στο Google Chromium OS.

ΣΥΜΠΕΡΑΣΜΑ
Το Linux περιέχει πραγματικά πολλά εργαλεία για την προστασία κρυπτογραφικών πληροφοριών. Από τα τρία εργαλεία που περιγράφονται, τουλάχιστον ένα υπάρχει σε όλες τις σύγχρονες διανομές Linux. Τι να διαλέξεις όμως;
dm-crypt/LUKSΘα πρέπει να χρησιμοποιείται σε περιπτώσεις όπου είναι δυνατή η γρήγορη απενεργοποίηση ενός κρυπτογραφημένου τόμου και όταν τα αντίγραφα ασφαλείας είτε δεν χρειάζονται είτε ταξινομούνται με άλλο τρόπο. Σε αυτήν την περίπτωση αυτή την απόφασηπερισσότερο από αποτελεσματικό, ειδικά αν σκεφτεί κανείς ότι η κρυπτογράφηση μπορεί να γίνει σε έναν καταρράκτη αυθαίρετων φωλιών και τύπων (για παράδειγμα, AES-Twofish-AES), - ένας πραγματικός παράδεισος
για τον παρανοϊκό.
eCryptFSκατάλληλο σε περιπτώσεις όπου πρέπει να αποθηκεύσετε κρυπτογραφημένα δεδομένα κάπου - για παράδειγμα, στο cloud. Παρέχει αρκετά ισχυρή κρυπτογράφηση (αν και η προεπιλεγμένη επιλογή 128-bit έχει τη δυνατότητα μείωσης της κρυπτογραφικής ισχύος κατά δύο bit) και είναι διαφανής στον τελικό χρήστη.
EncFSαλλά είναι ένας γέρος πριν από περίπου δέκα χρόνια, βασισμένος σε ακόμα πιο αρχαία έργα. Προς το παρόν δεν συνιστάται για χρήση λόγω πιθανών οπών ασφαλείας, αλλά μπορεί να χρησιμοποιηθεί ως εργαλείο πολλαπλών πλατφορμών για την προστασία μη ευαίσθητων δεδομένων στα σύννεφα.

Εάν χρειάζεται να χρησιμοποιήσετε τέτοια μέσα, θα πρέπει πάντα να θυμάστε ότι η προστασία πρέπει να είναι ολοκληρωμένη.

Δίσκος (a la TrueCrypt). Γνωρίζω ότι έχει γίνει δουλειά για την προσθήκη υποστήριξης κρυπτογράφησης στο GRUB2, αλλά δεν είναι ακόμα έτοιμο. Κάποιες άλλες επιλογές;

(Σημειώστε ότι στην πραγματικότητα εννοώ την πλήρη κρυπτογράφηση δίσκου εδώ, συμπεριλαμβανομένου του /boot)

Οι περισσότερες από τις απαντήσεις περιγράφουν μια ρύθμιση όπου το /boot δεν είναι κρυπτογραφημένο και μερικές από αυτές προσπαθούν να εξηγήσουν γιατί ένα μη κρυπτογραφημένο /boot θα πρέπει να είναι εντάξει.

Χωρίς να μπω σε μια συζήτηση σχετικά με το γιατί χρειάζομαι πραγματικά το /boot να είναι κρυπτογραφημένο, ακολουθεί ένα άρθρο που περιγράφει ακριβώς τι χρειάζομαι, με βάση μια τροποποιημένη έκδοση του GRUB2:

  • http://xercestech.com/full-system-encryption-for-linux.geek

Το πρόβλημα είναι ότι αυτές οι τροποποιήσεις δεν φαίνεται να υποστηρίζονται στην τρέχουσα βάση κωδικών GRUB2 (ή ίσως μου λείπει κάτι).

8 Λύσεις συλλέγουν φόρμα web για "Φορτωτές εκκίνησης Linux που υποστηρίζουν πλήρη κρυπτογράφηση δίσκου;"

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

Ενημέρωση (2015) : τελευταία έκδοσηΤο GRUB2 (2.00) περιέχει ήδη κωδικό πρόσβασης στα κρυπτογραφημένα διαμερίσματα LUKS και GELI. (Ο σύνδεσμος xercestch.com που παρείχε το ΕΠ αναφέρει τις πρώτες διορθώσεις για αυτό, αλλά τώρα περιλαμβάνονται στην τελευταία έκδοση).

Ωστόσο, εάν προσπαθείτε να κρυπτογραφήσετε ολόκληρη τη μονάδα δίσκου για λόγους ασφαλείας, σημειώστε ότι ένας μη κρυπτογραφημένος bootloader (όπως TrueCrypt, BitLocker ή ένα τροποποιημένο GRUB) δεν παρέχει περισσότερη προστασία από ένα μη κρυπτογραφημένο διαμέρισμα /boot (όπως επισημαίνεται από το SP στο παραπάνω σχόλιο). Οποιοσδήποτε έχει φυσική πρόσβαση στον υπολογιστή μπορεί εξίσου εύκολα να τον αντικαταστήσει με την προσαρμοσμένη έκδοση. Αναφέρεται ακόμη και στο άρθρο του xercestech.com που συνδέσατε:

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

Λάβετε υπόψη ότι όλα τα προϊόντα λογισμικού για πλήρη κρυπτογράφησηΟι μονάδες δίσκου έχουν αυτήν την αδυναμία, ανεξάρτητα από το αν χρησιμοποιούν μη κρυπτογραφημένο πρόγραμμα εκκίνησης ή μη κρυπτογραφημένο διαμέρισμα εκκίνησης/προεκκίνησης. Ακόμη και προϊόντα που υποστηρίζουν τσιπ TPM (Trusted Platform Module), όπως το BitLocker, μπορούν να υλοποιηθούν χωρίς αλλαγή του υλικού.

Μια καλύτερη προσέγγιση θα ήταν:

  1. αποκρυπτογράφηση σε επίπεδο BIOS (σε μητρική πλακέταείτε σε προσαρμογέα δίσκου είτε σε εξωτερικό υλικό [έξυπνη κάρτα], με ή χωρίς τσιπ TPM), ή
  2. μεταφέρετε τον κωδικό εξουσιοδότησης PBA (εξουσιοδότηση προεκκίνησης) (/διαμέρισμα εκκίνησης σε αυτήν την περίπτωση) σε μια αφαιρούμενη συσκευή (όπως μια έξυπνη κάρτα ή μονάδα USB).

Για να το κάνετε αυτό με τον δεύτερο τρόπο, μπορείτε να ελέγξετε το έργο Linux Full Disk Encryption (LFDE) στη διεύθυνση: http://lfde.org/, το οποίο παρέχει ένα σενάριο μετά την εγκατάσταση για να μετακινήσετε το διαμέρισμα /boot σε μια εξωτερική μονάδα USB, κρυπτογράφηση του κλειδιού με GPG και αποθήκευση σε USB επίσης. Με αυτόν τον τρόπο, το αδύναμο τμήμα της διαδρομής εκκίνησης (το μη κρυπτογραφημένο διαμέρισμα /boot) είναι πάντα μαζί σας (θα είστε ο μόνος με φυσική πρόσβαση στον κωδικό και το κλειδί αποκρυπτογράφησης). ( Σημείωση: Αυτός ο ιστότοπος έχει χαθεί και το blog του συγγραφέα έχει επίσης εξαφανιστεί, ωστόσο μπορείτε να βρείτε τα παλιά αρχεία στη διεύθυνση https://github.com/mv-code/lfde, σημειώνοντας απλώς ότι η τελευταία ανάπτυξη έγινε πριν από 6 χρόνια). Ως ευκολότερη εναλλακτική, μπορείτε να εγκαταστήσετε ένα μη κρυπτογραφημένο διαμέρισμα εκκίνησης σε μια μονάδα USB κατά την εγκατάσταση του λειτουργικού συστήματος.

Με εκτίμηση, M.V.

Κάντε τον πρώτο σας δίσκο RAM και το φάκελο /boot χωρίς κρυπτογράφηση.

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

Πριν δηλώσετε "είναι χακάρισμα", θυμηθείτε - τα περισσότερα (αν όχι όλα) Διανομές Linuxφορτώθηκε από προεπιλογή σήμερα. Αυτό επιτρέπει ρητά στο σύστημά σας να εκκινήσει και να φορτώσει το root FS χρησιμοποιώντας λειτουργικές μονάδες που πρέπει να φορτωθούν από το σύστημα αρχείων. (Κάτι πρόβλημα με το κοτόπουλο και το αυγό). Για παράδειγμα, εάν το ριζικό σας σύστημα αρχείων ήταν σε τόμο RAID υλικού και έπρεπε να φορτώσετε το πρόγραμμα οδήγησης για να μπορέσετε να προσαρτήσετε το root FS.

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

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

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

Όχι, νομίζω ότι όχι.

Χρειάζεται πραγματικά να κρυπτογραφήσετε/κατεβάσετε; Υποψιάζομαι ότι όχι. Το υπόλοιπο σύστημα αρχείων μπορεί να κρυπτογραφηθεί από κανονικό λογισμικό Linux, το οποίο βρίσκεται στο initramfs στο /boot και ζητά από τον χρήστη ανάλογα.

Φαίνεται να ζητάς κάτι που δεν μπορεί να γίνει και να το συγκρίνεις με αυτό Λύση Windows, οι οποίες κρύβει την υλοποίηση από εσάς,αλλά στην πραγματικότητα κάνει το ίδιο πράγμα που κάνει το Linux.

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

Η απάντηση περιγράφεται στο άρθρο. "Αυτό είναι πλέον εφικτό με επεκτάσεις στον φορτωτή εκκίνησης GRUB2 επόμενης γενιάς, ο οποίος έχει διορθωθεί για να υποστηρίζει όχι μόνο" και "θέλουμε να εγκαταστήσουμε μια νέα εικόνα με υποστήριξη luks grub2 αργότερα" και "Θα μεταγλωττίσουμε τώρα την πηγή GRUB2 με υποστήριξη LUKS . "Φαίνεται ότι υπάρχει μια επιδιόρθωση ή επέκταση που πρέπει να αποκτήσετε και να ενεργοποιήσετε με το GRUB2 ή μια διχαλωμένη πηγή GRUB2.

Η έκδοση 2.02~beta3 του Grub2 μπορεί να κάνει πολλά που δεν μπορεί να κάνει η Grub2 έκδοση 2.02~beta2, δοκιμασμένα από εμένα:

  1. Εκκίνηση με χρήση δίσκου Super Grub 2
  2. Πληκτρολογήστε "c" για να μεταβείτε στη γραμμή εντολών
  3. Εισαγάγετε τις εντολές για να προσαρτήσετε το κρυπτογραφημένο διαμέρισμα που θέλω
    • insmod lux
    • cryptomount(hd0, #) // όπου το # αντιπροσωπεύει το κρυπτογραφημένο διαμέρισμα
  4. Εισαγάγετε μια φράση πρόσβασης και εισάγετε μερικές εντολές
    • multiboot (crypto0) /grub/i386-pc/core.img
    • μπότα

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

Προειδοποίηση: Grub2 έκδοση 2.02~beta2 δεν μπορεί να κάνει το ίδιο επειδή έχει ορισμένα σφάλματα (τα οποία φαίνεται να επιδιορθώνονται στην έκδοση Grub2 2.02~beta3) που σχετίζονται με την εντολή cryptomount...

Τα σφάλματα beta2 για τα οποία μιλάω είναι:

  1. Στην πραγματικότητα δεν προσαρτά το κρυπτογραφημένο διαμέρισμα, επομένως δεν σας επιτρέπει την πρόσβαση (crypto0)/*
  2. Εάν υπάρχουν περισσότερα από ένα κρυπτογραφημένα διαμερίσματα, η χρήση του cryptomount -a απαιτεί μόνο μία φράση πρόσβασης
  3. Αφού τρέξει το cryptomount μόλις τρέξει ξανά, δεν κάνει τίποτα

στην beta 3:

  1. Προσαρτά το κρυπτογραφημένο διαμέρισμα και σας επιτρέπει να έχετε πρόσβαση σε αρχεία μέσω (crypto0)/* ή (crypto1)/* κ.λπ. εάν έχουν τοποθετηθεί περισσότερα από ένα ταυτόχρονα
  2. Ζητάει κάθε φράση πρόσβασης (μία ανά κρυπτογραφημένη ενότητα)
  3. Αυτό σας επιτρέπει να το εκτελέσετε όσες φορές χρειάζεστε, μπορείτε να εγκαταστήσετε ένα, μετά ένα άλλο, κ.λπ.

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

Ελπίζουμε ότι αυτό θα βοηθήσει να ξεκαθαρίσουν τα πράγματα και ελπίζουμε ότι η έκδοση Grub2 2.02~beta3 θα ενσωματωθεί στο LiveCD, ώστε να μπορούμε να το εγκαταστήσουμε χωρίς να χρειάζεται να το μεταγλωττίσουμε μόνοι μας.

PD: Με τον δίσκο Super Grub 2 δεν βλέπω τρόπο να εγκαταστήσω το Grub2 έκδοση 2.02~beta3 Διαμέρισμα MBR/boot κλπ.

Θέλετε να κρύψετε τα δεδομένα σας από τα αδιάκριτα βλέμματα; Θα σας διδάξουμε τεχνικές κρυπτογράφησης σκληρού δίσκου.

Πίσω ΠέρυσιΤο θέμα της ασφάλειας δεδομένων του Διαδικτύου εμφανιζόταν συχνά: πρώτα σε σχέση με τις αποκαλύψεις του Snowden και μετά με την ευπάθεια στο OpenSSL (Heartbleed bug). Λίγο πριν από το τελευταίο, ανακαλύφθηκε ένα λιγότερο εμφανές σφάλμα στο GnuTLS. Ως αποτέλεσμα, αρχίσαμε να δίνουμε μεγαλύτερη προσοχή στην ασφάλεια των διαγραμμένων δεδομένων. αλλά τι γίνεται με αυτά που είναι αποθηκευμένα στον δίσκο μας;

Αποκλεισμός στοίβας συσκευών

Πριν εξετάσετε την κρυπτογράφηση, είναι σημαντικό να κατανοήσετε πώς λειτουργούν οι συσκευές μπλοκ. Είναι διεπαφές συστήματος με συσκευές αποθήκευσης όπως το /dev/sda! Μέσα σε μια συσκευή μπλοκ υπάρχει ένα πρόγραμμα οδήγησης υλικού, όπως το SATA, και το ίδιο το υλικό. Στη συνέχεια, το λειτουργικό σύστημα αλληλεπιδρά με τη συσκευή μπλοκ για να δημιουργήσει ένα σύστημα αρχείων σε αυτήν.

Οι συσκευές μπλοκ θεωρούνται συνήθως σε αυτήν την ιδιότητα, αν και έχουν άλλες λειτουργίες. Συγκεκριμένα, μια τέτοια συσκευή μπορεί να είναι μια διεπαφή για μια σειρά από άλλες συσκευές μπλοκ - μπορούν να σχηματίσουν μια στοίβα. Και το έχετε ήδη κάνει αυτό: έχετε ένα σύστημα αρχείων στο /dev/sda1 (διαμέρισμα δίσκου) και αυτή η συσκευή μπλοκ οδηγεί στο /dev/sda (όλος ο δίσκος).

Τεχνολογίες όπως το RAID και το LVM (Logical Volume Management) είναι επίσης μπλοκ στοίβες συσκευών. Μπορεί να έχετε LVM από πάνω Συστοιχία RAID, το οποίο, με τη σειρά του, βρίσκεται επίσης στις μπλοκ συσκευές μεμονωμένων δίσκων ή των κατατμήσεών τους.

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

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

Όλα γίνονται από τον πυρήνα, αλλά σε επίπεδο χρήστη χρειαζόμαστε λογισμικό για τη δημιουργία και τη διαχείριση συσκευών dm-crypt. σαν αυτό τυπικό εργαλείοσημαίνει cryptsetup. Πιθανότατα είναι ήδη εγκατεστημένο στη διανομή σας. και αν όχι, τότε σίγουρα θα είναι στα κύρια αποθετήρια.

Κρυπτογράφηση

Οι προεπιλεγμένες τιμές είναι συνήθως υπεραρκετές και όλες Διαθέσιμες Επιλογέςμπορεί να προβληθεί με cryptsetup -help Αυτές οι επιλογές χρειάζονται μόνο με το LuksFormat. Κατά τη δημιουργία μιας ασφαλούς συσκευής, το cryptsetup χρησιμοποιεί αυτόματα σωστές ρυθμίσειςνα το ανοίξω.

Είναι καλύτερο να επιμείνετε σε δημοφιλείς κρυπτογραφήσεις και κατακερματισμούς εκτός εάν έχετε καλύτερο λόγο να επιλέξετε κάτι άλλο. Οι μέθοδοι που χρησιμοποιούνται λιγότερο συχνά μπορεί να έχουν κρυφά ελαττώματα απλώς και μόνο επειδή είναι λιγότερο δοκιμασμένες, κάτι που συνέβη πρόσφατα με την υλοποίηση κατακερματισμού του Whirlpool στη βιβλιοθήκη libcgrypt που χρησιμοποιείται από το cryptsetup. Κατά την πραγματοποίηση διορθώσεων, επηρεάστηκαν τα συστήματα που χρησιμοποιούσαν ήδη ελαττωματικούς κατακερματισμούς.

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

ΛΟΥΚΣ

ΛΟΥΚΣ— Το Linux Unified Key Setup δημιουργήθηκε για να παρέχει μια τυπική μορφή πολλαπλών πλατφορμών (παρά το όνομα) για την αποθήκευση κρυπτογραφημένων δεδομένων σε δίσκους. Δεν αφορά μεθόδους κρυπτογράφησης, αλλά τον τρόπο αποθήκευσης των πληροφοριών σχετικά με αυτές.

Είναι επίσης περισσότερο με αξιόπιστο τρόποαποθήκευση κλειδιών ή κωδικών πρόσβασης, καθώς η μέθοδος dm-crypt είναι επιρρεπής σε hacking. Δεδομένου ότι το LUKS είναι cross-platform, οι κρυπτογραφημένες συσκευές μπορούν επίσης να έχουν πρόσβαση από τα Windows χρησιμοποιώντας .

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

Πολλές επιχειρήσεις και μάλιστα απλούς χρήστεςχρήση κρυπτογράφησης δίσκου στο Linux για την προστασία εμπιστευτικών πληροφοριών όπως: πληροφορίες πελάτη, αρχεία, στοιχεία επικοινωνίαςκαι πολλα ΑΚΟΜΑ. Το λειτουργικό σύστημα Linux υποστηρίζει διάφορες κρυπτογραφικές μεθόδους για την προστασία κατατμήσεων, μεμονωμένων καταλόγων ή ολόκληρου του σκληρού δίσκου. Όλα τα δεδομένα σε οποιαδήποτε από αυτές τις μεθόδους κρυπτογραφούνται αυτόματα και αποκρυπτογραφούνται εν κινήσει.

Κρυπτογράφηση σε επίπεδο συστήματος αρχείων:

  • 1. eCryptfs- αυτό είναι ένα κρυπτογραφικό αρχείο Σύστημα Linux. Αποθηκεύει κρυπτογραφικά μεταδεδομένα για κάθε αρχείο ξεχωριστό αρχείο, ώστε τα αρχεία να μπορούν να αντιγραφούν μεταξύ των υπολογιστών. Το αρχείο θα αποκρυπτογραφηθεί με επιτυχία εάν έχετε το κλειδί. Αυτή η λύση χρησιμοποιείται ευρέως για την υλοποίηση ενός κρυπτογραφημένου οικιακού καταλόγου, για παράδειγμα στο Ubuntu. Επίσης, το ChromeOS ενσωματώνει με διαφάνεια αυτούς τους αλγόριθμους όταν χρησιμοποιείται συσκευές δικτύουγια αποθήκευση δεδομένων (NAS).
  • 2.EncFS- παρέχει ένα κρυπτογραφημένο σύστημα αρχείων στο χώρο του χρήστη. Εκτελείται χωρίς πρόσθετα δικαιώματα και χρησιμοποιεί τη βιβλιοθήκη ασφαλειών και τη μονάδα πυρήνα για να παρέχει μια διεπαφή συστήματος αρχείων. Το EncFS είναι ελεύθερο λογισμικό και διαθέτει άδεια χρήσης σύμφωνα με την GPL.

Κρυπτογράφηση μπλοκ σε επίπεδο συσκευής:

  • Loop-AES- ένα γρήγορο και διαφανές σύστημα αρχείων, καθώς και ένα πακέτο για την κρυπτογράφηση του διαμερίσματος swap στο Linux. Ο πηγαίος κώδικας του προγράμματος δεν έχει αλλάξει εδώ και πολύ καιρό. Λειτουργεί με πυρήνες 4.x, 3.x, 2.2, 2.0.
  • TrueCrypt- Αυτό δωρεάν λύσημε ανοιχτό πηγαίος κώδικαςγια κρυπτογράφηση δίσκου σε χειρουργεία συστήματα Windows 7 / Vista / XP / Mac OS X, καθώς και Linux.
  • dm-crypt+LUKS- Το dm-crypt είναι ένα διαφανές υποσύστημα για κρυπτογράφηση δίσκου στον πυρήνα 2.6 και μεταγενέστερη έκδοση. Υποστηρίζει κρυπτογράφηση ολόκληρων δίσκων, αφαιρούμενων μέσων, κατατμήσεων, τόμων RAID, λογισμικό, λογικούς τόμους και αρχεία.

Σε αυτό το σεμινάριο, θα εξετάσουμε την κρυπτογράφηση ενός σκληρού δίσκου σε Linux χρησιμοποιώντας τον αλγόριθμο Linux Unified Key Setup-on-disk-format (LUKS).

Πώς λειτουργεί το LUKS;

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

Για να εκτελέσετε κρυπτογράφηση δίσκος linuxΧρησιμοποιείται η μονάδα πυρήνα dm-crypt. Αυτή η ενότητα σάς επιτρέπει να δημιουργήσετε μια εικονική συσκευή μπλοκ στον κατάλογο /dev/mapper με κρυπτογράφηση διαφανή για το σύστημα αρχείων και τον χρήστη. Στην πραγματικότητα, όλα τα δεδομένα βρίσκονται σε ένα κρυπτογραφημένο φυσικό διαμέρισμα. Εάν ένας χρήστης προσπαθήσει να γράψει δεδομένα σε μια εικονική συσκευή, κρυπτογραφούνται εν κινήσει και γράφονται στο δίσκο· κατά την ανάγνωση από μια εικονική συσκευή, εκτελείται η αντίστροφη λειτουργία - τα δεδομένα αποκρυπτογραφούνται από τον φυσικό δίσκο και μεταδίδονται σε καθαρό κείμενο μέσω εικονικό δίσκοστον χρήστη. Συνήθως η μέθοδος AES χρησιμοποιείται για κρυπτογράφηση, επειδή τα περισσότερα από αυτά είναι βελτιστοποιημένα για αυτήν. σύγχρονους επεξεργαστές. Είναι σημαντικό να σημειωθεί ότι μπορείτε να κρυπτογραφήσετε όχι μόνο κατατμήσεις και δίσκους, αλλά και κανονικά αρχεία δημιουργώντας ένα σύστημα αρχείων σε αυτά και συνδέοντάς τα ως συσκευή βρόχου.

Ο αλγόριθμος LUKS καθορίζει ποιες ενέργειες και με ποια σειρά θα εκτελεστούν κατά την εργασία με κρυπτογραφημένα μέσα. Για να εργαστείτε με το LUKS και τη μονάδα dm-crypt, χρησιμοποιήστε το βοηθητικό πρόγραμμα Cryptsetup. Θα το εξετάσουμε περαιτέρω.

Βοηθητικό πρόγραμμα Cryptsetup

Το βοηθητικό πρόγραμμα Cryptsetup θα διευκολύνει την κρυπτογράφηση ενός διαμερίσματος Linux χρησιμοποιώντας τη μονάδα dm-crypt. Ας το εγκαταστήσουμε πρώτα.

Στο Debian ή στο Ubuntu, χρησιμοποιήστε αυτήν την εντολή:

apt-get εγκατάσταση cryptsetup

Στις διανομές που βασίζονται στο Red Hat θα μοιάζει με αυτό:

yum εγκατάσταση cryptsetup-luks

Η σύνταξη για την εκτέλεση της εντολής είναι:

$ cryptsetup επιλογές λειτουργίας options_operations

Ας δούμε τις βασικές λειτουργίες που μπορούν να γίνουν χρησιμοποιώντας αυτό το βοηθητικό πρόγραμμα:

  • luksFormat- Δημιουργήστε ένα κρυπτογραφημένο διαμέρισμα luks linux
  • luksOpen- συνδέστε μια εικονική συσκευή (απαιτείται dongle)
  • luksΚλείσιμο- κλείστε την εικονική συσκευή luks linux
  • luksAddKey- προσθήκη κλειδιού κρυπτογράφησης
  • luksRemoveKey- διαγράψτε το κλειδί κρυπτογράφησης
  • luksUUID- εμφάνιση UUID διαμερίσματος
  • luksDump- δημιουργία Αντίγραφο ασφαλείαςΚεφαλίδες LUKS

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

Κρυπτογράφηση δίσκου Linux

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

Δημιουργία ενότητας

Σε αυτό το παράδειγμα θα κρυπτογραφήσουμε το διαμέρισμα /dev/sda6, αλλά μπορείτε να χρησιμοποιήσετε έναν ολόκληρο σκληρό δίσκο αντ 'αυτού ή μόνο ένα αρχείο γεμάτο με μηδενικά. Δημιουργήστε ένα κρυπτογραφημένο διαμέρισμα:

cryptsetup -y -v luksFormat /dev/sda6

ΠΡΟΕΙΔΟΠΟΙΗΣΗ!
========
Αυτό θα αντικαταστήσει τα δεδομένα στο /dev/sda6 αμετάκλητα.

Είσαι σίγουρος? (Πληκτρολογήστε κεφαλαία ναι): ΝΑΙ
Εισαγάγετε τη φράση πρόσβασης LUKS:
Επαληθεύστε τη φράση πρόσβασης:
Επιτυχής εντολή.

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

Εκτελέστε την ακόλουθη εντολή για να ανοίξετε το διαμέρισμα που δημιουργήθηκε πρόσφατα χρησιμοποιώντας τη μονάδα dm-crypt στο /dev/mapper, για να το κάνετε αυτό θα χρειαστεί να εισαγάγετε τον κωδικό πρόσβασης με τον οποίο εκτελέστηκε η κρυπτογράφηση luks linux:

Εισαγάγετε τη φράση πρόσβασης για /dev/sda6

Τώρα μπορείτε να δείτε τη νέα εικονική συσκευή /dev/mapper/backup2 που δημιουργήθηκε χρησιμοποιώντας την εντολή luksFormat:

ls -l /dev/mapper/backup2

Για να δείτε την κατάσταση της συσκευής, εκτελέστε:

cryptsetup -v status backup2

Το /dev/mapper/backup2 είναι ενεργό.
τύπος: LUKS1
κρυπτογράφηση: aes-cbc-essiv:sha256
Μέγεθος κλειδιού: 256 bit
συσκευή: /dev/sda6
αντιστάθμιση: 4096 τομείς
μέγεθος: 419426304 τομείς
λειτουργία: ανάγνωση/εγγραφή
Επιτυχής εντολή.

Και με την ακόλουθη εντολή μπορείτε να δημιουργήσετε ένα αντίγραφο ασφαλείας των κεφαλίδων LUKS για κάθε περίπτωση:

cryptsetup luksDump /dev/sda6

Λοιπόν, μπορούμε να πούμε ότι το τμήμα είναι έτοιμο. Και το καλύτερο μέρος είναι ότι μπορείτε τώρα να το χρησιμοποιήσετε όπως κάθε άλλο κανονικό διαμέρισμα στον κατάλογο /dev. Μπορείτε να το μορφοποιήσετε χρησιμοποιώντας τυπικά βοηθητικά προγράμματα, να γράψετε δεδομένα σε αυτό, να αλλάξετε ή να ελέγξετε το σύστημα αρχείων κ.λπ. Δεν μπορείτε απλώς να αλλάξετε το μέγεθος. Δηλαδή όλα είναι απολύτως διαφανή, όπως αναφέρθηκε στην αρχή του άρθρου.

Μορφοποίηση κατάτμησης

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

dd if=/dev/zero of=/dev/mapper/backup2

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

pv -tpreb /dev/zero | dd of=/dev/mapper/backup2 bs=128M

Όταν ολοκληρωθεί η διαδικασία, μπορούμε να μορφοποιήσουμε τη συσκευή σε οποιοδήποτε σύστημα αρχείων. Για παράδειγμα, ας το μορφοποιήσουμε σε ext4:

mkfs.ext4 /dev/mapper/backup2

Όπως μπορείτε να δείτε, όλες οι εντολές cryptsetup εφαρμόζονται στο φυσικό διαμέρισμα, ενώ οι υπόλοιπες εντολές για εργασία με δίσκους εφαρμόζονται στο εικονικό μας.

Τοποθέτηση διαμερίσματος

Τώρα μπορείτε να προσαρτήσετε μόνο το δημιουργημένο σύστημα αρχείων:

$ mount /dev/mapper/backup2 /backup2

Απενεργοποίηση διαμερίσματος

Όλα λειτουργούν, αλλά πώς να απενεργοποιήσετε τη συσκευή και να προστατέψετε τα δεδομένα. Για να το κάνετε αυτό, εκτελέστε:

cryptsetup luksΚλείστε το αντίγραφο ασφαλείας2

Επανασυναρμολόγηση

Για να μπορέσετε να εργαστείτε ξανά με το κρυπτογραφημένο διαμέρισμα χρησιμοποιώντας το LUKS Linux, πρέπει να το ανοίξετε ξανά:

cryptsetup luksOpen /dev/sda6 backup2

Τώρα μπορούμε να τοποθετήσουμε:

προσάρτηση /dev/mapper/backup2 /backup2

Ελέγξτε τα luks του συστήματος αρχείων

Δεδομένου ότι μετά το άνοιγμα ενός διαμερίσματος με το luks linux, αυτό το διαμέρισμα αντιμετωπίζεται από το σύστημα όπως όλα τα άλλα, μπορείτε απλά να χρησιμοποιήσετε το βοηθητικό πρόγραμμα fsck:

sudo umount /backup2

$ fsck -vy /dev/mapper/backup2

$ mount /dev/mapper/backup2 /backu2

Αλλάξτε τη φράση πρόσβασης luks

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

cryptsetup luksDump /dev/sda6

Στη συνέχεια, δημιουργήστε ένα νέο κλειδί:

cryptsetup luksAddKey /dev/sda6

Εισαγάγετε οποιαδήποτε φράση πρόσβασης:

Εισαγάγετε νέα φράση πρόσβασης για την υποδοχή κλειδιού:
Επαληθεύστε τη φράση πρόσβασης:

Και σβήσε το παλιό:

cryptsetup luksRemoveKey /dev/sda6

Τώρα θα πρέπει να εισαγάγετε τον παλιό κωδικό πρόσβασης.

συμπεράσματα

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

Πλεονεκτήματα:

  • Το LUKS κρυπτογραφεί ολόκληρη τη συσκευή μπλοκ και επομένως είναι πολύ κατάλληλο για την προστασία του περιεχομένου φορητών συσκευών όπως π.χ. Κινητά τηλέφωνα, αφαιρούμενα μέσαή σκληροι ΔΙΣΚΟΙφορητούς υπολογιστές.
  • Μπορείτε να χρησιμοποιήσετε το NAS σε διακομιστές για να προστατεύσετε τα αντίγραφα ασφαλείας σας
  • Οι επεξεργαστές Intel και AMD με AES-NI (Advanced Encryption Standard) διαθέτουν ένα σύνολο εντολών που μπορούν να επιταχύνουν τη διαδικασία κρυπτογράφησης που βασίζεται σε dm-crypt στον πυρήνα του Linux από την 2.6.32.
  • Λειτουργεί επίσης με το διαμέρισμα ανταλλαγής, ώστε ο φορητός υπολογιστής σας να μπορεί να χρησιμοποιεί τη λειτουργία αναστολής λειτουργίας ή αδρανοποίησης με απόλυτη ασφάλεια.