DigitalOcean块存储上创建加密的文件系统教程
DigitalOcean是我们熟悉的一家美国云主机服务器商,产品整体性能优越,而且采用SSD硬盘存储,支持按小时计费模式,因而备受国内站长欢迎。DigitalOcean Volumes是可扩展的,基于SSD的块存储设备。卷使您可以创建和扩展基础结构的存储容量,而无需调整Droplet的大小。Volumes在静止状态下被加密,这意味着卷上的数据在其存储群集之外无法读取。将Volumes附加到Droplet时,Droplet会显示一个解密的块存储设备,并且所有数据都通过隔离的网络传输。
创新互联是一家集网站建设,陆河企业网站建设,陆河品牌网站建设,网站定制,陆河网站建设报价,网络营销,网络优化,陆河网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。为了提高安全性,您还可以在Volume 的LUKS加密磁盘中创建文件系统。这意味着磁盘将需要由Droplet上的操作系统解密才能读取任何数据。下面就给大家简单介绍下如何在DigitalOcean块存储上创建加密的文件系统,仅供大家参考。
一、创建加密磁盘
cryptsetup是一个实用程序,用于管理其他加密格式之外的LUKS卷。首先,用于cryptsetup初始化卷上的加密磁盘。
sudo cryptsetup -y -v luksFormat /dev/disk/by-id/scsi-0DO_Volume_volume-lon1-01
确保volume-lon1-01用Volume的名称替换。-y当系统提示您创建密码时,该标志将要求您输入两次密码。该-v标志添加了其他人类可读的输出,以验证命令是否成功。
输出将要求您确认覆盖卷上的数据。键入YES全部大写,然后按ENTER继续。
Output
WARNING!
========
This will overwrite data on /dev/disk/by-id/scsi-0DO_Volume_volume-lon1-01 irrevocably.
Are you sure? (Type uppercase yes): YES
接下来,输出将提示您为加密磁盘创建密码。输入一个唯一的强密码短语,然后再次输入以进行验证。此密码无法恢复,因此请将其保存在安全的地方。
Output
. . .
Enter passphrase:
Verify passphrase:
Command successful.
如果需要,将来可以使用cryptsetup luksChangeKey命令更改此密码。您还可以使用最多为每个设备添加8个其他密码短语cryptsetup luksAddKey。
此时,您的磁盘已创建并加密。接下来,将其解密并将其映射到标签以便于引用。在这里,我们将其标记为secure-volume,但是您可以使用任何喜欢的标记它。
sudo cryptsetup luksOpen /dev/disk/by-id/scsi-0DO_Volume_volume-lon1-01 secure-volume
系统将提示您输入密码。输入后,卷现在将映射到/dev/mapper/secure-volume。
为确保一切正常,请验证加密磁盘的详细信息。
cryptsetup status secure-volume
您将看到这样的输出,指示“卷”标签和类型。
Output
/dev/mapper/secure-volume is active.
type: LUKS1
cipher: aes-xts-plain64
keysize: 256 bits
device: /dev/sda
offset: 4096 sectors
size: 209711104 sectors
mode: read/write
此时,您具有受密码保护的加密磁盘。下一步是在该磁盘上创建文件系统,以便操作系统可以使用它来存储文件。
二、创建和挂载文件系统
首先让我们看一下Droplet上的当前可用磁盘空间。
df -h
您将看到类似于此的输出,具体取决于您的Droplet配置:
Output
Filesystem Size Used Avail Use% Mounted on
udev 2.0G 0 2.0G 0% /dev
tmpfs 396M 5.6M 390M 2% /run
/dev/vda1 78G 877M 77G 2% /
tmpfs 2.0G 0 2.0G 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 2.0G 0 2.0G 0% /sys/fs/cgroup
/dev/vda15 105M 3.4M 101M 4% /boot/efi
tmpfs 396M 0 396M 0% /run/user/1000
目前,由于Droplet尚无法访问该卷,因此未显示在此列表上。为了使其可访问,我们需要创建并挂载文件系统。/dev/mapper/secure-volume
使用mkfs.xfs实用程序(中号一个ķ ë ˚F ILE 小号 ystem)来创建一个XFS在卷上的文件系统。
sudo mkfs.xfs /dev/mapper/secure-volume
创建文件系统后,您可以挂载它,这意味着可以在Droplet上将其提供给操作系统使用。
创建一个挂载点,将文件系统附加到该挂载点。挂载点的一个很好的建议是该目录中有一个空/mnt目录,因此我们将使用。/mnt/secure
sudo mkdir /mnt/secure
然后挂载文件系统。
sudo mount /dev/mapper/secure-volume /mnt/secure
为确保其正常工作,请再次检查Droplet上的可用磁盘空间。
df -h
现在,您会看到列出的内容。/dev/mapper/secure-volume
Output
Filesystem Size Used Avail Use% Mounted on
udev 2.0G 0 2.0G 0% /dev
tmpfs 396M 5.6M 390M 2% /run
/dev/vda1 78G 877M 77G 2% /
tmpfs 2.0G 0 2.0G 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 2.0G 0 2.0G 0% /sys/fs/cgroup
/dev/vda15 105M 3.4M 101M 4% /boot/efi
tmpfs 396M 0 396M 0% /run/user/1000
/dev/mapper/secure-volume 100G 33M 100G 1% /mnt/secure
这意味着您的加密文件系统已连接并可以使用。
当不再需要访问卷上的数据时,可以卸载文件系统并锁定加密的磁盘。
sudo umount /mnt/secure
sudo cryptsetup luksClose secure-volume
您可以验证df -h文件系统不再可用。为了使卷上的数据再次可访问,您将执行以下步骤来打开磁盘(cryptsetup luksOpen …),创建安装点并安装文件系统。
为了避免每次要使用Volume时都要执行此手动过程,可以将文件系统配置为在Droplet引导时自动挂载。
三、在启动时自动挂载文件系统
加密的磁盘最多可以具有8个密码短语。在最后一步中,我们将创建一个密钥并将其添加为密码短语,然后使用该密钥来配置要在Droplet引导时解密和装入的Volume。
在创建密钥文件/root/.secure_key。此命令将创建一个具有随机内容的4 KB文件:
sudo dd if=/dev/urandom of=/root/.secure-key bs=1024 count=4
调整此密钥文件的权限,以便只有root用户才能读取。
sudo chmod 0400 /root/.secure-key
然后将密钥添加为加密磁盘的密码。
cryptsetup luksAddKey /dev/disk/by-id/scsi-0DO_Volume_volume-lon1-01 /root/.secure-key
系统会提示您输入密码。您可以输入首次创建加密磁盘时设置的磁盘。
/etc/crypttab是一个配置文件,用于定义要在系统启动时设置的加密磁盘。使用nano或您喜欢的文本编辑器打开此文件。
sudo nano /etc/crypttab
将以下行添加到文件底部以在启动时映射卷。
/ etc / crypttab
. . .
secure-volume /dev/disk/by-id/scsi-0DO_Volume_volume-lon1-01 /root/.secure-key luks
中的行格式/etc/crypttab为device_name device_path key_path options。在这里,设备名称为secure-volume(或您选择的名称),路径为,密钥文件是我们刚刚在创建的,而选项指定加密。/dev/disk/by-id/…/root/.secure_keyluks
保存并关闭文件。
/etc/fstab是用于自动安装的配置文件。打开此文件进行编辑。
sudo nano /etc/fstab
在文件底部添加以下行,以在引导时自动挂载磁盘。
/ etc / fstab
. . .
/dev/mapper/secure-volume /mnt/secure xfs defaults,nofail 0 0
行中的前三个参数/etc/fstab始终为device_path mount_point file_system_type。在这里,我们具有与步骤2相同的设备路径和安装点,并且指定了XFS文件系统。您可以在fstab的手册页(man fstab)中了解其他字段。
保存并关闭文件。现在,将您的加密文件系统设置为在Droplet引导时自动安装。您可以通过重新启动Droplet来进行测试,但请谨慎使用任何正在运行的服务。
默认情况下,DigitalOcean卷未连接到Droplet时将被加密。在本教程中,您通过将文件系统放在Volume上的加密磁盘中添加了附加的安全层。您可以创建加密的磁盘,向其添加密码,然后手动或自动挂载以在Droplet中使用。
本文由美国主机侦探(www.idcspy.com)原创,转载请注明!
文章题目:DigitalOcean块存储上创建加密的文件系统教程
标题路径:http://hbruida.cn/article/cjigoe.html