Linode服务器中使用DM-Crypt加密数据文件教程

DM-Crypt可以用于加密系统数据文件,原理是加密敏感数据存储制作便捷容器,我们可以利用DM-Crypt将物理块设备映射到虚拟块设备,当我们写入虚拟设备时,每个数据块都是被加密并存储在物理设备上的,当我们有需要从虚拟设备读取数据时候,每个数据块也都是在运行中自动解密。
在这篇文章中,我们记录和实践操作如何加密磁盘、分区、交换方法。当然,使用到的服务器是Linode服务器,以及面板中需要的一些操作记录。

第一、准备工作

我们需要给服务器部署Debian 9镜像,同时我们需要预留系统大约4GB空间,其他的磁盘作为加密存储。

Linode服务器中使用DM-Crypt加密数据文件方法

然后我们再到Linode面板中去创建一个新磁盘,然后在类型中选择unformatted / raw。

然后我们需要打开配置文件,查看配置文件快。

配置完毕之后我们启动Linode,然后需要运行升级镜像和安装。

apt update && apt upgrade

然后安装cryptsetup

apt install cryptsetup -y

第二、如何映射文件和分区

这里我们就可以开始使用cryptsetup命令的参数来映射磁盘。比如我们将分配一个10GB的文件。

fallocate -l 10G /root/encrypted-container

第三、在没有LUKS的模式下使用dm-crypt

  • 1、以纯模式映射设备
cryptsetup --verify-passphrase open --type plain /dev/sdX sdX-plain
  • 2、创建一个ext4文件系统
mkfs.ext4 /dev/mapper/sdX-plain
  • 3、在根目录中设置安装
mkdir /root/encrypted
  • 4、挂载
mount /dev/mapper/sdX-plain /root/encrypted/
  • 5、完成之后卸载
cd /root/ && umount /root/encrypted && cryptsetup close sdX-plain

使用完文件系统后,需要先卸载,然后关闭映射的设备。

第四、如何在LUKS中使用dm-crypt

  • 1、将LUKS标头添加到块设备
cryptsetup luksFormat /dev/sdX
  • 2、打开LUKS容器并将其映射到虚拟设备
cryptsetup luksOpen /dev/sdX sdX-luks
  • 3、创建一个ext4文件系统
mkfs.ext4 /dev/mapper/sdX-luks
  • 4、挂载
mount /dev/mapper/sdX-luks /root/encrypted/
  • 5、使用完就需要卸载
cd /root/ && umount /root/encrypted && cryptsetup luksClose sdX-luks

第五、加密交换分区

  • 1、修改文件

在文本编辑器中打开/etc/crypttab并添加以下行

swap-encrypted /dev/sdX /dev/urandom swap,noearly
  • 2、继续添加文件/etc/fstab
/dev/mapper/swap-encrypted none swap sw 0 0

最后重启服务器生效。

仅有一条评论

  1. 这个加密方法不错哦。

发表评论