使用 OpenSSL 加密 Linux 文件系統可以通過多種方式實現,但最常見和有效的方法是使用 LUKS(Linux Unified Key Setup) 進行磁盤加密。以下是詳細的步驟指南:
首先,確保你的系統上安裝了 cryptsetup
,它用于管理 LUKS 加密。
sudo apt-get update
sudo apt-get install cryptsetup # 對于基于 Debian/Ubuntu 的系統
# 或者
sudo yum install cryptsetup # 對于基于 Red Hat/CentOS 的系統
在進行任何磁盤加密操作之前,務必備份所有重要數據,以防止數據丟失。
假設你要加密的設備是 /dev/sda
,以下是具體步驟:
sudo cryptsetup luksFormat /dev/sda
系統會提示你確認是否要格式化設備并進行加密。輸入 yes
并按回車。
注意:此操作會擦除 /dev/sda
上的所有數據,請確保已備份重要信息。
sudo cryptsetup luksOpen /dev/sda my_encrypted_disk
這里,my_encrypted_disk
是映射名稱,你可以根據需要自定義。
將加密后的設備格式化為文件系統,例如 ext4:
sudo mkfs.ext4 /dev/mapper/my_encrypted_disk
創建一個掛載點并掛載加密卷:
sudo mkdir /mnt/encrypted
sudo mount /dev/mapper/my_encrypted_disk /mnt/encrypted
為了在系統啟動時自動掛載加密卷,需要編輯 /etc/crypttab
和 /etc/fstab
。
編輯 /etc/crypttab
:
sudo nano /etc/crypttab
添加以下行:
my_encrypted_disk /dev/sda none luks
編輯 /etc/fstab
:
sudo nano /etc/fstab
添加以下行:
/dev/mapper/my_encrypted_disk /mnt/encrypted ext4 defaults 0 2
為了在啟動時自動解鎖加密卷,可以使用 passphrase
或者將密鑰存儲在硬件安全模塊(HSM)中。這里以使用 passphrase
為例:
在打開加密設備時輸入 passphrase:
sudo cryptsetup luksOpen /dev/sda my_encrypted_disk
系統會提示你輸入并確認 passphrase。
initramfs
為了確保在啟動過程中可以訪問加密卷,需要更新 initramfs
:
sudo update-initramfs -u
重新啟動系統并驗證加密卷是否正確掛載:
sudo reboot
系統啟動后,檢查 /mnt/encrypted
是否已正確掛載,并且數據可訪問。
通過以上步驟,你可以使用 OpenSSL 和 LUKS 在 Linux 系統上實現磁盤加密,保護你的數據安全。