OpenBSD chỉ hỗ trợ mã hóa toàn bộ đĩa kể từ OpenBSD 5.3 . Các phiên bản trước yêu cầu phân vùng khởi động Cleartext. Tôi không biết khi nào trình cài đặt được sửa đổi để hỗ trợ cài đặt trực tiếp vào phân vùng được mã hóa (tất nhiên với bộ tải khởi động vẫn chưa được mã hóa, bởi vì có gì đó phải giải mã bit tiếp theo).
Dù sao cũng có ít sử dụng trong việc mã hóa phân vùng hệ thống¹. Vì vậy, tôi khuyên bạn nên cài đặt hệ thống bình thường, sau đó tạo một hình ảnh hệ thống tập tin được mã hóa và đưa dữ liệu nhạy cảm của bạn ( /home
, một phần /var
, có lẽ một vài tệp vào /etc
đó).
Nếu bạn muốn mã hóa phân vùng hệ thống (vì bạn có một số trường hợp sử dụng đặc biệt, như một số phần mềm bí mật) và ban đầu bạn không cài đặt một hệ thống được mã hóa, đây là cách bạn có thể làm điều đó.
Khởi động vào bản cài đặt OpenBSD của bạn và tạo một tệp sẽ chứa hình ảnh hệ thống tệp được mã hóa. Đảm bảo chọn kích thước hợp lý vì sẽ khó thay đổi sau này (bạn có thể tạo thêm một hình ảnh, nhưng bạn sẽ phải nhập cụm mật khẩu riêng cho mỗi hình ảnh). Các vnconfig
trang người đàn ông có ví dụ (mặc dù họ đang bỏ lỡ một vài bước). Tóm lại:
dd if=/dev/urandom of=/ENCRYPTED.img bs=1m count=4096
vnconfig -k svnd0 /ENCRYPTED.img # type your passphrase
{ echo a a; echo w; echo q; } | disklabel -E /svnd0 # create a single slice
newfs /dev/svnd0a
mount /dev/svnd0a /mnt
mv /home/* /mnt
umount /mnt
umount /dev/svnd0c
Thêm các mục tương ứng vào /etc/fstab
:
/ENCRYPTED.img /dev/svnd0c vnd rw,noauto,-k
/dev/svnd0a /home ffs rw,noauto
Thêm các lệnh để gắn kết khối lượng được mã hóa và hệ thống tập tin trong đó tại thời điểm khởi động để /etc/rc.local
:
echo "Mounting encrypted volumes:"
mount /dev/svnd0c
fsck -p /dev/svnd0a
mount /home
Kiểm tra xem mọi thứ có hoạt động chính xác không bằng cách chạy các lệnh này ( mount /dev/svnd0c && mount /home
).
Lưu ý rằng rc.local
được thực hiện muộn trong quá trình khởi động, vì vậy bạn không thể đặt các tệp được sử dụng bởi các dịch vụ tiêu chuẩn như ssh hoặc sendmail trên ổ đĩa được mã hóa. Nếu bạn muốn làm điều đó, hãy đặt các lệnh này /etc/rc
thay vào đó, ngay sau đó mount -a
. Sau đó di chuyển các phần của hệ thống tập tin của bạn mà bạn cho là nhạy cảm và di chuyển chúng đến /home
âm lượng.
mkdir /home/etc /home/var
mv /etc/ssh /home/etc
ln -s ../home/etc/ssh /home/etc
mv /var/mail /var/spool /home/var
ln -s ../home/var/mail ../home/var/spool /var
Bạn cũng nên mã hóa trao đổi của mình, nhưng OpenBSD hiện thực hiện điều đó một cách tự động.
Cách mới hơn để có được một hệ thống tập tin được mã hóa là thông qua trình điều khiển đột kích phần mềm softraid
. Xem các trang softraid
và bioctl
man hoặc NAS HOWTO được mã hóa OpenBSD của Lykle de Vries để biết thêm thông tin. Các phiên bản gần đây của OpenBSD hỗ trợ khởi động từ ổ đĩa mềm và cài đặt vào ổ đĩa mềm bằng cách thả vào vỏ trong quá trình cài đặt để tạo âm lượng.
¹
Theo như tôi có thể nói, OpenBSD của mã hóa khối lượng được bảo vệ cho bí mật (với Blowfish), không phải cho toàn vẹn . Bảo vệ tính toàn vẹn của HĐH là rất quan trọng, nhưng không cần bảo mật. Cũng có nhiều cách để bảo vệ tính toàn vẹn của HĐH, nhưng chúng nằm ngoài phạm vi của câu trả lời này.