Mã hóa đĩa trên máy chủ từ xa
Trả lời
Mã hóa toàn bộ đĩa trên máy chủ từ xa sử dụng LUKS2 với cụm mật khẩu được nhập khi khởi động qua console ngoài băng tần hoặc shell SSH dropbear trong initramfs. Nó bảo vệ trước việc tịch thu đĩa và khôi phục từ đĩa đã ngừng sử dụng. Nó không bảo vệ một máy chủ đang chạy, nơi khóa nằm trong RAM.
Hãy chính xác về mối đe dọa mà nó giải quyết
Mã hóa toàn bộ đĩa bảo vệ dữ liệu lưu trữ. Khi máy đã khởi động và volume đã được mở khóa, khóa nằm trong bộ nhớ kernel và hệ thống tệp có thể đọc bởi bất kỳ thứ gì có đủ đặc quyền — bao gồm, trên nền tảng ảo hóa, một nhà điều hành hypervisor có thể đổ RAM của máy ảo.
Vì vậy, FDE đánh bại: tịch thu phần cứng khi tắt nguồn, ổ đĩa rời khỏi trung tâm dữ liệu khi hết vòng đời, và một bản sao nguội của file ảnh đĩa của bạn. Nó không đánh bại: kẻ tấn công trên hệ thống đang chạy, hoặc kẻ thù cấp hypervisor chống lại một máy ảo đang chạy. Đó là các ranh giới trung thực và bất kỳ hướng dẫn nào bỏ qua chúng là đang bán sự an tâm.
Vấn đề mở khóa từ xa
Trên máy tính xách tay, bạn gõ cụm mật khẩu khi khởi động. Trên máy chủ cách xa hai nghìn km, một thứ gì đó phải cung cấp nó, và các giải pháp hiển nhiên đều phá hủy mục đích — một khóa file trên cùng một đĩa, hoặc một khóa do nhà cung cấp lưu trữ, có nghĩa là mã hóa chỉ là trang trí.
Có hai câu trả lời đúng. Trên máy chủ riêng và GPU của chúng tôi, hãy sử dụng console ngoài băng tần: IPMI cung cấp cho bạn màn hình khởi động và bạn gõ cụm mật khẩu như khi bạn dùng máy cục bộ. Trên VPS, đặt dropbear-initramfs vào ổ đĩa RAM ban đầu để máy khởi động đủ xa để chấp nhận kết nối SSH, bạn mở khóa qua kết nối đó, và quá trình khởi động tiếp tục.
Thiết lập
Con đường sạch sẽ là mã hóa tại thời điểm cài đặt. Khởi động một ISO tùy chỉnh qua phương tiện ảo, phân vùng với /boot không mã hóa và một container LUKS2 cho mọi thứ khác, và cài đặt vào trong đó. Chọn Argon2id làm hàm dẫn xuất khóa — đó là mặc định của LUKS2 và nó sử dụng nhiều bộ nhớ, điều quan trọng chống lại brute force.
Đặt LUKS khi cấp phát trên bất kỳ gói riêng, GPU hoặc lưu trữ nào và chúng tôi thực hiện việc phân vùng; bạn nhập cụm mật khẩu qua console khi khởi động đầu tiên và nó không bao giờ chạm vào cơ sở hạ tầng của chúng tôi. Không có phí và không có đường khôi phục, đó là cùng một tuyên bố được nói hai lần.
- cryptsetup luksFormat --type luks2 --pbkdf argon2id /dev/sdaX
- /boot không mã hóa, mọi thứ khác bên trong container
- apt install dropbear-initramfs trên VPS để mở khóa từ xa
- Thêm khóa SSH của bạn vào /etc/dropbear/initramfs/authorized_keys
- Kiểm tra khởi động lại hoàn toàn trước khi đưa bất cứ thứ gì vào
- Giữ một khe khóa thứ hai với cụm mật khẩu được lưu ở nơi an toàn
Hai điều mọi người thường làm sai
Điều đầu tiên là chỉ có một khe khóa. LUKS2 hỗ trợ tám; sử dụng ít nhất hai, với khe thứ hai chứa một cụm mật khẩu dài ngẫu nhiên được giữ trong trình quản lý mật khẩu. Một cụm mật khẩu duy nhất bị quên là không thể khôi phục, và không thể khôi phục có nghĩa là không thể khôi phục.
Điều thứ hai là không kiểm tra khởi động lại trước khi đưa dữ liệu vào máy. Một dropbear initramfs cấu hình sai sẽ biến lần khởi động lại ngoài kế hoạch đầu tiên thành một cỗ máy không bao giờ trở lại. Hãy chủ động khởi động lại hai lần khi máy còn trống.
Câu hỏi thường gặp
01 Nhà cung cấp của tôi có thể đọc được đĩa mã hóa không?
Không thể đọc dữ liệu khi lưu trữ. Trên một máy ảo đang chạy, người vận hành hypervisor về nguyên tắc có thể đọc bộ nhớ của máy khách, nơi chứa khóa — điều này đúng với mọi nhà cung cấp ảo hóa. Máy chủ vật lý với LUKS loại bỏ giao diện đó.
02 Làm thế nào để mở khóa máy chủ mà tôi không thể chạm tới?
Sử dụng bảng điều khiển IPMI ngoài băng tần trên máy chủ chuyên dụng và GPU, hoặc dropbear-initramfs trên VPS — máy khởi động đủ để chấp nhận SSH, bạn mở khóa qua đó, và quá trình khởi động tiếp tục.
03 Nếu tôi quên mật khẩu thì sao?
Dữ liệu sẽ biến mất. Không có cách khôi phục, không có cửa sau và không có khóa nào do nhà cung cấp giữ. Hãy sử dụng ít nhất hai key slot LUKS, với slot thứ hai chứa mật khẩu ngẫu nhiên dài trong trình quản lý mật khẩu.
Liên quan