Trong thời đại số, dữ liệu cá nhân và công ty luôn phải đối mặt với nguy cơ bị đánh mất hoặc lộ lọt khi thiết bị (như laptop) bị thất lạc hoặc đánh cắp. Ubuntu Linux cũng chú trọng vào vấn đề này khi cung cấp tính năng Full Disk Encryption (FDE) – mã hóa toàn bộ thiết bị lưu trữ để “bảo vệ dữ liệu”. Tính năng này giúp dữ liệu trên ổ đĩa không thể đọc được nếu không có khóa giải mã hợp lệ. Một trong những giải pháp mã hóa phổ biến trong Linux là DM-Crypt LUKS (Linux Unified Key Setup), vốn đã được tích hợp trực tiếp trong kernel. DM-Crypt LUKS cho phép mã hóa phân vùng ở cấp khối (block level), cung cấp khả năng bảo vệ toàn diện cho ổ đĩa, phân vùng, hệ thống RAID, ổ logic hay thậm chí là tập tin và thiết bị di động. Tóm lại, mã hóa ổ đĩa trên Ubuntu sẽ giúp khóa dữ liệu của bạn bằng một mật khẩu/khóa mã hóa mạnh, để kẻ xấu dù có lấy được máy tính cũng không thể truy xuất được các thông tin nhạy cảm bên trong ổ đĩa của bạn.
Contents
Tại sao nên mã hóa ổ đĩa?
-
Bảo mật dữ liệu khi mất hoặc bị đánh cắp: Nếu laptop bị thất lạc ở ga tàu, xe, máy bay hay quên trên xe buýt, ổ cứng sẽ không thể bị “bẻ khóa” nếu đã được mã hóa. Đây là biện pháp bảo vệ cuối cùng của dữ liệu tại trạng thái nghỉ (data at rest).
-
Giúp tuân thủ quy định: Với các tổ chức đòi hỏi bảo vệ thông tin (như ISO27001, GDPR), mã hóa ổ đĩa là giải pháp cần thiết để đảm bảo dữ liệu nhạy cảm không thể bị truy cập trái phép.
-
Công cụ mã hóa miễn phí và chuẩn Linux: Công cụ
cryptsetupchuẩn Linux dựa trên DM-Crypt LUKS cho phép mã hóa theo chuẩn được công nhận, tích hợp sẵn trên Ubuntu chỉ cần cài đặt gói hỗ trợ.
Tuy nhiên, cần lưu ý bạn sẽ mất dữ liệu vĩnh viễn nếu quên mật khẩu: mã hóa chỉ an toàn khi passphrase còn được ghi nhớ. Nếu bạn quên mật khẩu hay header LUKS bị hỏng, dữ liệu sẽ “mất theo” và không thể khôi phục được. Do đó, hãy sao lưu passphrase ở nơi an toàn và kiểm tra thật kỹ trước khi triển khai.
Chuẩn bị môi trường
Trước khi bắt đầu, đảm bảo bạn đang làm việc với quyền root (hoặc dùng sudo) để thực hiện các lệnh sau mà không cần gõ lại sudo nhiều lần:
Tiếp theo, hãy cài đặt gói cryptsetup, công cụ dòng lệnh quản lý mã hóa LUKS. Trên Ubuntu hoặc Debian, lệnh cài đặt là:

Sau khi cài đặt, hãy liệt kê các thiết bị và phân vùng bằng lệnh lsblk để xác định ổ đĩa cần mã hóa. Ví dụ:
Kết quả hiển thị các ổ đĩa và phân vùng. Giả sử chúng ta có ổ /dev/sdb với phân vùng /dev/sdb1 chưa sử dụng. Hãy rất cẩn thận để tránh chọn nhầm phân vùng chứa dữ liệu quan trọng. Mã hóa sẽ xóa toàn bộ dữ liệu trên phân vùng đích.

Các bước mã hóa phân vùng với LUKS
-
Khởi tạo mã hóa LUKS: Sử dụng lệnh
cryptsetup luksFormatđể khởi tạo mã hóa trên phân vùng đã chọn. Ví dụ:-
Tùy chọn
-vcho biết kết quả chi tiết hơn (verbose), -
-yyêu cầu xác nhận mật khẩu. -
Sau khi nhập lệnh, hệ thống sẽ cảnh báo rằng tất cả dữ liệu trên
/dev/sdb1sẽ bị xóa. Để xác nhận, bạn phải gõ chữ YES viết hoa. Đây là bước bảo vệ cuối cùng, nên chỉ tiếp tục khi chắc chắn đúng phân vùng. -
Hệ thống sẽ nhắc bạn nhập mật khẩu mã hóa (passphrase) hai lần để xác nhận. Mật khẩu này nên mạnh (kết hợp chữ hoa, chữ thường, số và ký tự đặc biệt) và mật khẩu không được giống như trong từ điển (VD: abc123, 12345 …VV…). Nếu dùng mật khẩu quá yếu, cryptsetup sẽ từ chối yêu cầu bạn nhập lại mật khẩu.
-
Quá trình này có thể tốn thời gian tùy vào dung lượng phân vùng và tốc độ ổ đĩa. Ví dụ, một ổ 5 GiB ảo có thể chỉ mất vài giây, nhưng ví dụ như với ổ 2 TB thì cần nhiều thời gian hơn.

