Tìm kiếm “VPS chú trọng quyền riêng tư có mã hóa toàn bộ ổ đĩa” thường dẫn tới một ô đánh dấu trên trang bảng giá. Ô đó là thật, nhưng những gì nó mang lại hẹp hơn lời quảng cáo gợi ý. Trước khi mã hóa bất cứ thứ gì, bạn nên xác định rõ mình đang bảo vệ dữ liệu khỏi ai, vì trong một trường hợp quan trọng, mã hóa ổ đĩa hoàn toàn chẳng làm được gì.
Mã hóa trên VPS bảo vệ được gì, và không bảo vệ được gì
VPS là một máy ảo trên phần cứng của người khác. Khi nó chạy, ổ đĩa đã được mở khóa và khóa mã hóa nằm trong bộ nhớ của VM. Máy host về nguyên tắc có thể đọc bộ nhớ đó. Vì vậy:
Mã hóa giúp chống lại:
- Một bản sao ảnh đĩa hoặc snapshot của bạn rơi vào nơi không nên.
- Ổ đĩa cũ bị thải loại sau khi thay phần cứng.
- Ai đó truy cập được kho lưu trữ hoặc bản sao lưu mà không truy cập được máy chủ đang chạy.
Mã hóa không giúp chống lại:
- Bất kỳ ai kiểm soát máy host đang chạy.
- Kẻ tấn công chiếm được shell trên máy chủ: với họ, ổ đĩa đã mở sẵn.
- Yêu cầu pháp lý được gửi tới khi máy chủ đang hoạt động.
Đó không phải lý do để bỏ qua nó. Đó là lý do để dùng nó đúng việc và đừng nhầm nó với khả năng tàng hình.
Vì sao không mã hóa toàn bộ ổ đĩa gốc?
Bạn có thể làm vậy, nhưng khi đó mỗi lần khởi động lại sẽ dừng ở màn hình hỏi cụm mật khẩu. Bạn sẽ mở khóa qua bảng điều khiển web, hoặc tích hợp một máy chủ SSH vào initramfs (dropbear) để mở khóa từ xa. Cập nhật kernel giờ cần bạn có mặt; một lần khởi động lại không có người trông nghĩa là dịch vụ ngừng cho tới khi bạn đăng nhập. Với hầu hết mọi người, sự đánh đổi tốt hơn là: ổ đĩa hệ thống như bình thường, dữ liệu nhạy cảm trên một volume mã hóa mà bạn mở khóa sau khi khởi động.
Một két mã hóa trong năm lệnh
Một container LUKS nằm trong một tệp chạy được trên mọi VPS, không cần ổ đĩa bổ sung:
apt install -y cryptsetup
fallocate -l 10G /srv/vault.img
cryptsetup luksFormat /srv/vault.img # set a strong passphrase
cryptsetup open /srv/vault.img vault
mkfs.ext4 /dev/mapper/vault
Gắn kết và sử dụng:
mkdir -p /mnt/vault && mount /dev/mapper/vault /mnt/vault
Sau khi khởi động lại, két vẫn khóa cho tới khi bạn mở lại:
cryptsetup open /srv/vault.img vault && mount /dev/mapper/vault /mnt/vault
Thêm cụm mật khẩu thứ hai làm khóa dự phòng (cryptsetup luksAddKey /srv/vault.img) và lưu cả hai trong trình quản lý mật khẩu. Nếu mất cả hai, dữ liệu mất vĩnh viễn: không yêu cầu hỗ trợ nào có thể lấy lại.
Trỏ các dịch vụ nhạy cảm vào /mnt/vault (thư mục cơ sở dữ liệu, kho tài liệu, thư mục dữ liệu của trình quản lý mật khẩu) và chỉ cho chúng khởi động sau khi két đã được gắn kết.
Thường tốt hơn: mã hóa dữ liệu, không phải ổ đĩa
Mã hóa ổ đĩa dừng lại ở ổ đĩa. Dữ liệu bạn sao chép sang nơi khác (bản sao lưu, bản xuất, đồng bộ) sẽ đi dưới dạng không mã hóa, trừ khi bạn cũng mã hóa nó. Lớp bảo vệ đi theo dữ liệu thường giá trị hơn:
- Sao lưu: restic mã hóa mọi thứ ở phía máy khách trước khi tải lên.
- Tệp:
age -p secrets.tar > secrets.tar.agemã hóa bằng cụm mật khẩu. - Bí mật trong ứng dụng: dùng tính năng mã hóa của chính ứng dụng (nhiều trình quản lý mật khẩu, mã hóa phía máy chủ của Nextcloud, mã hóa cột trong cơ sở dữ liệu).
Cách chúng tôi làm tại EQVPS
Chúng tôi không yêu cầu giấy tờ tùy thân, không bán dữ liệu của bạn và công bố một warrant canary. Managed Backups được mã hóa trước khi rời máy host và luôn mã hóa trong kho lưu trữ, nhưng bằng khóa của chúng tôi, vì một bản sao lưu mà chúng tôi không khôi phục được thì không phải là bản sao lưu. Nếu bạn cần dữ liệu mà không ai ngoài bạn đọc được, hãy tự mã hóa trước khi nó chạm tới ổ đĩa. Điều đó đúng với mọi máy chủ, kể cả của chúng tôi.
Điều cần nhớ
Mã hóa một volume dữ liệu cho mọi thứ bạn không muốn thấy trong một snapshot bị rò rỉ. Mã hóa bản sao lưu ngay tại nguồn. Và đừng để một ô đánh dấu thuyết phục bạn rằng một máy chủ ảo đang chạy là một chiếc két: công cụ bảo vệ quyền riêng tư mạnh nhất bạn có là không giữ những dữ liệu bạn không cần.
Bình luận
Chưa có bình luận nào. Hãy là người đầu tiên.