Linux加密磁盘配置且实现自动解密

一、背景

在这里插入图片描述

最近很多人不得不忽略的一个新闻事件就是:美国NSA的黑客卑劣的入侵了我国航空七子西工大的数据,互联网安全形势从来不容乐观。尤其一些对安全敏感的场景,我们需要对敏感数据进行加密以保护其免受窥探和黑客的攻击。安全的维护人员可能了解,Linux 曾一度使用统一密钥设置Linux Unified Key Setup(LUKS)工具来实现数据加密,这也是 Linux 磁盘加密的通用标准。它将所有相关的设置信息存储在分区头部中,也同时使数据迁移变得简单。但存在一个问题,要使用 LUKS 配置加密磁盘或分区,我们需要使用 cryptsetup 工具,这让加密磁盘后读取时存在一个问题,每次系统重启或磁盘重新挂载时,都必须手动提供密码。而这对如今的生产需要,是不能满足的,于是另一种解决方案网络绑定磁盘加密Network-Bound Disk Encryption(NBDE)出现了,它 可以在没有任何用户干预的情况下自动安全地解锁加密磁盘它可以在一些 Linux 发行版中已经默认启用,如 Red Hat Enterprise Linux 7.4、CentOS 7.4 和 Fedora 24 开始,以及之后的后续版本。

二、NBDE部署配置

在这里插入图片描述
1)NBDE架构及原理

  • Clevis 框架:一个可插拔的框架工具,可自动解密和解锁 LUKS 卷
  • Tang 服务器:用于将加密密钥绑定到网络状态的服务

NBDE采用C/S架构,其中Tang 负责向 Clevis 客户端提供加密密钥,为密钥托管服务提供了一个安全、无状态、匿名的替代方案。我们可在本地网络中部署一个本地 Tang 服务器提供密钥服务。

2)部署

#服务器安装
sudo yum install tang -y
sudo systemctl enable tangd.socket --now
sudo  firewall-cmd --add-port=tcp/80 --perm
sudo firewall-cmd --reload
#客户端安装
sudo yum install cryptsetup -y
sudo yum install clevis clevis-luks clevis-dracut -y
sudo cryptsetup luksFormat /dev/vdc1  #使用 cryptsetup luksFormat 命令对磁盘进行加密。当提示时,你需要输入大写的 YES,并输入密码来加密磁盘

WARNING!
========
This will overwrite data on /dev/vdc1 irrevocably.
 
Are you sure? (Type uppercase yes):
 
Enter passphrase for /dev/vdc1:
Verify passphrase:

sudo cryptsetup luksOpen /dev/vdc1 vdd1 #使用 cryptsetup luksOpen 命令将加密的分区映射到另一个逻辑设备上

Enter passphrase for /dev/vdc1:

sudo mkfs.xfs /dev/mapper/vdd1
cryptsetup luksClose vdd1   #使用 cryptsetup luksClose 命令锁定分区

sudo vim /etc/crypttab
#启动时打开加密卷
vdd1       /dev/vdc1  none   _netdev

sudo vim /etc/fstab
/dev/mapper/vdd1   /encrypted       xfs    _netdev        1 2

#可使用curl查询tang服务器,并在tang服务器正在公告时抓住该键
curl http://$tang_server/adv

#绑定到了Tang服务器
sudo clevis bind luks -d /dev/vdc1 tang '{"url":"http://192.168.1.21"}'  #输出如下

The advertisement contains the following signing keys:
 
rwA2BAITfYLuyNiIeYUMBzkhk7M
 
Do you wish to trust these keys? [ynYN] Y #接受 Tang 服务器的密钥,并提供现有的 LUKS 密码进行初始设置
Enter existing LUKS password:

#启用 clevis-luks-askpass.path,防止非根分区被提示输入密码
sudo systemctl enable clevis-luks-askpass.path

猜你喜欢

转载自blog.csdn.net/ximenjianxue/article/details/127271726