-
-
Mở khóa thiết bị mã hóa: Sau khi khởi tạo thành công, phân vùng
/dev/sdb1đã được mã hóa nhưng chưa thể sử dụng. Dùng lệnhcryptsetup luksOpenđể mở nó và gán tên (tên đệm) dễ nhớ:-
Ở đây chúng ta đặt tên là
secure(bạn có thể thay bằng tên nào bạn thích, lưu ý phân biệt chữ hoa/thường). -
Hệ thống sẽ yêu cầu nhập passphrase đã tạo ở bước trước. Nếu đúng,
cryptsetupsẽ tạo một thiết bị ảo tại/dev/mapper/secure(thực chất là một liên kết tới thiết bị thực/dev/sdb1đã mở khóa). Hãy dùng lệnh: ls -l /dev/mapper để xem -
Lưu ý: Không thể khôi phục mật khẩu này nếu bị mất. Hãy bảo mật nó thật kỹ lưỡng. Mỗi lần mở lại ổ (ví dụ sau khởi động lại), bạn sẽ cần nhập lại passphrase này.

-
-
Tạo hệ thống file: Bây giờ, thiết bị ảo
/dev/mapper/securegiống như một phân vùng trống, chúng ta cần định dạng nó. Ví dụ tạo ext4 file system:Bạn có thể chọn file system khác như (ext4, xfs, btrfs,…) tùy thuộc vào nhu cầu của bạn. Lệnh trên sẽ tạo một ổ đĩa ext4 trên thiết bị đã mã hóa.
-
Tạo điểm gắn kết và mount: Tạo một thư mục để gắn kết ổ mới, ví dụ
/secure:Sau đó gắn ổ vào thư mục này:
Bây giờ
/secuređã trở thành nơi lưu trữ được mã hóa. Mọi tập tin bạn được lưu vào/securethực chất được mã hóa khi ghi xuống ổ cứng. Ví dụ kiểm thử:File sẽ hiện đúng nội dung trên thư mục đã gắn, nhưng đằng sau là dữ liệu đã được mã hóa an toàn trên ổ cứng.

Cấu hình tự động mở khóa và mount khi khởi động
Nếu muốn tự động hóa khi khởi động server, bạn có thể cấu hình để hệ thống tự động hỏi mật khẩu và gắn ổ mã hóa sau khi khởi động.
-
/etc/crypttab: Đây là file cấu hình để khai báo các thiết bị LUKS. Mở nó với quyền root:
Thêm một dòng cấu hình, ví dụ:
Trong đó:
-
securelà tên dev-mapper (tên bạn đã dùng trongluksOpen). -
/dev/sdb1là thiết bị thực. -
nonecho biết không sử dụng file khóa (tức hệ thống sẽ hỏi passphrase qua prompt).
Sau đó, mỗi lần khởi động, Linux Ubuntu sẽ tự động chạy lệnh tương đương
cryptsetup luksOpenvà yêu cầu nhập mật khẩu (hiện trên console) để mở khóa phân vùng. -
-
/etc/fstab: Sau khi đã mở khóa, bạn cần mount thiết bị vào thư mục. Mở file fstab:
Thêm dòng tương ứng, ví dụ:
Điều này cho phép phân vùng mã hóa được tự động mount vào
/securesau khi mở khóa. Khi khởi động, hệ thống sẽ yêu cầu bạn nhập mật khẩu (từ crypttab), sau đó tự động tiến hành mount phân vùng đã mã hóa như bình thường.
Sau khi cấu hình, khởi động lại Linux Ubuntu để kiểm tra. Nếu thành công, Ubuntu sẽ nhắc bạn nhập mật khẩu để mở ổ đã mã hóa, sau đó bạn có thể truy cập nội dung trong thư mục mount /secure như một ổ đĩa thông thường. Ví dụ, chạy ls /secure sẽ hiển thị các files trong phân vùng đã mã hóa.

Tổng kết
Việc mã hóa ổ đĩa với LUKS trên Ubuntu 24.04 mang lại lớp bảo mật mạnh mẽ cho dữ liệu khi thiết bị bị thất lạc hoặc truy cập trái phép. Chỉ với một vài lệnh trong Terminal, bạn có thể bảo vệ toàn bộ phân vùng/ổ đĩa bằng một passphrase an toàn. Tuy nhiên, bạn cần phải ghi nhớ mật khẩu mã hóa, bởi nếu quên, dữ liệu sẽ không thể khôi phục. Ngoài ra, hãy cân nhắc hiệu xuất và backup dữ liệu trước khi triển khai, vì mã hóa có thể làm giảm một chút tốc độ ghi/đọc tùy thiết bị. Để tiện lợi hơn, Ubuntu cho phép tự động hỏi mật khẩu qua /etc/crypttab và mount ổ qua /etc/fstab.
Việc mã hóa dữ liệu không chỉ giúp bảo vệ quyền riêng tư cá nhân và công ty mà còn là bước cần thiết để tuân thủ các chuẩn bảo mật cao cấp. Hãy áp dụng ngay mã hóa ổ đĩa trên Ubuntu nếu bạn thường xuyên lưu trữ dữ liệu nhạy cảm để yên tâm hơn mỗi khi rời khỏi máy tính.
#Ubuntu #Linux #LUKS #MãHóaỔĐĩa #BảoMậtDữLiệu #CyberSecurity #OpenSource


