在这个互联网高度发达的时代,我们的个人隐私和信息安全也极易受到泄露和威胁,因此,保护好我们的数据安全便成为了重中之重。然而,传统的使用工具加密单个文件或者文件夹的方式(例如VeraCrypt/eCryptfs等)过于麻烦,且极其复杂,很难被大家接受。于是全盘加密应运而生,Windows平台上的BitLocker,Linux下的LUKS,macOS平台的FileVault,都是全盘加密的最好应用。现在,新安装的Windows在支持的情况下会默认启用BitLocker,macOS也会在初始化时提醒你是否启用FileVault,而iOS则是强制启用了全盘加密,他人即使接触到了你的设备,读取了你的硬盘,在密码没有泄露的情况下,你的数据也是十分安全的。由此看来,这种无感加密的方式也即将成为主流的数据安全保护措施。
大家使用Linux的场景较多都是在VPS或者物理服务器上,这种情况下机器的硬件管理权可能并不在自己手上,如果机器上刚好有较为敏感的数据,又担心数据安全,不妨试着启用一下LUKS,对整块硬盘或者分区进行加密。这种加密是基于系统底层的块加密,效率和性能相对于文件加密有极大的提升。
前期准备
由于加密前需要格式化对应的分区,所以重要的数据请务必备份好后再进行操作。
全盘加密
标准分区
此处我们以CentOS 7系统的安装为例,演示如何在安装过程中启用LUKS加密。
首先,我们需要使用安装镜像,启动安装界面后来到磁盘分区界面。此处我们要注意,/boot
分区内存有引导文件,是不可以加密的。所以我们要将根目录与引导分区分开。如果你的服务器用途比较简单,或者容量比较小,则像图中这样简单分区,钩上加密即可。
如果你的配置非常非常非常差,只希望加密部分数据,也可以单独将其挂载出来加密(如/home
或/www
等),根分区就无需加密,达到节省性能的目的。想要灵活调整分区大小,可以参考下面使用LVM的部分。
LVM
当你的服务器储存配置比较复杂,或用于比较正式的用途,需要灵活配置储存的时候,我们可以将数据分区/home
独立出来,便于数据的管理和备份,在重装系统时也可以保留/home
中的数据。同时,使用LVM也可以灵活调整分区大小,进行合并/拆分磁盘、组建软Raid等操作。
使用了LVM后,你可以选择对整个卷组加密(推荐),也可以选择对单个分区加密,或者对不同分区使用不同的密码,下图为加密整个卷组。
完成安装后,进入系统,执行lsblk
即可看到,我们的整个LVM卷组都使用了LUKS加密,至此,全盘/分区加密基本的操作就完成了。
后续
启用了LUKS后,我们在每次启动时,都需要手动输入密码,对于服务器/电脑不在身边或者没有VNC/IPMI的情况,就很难实现远程解锁了。对于这个问题,已经有了两种优雅的远程解锁方法,我们会在后续的文章中逐一介绍。