Cách mã hóa phân vùng bằng DM-Crypt LUKS trên Linux

theanh

Administrator
Nhân viên
TrueCrypt không còn nữa, và mục đích của bài đăng này là để cho bạn thấy mã hóa phân vùng đơn giản với dm-crypt luks.

DM-Crypt là mã hóa ổ đĩa trong suốt, là mô-đun hạt nhân và là một phần của khuôn khổ ánh xạ thiết bị để ánh xạ thiết bị khối vật lý lên các thiết bị khối ảo cấp cao hơn, nó sử dụng các thói quen mã hóa từ api mã hóa của hạt nhân. Nói tóm lại, mã hóa ánh xạ thiết bị được cung cấp bởi api mã hóa "linux" của hạt nhân.

Hãy đảm bảo rằng bạn có ít nhất một phân vùng không có dữ liệu trong đó. Nếu bạn không có bất kỳ phân vùng nào khả dụng, hãy sử dụng parted, gparted hoặc bất kỳ chương trình nào bạn thích để thu nhỏ một số phân vùng hiện có và tạo một phân vùng mới.

Tôi sẽ sử dụng phân vùng có tên /dev/sda3 và nhiệm vụ đầu tiên của chúng ta là ghi đè phân vùng đó 3 lần bằng dữ liệu ngẫu nhiên, điều đó đủ để bảo vệ bạn khỏi cuộc điều tra pháp y. Phải mất gần 30 phút để phân vùng 20 GB bị ghi đè 3 lần.
Mã:
shred --verbose --random-source=/dev/urandom --iterations=3 /dev/sda3
Tạo thiết bị ánh xạ thiết bị mật mã ở chế độ mã hóa LUKS:
Mã:
cryptsetup --verbose --cipher aes-xts-plain64 --key-size 512 --hash sha512 --iter-time 5000 --use-random luksFormat /dev/sda3
Bạn sẽ được hỏi câu hỏi sau:
Mã:
CẢNH BÁO!
Mã:
========
Mã:
Điều này sẽ ghi đè dữ liệu trên /dev/sda3 một cách không thể hủy ngang.
Mã:
Mã:
Bạn có chắc không? (Nhập chữ hoa yes): YES
Mã:
Nhập mật khẩu:
Mã:
Xác minh mật khẩu:
Mã:
Lệnh thành công
Mở khóa phân vùng, ở đây "root" là tên trình ánh xạ thiết bị, hãy coi nó như nhãn.
Mã:
cryptsetup open --type luks /dev/sda3 root
Chúng ta phải tạo hệ thống tệp để ghi dữ liệu được mã hóa có thể truy cập được thông qua tên trình ánh xạ thiết bị (nhãn).
Mã:
mkfs.ext4 /dev/mapper/root
Gắn thiết bị và chuyển tất cả dữ liệu của bạn:
Mã:
mount -t ext4 /dev/mapper/root /mnt
Gỡ gắn và đóng thiết bị sau khi hoàn tất:
Mã:
umount /mnt
cryptsetup close root

Cuối cùng nhưng không kém phần quan trọng, hãy xóa bộ đệm sao chép và bộ đệm bộ nhớ đệm:
Mã:
sysctl --write vm.drop_caches=3
Vậy là xong, mã hóa đơn giản và dễ hiểu. Từ bây giờ, tất cả những gì bạn phải làm là: mở khóa, gắn kết, chuyển dữ liệu, tháo gắn kết và đóng thiết bị.

Nếu bạn có vài giờ rảnh rỗi và thử nghiệm, hãy thoải mái đọc các trang sau:

liên kết 1, liên kết 2, liên kết 3, liên kết 4, liên kết 5, liên kết 6, liên kết 7

Bảo vệ phân vùng /boot của bạn nếu bạn muốn mã hóa toàn bộ ổ đĩa. Mọi thứ đều được viết rất chi tiết về cách thực hiện trong các liên kết ở trên.

Chỉnh sửa bài đăng: Mọi thứ trở nên tốt hơn nữa khi tôi vừa biết rằng có thể ghi đĩa CD và DVD được mã hóa LUKS.

Thay vì sử dụng phân vùng ổ đĩa, chúng ta sẽ tạo một tệp thông qua dd và trình tạo số ngẫu nhiên của hạt nhân /dev/urandom sẽ điền tệp ban đầu bằng entropy giả.

Tạo tệp 500MB sẽ được sử dụng làm hệ thống tệp trong một tệp duy nhất.
Mã:
dd if=/dev/urandom of=encrypted.volume bs=1MB count=500
Chỉ cần thay thế lệnh đầu tiên trong bài đăng này (shred) bằng lệnh dd và nhập các lệnh còn lại như hiện tại.

Bây giờ bạn có thể chắc chắn rằng không ai có thể vượt qua dữ liệu của bạn khi ghi vào tệp duy nhất là toàn bộ hệ thống tệp trong mã hóa LUKS, chỉ cần thực hiện hãy nhớ tháo gắn và đóng encrypted.volume trước khi ghi nó vào đĩa.
 
Back
Bên trên