一篇文章教你 Stratis 的网络绑定磁盘加密

设置 Tang 服务器

本例使用另一个 Fedora Linux 系统作为 Tang 服务器,主机名为 tang-server。首先安装 tang 包。


  1. dnf install tang

然后用 systemctl 启用并启动 tangd.socket


  1. systemctl enable tangd.socket --now

Tang 使用的是 TCP 80 端口,所以你也需要在防火墙中打开该端口。


  1. firewall-cmd --add-port=80/tcp --permanent
  2. firewall-cmd --add-port=80/tcp

最后,运行 tang-show-keys 来显示输出签名密钥指纹。你以后会需要这个。


  1. # tang-show-keys
  2. l3fZGUCmnvKQF_OA6VZF9jf8z2s

创建加密的 Stratis 池

上一篇关于 Stratis 加密的文章详细介绍了如何设置加密的 Stratis 池,所以本文不会深入介绍。

第一步是捕获一个将用于解密 Stratis 池的密钥。即使使用 NBDE,也需要设置这个,因为在 NBDE 服务器无法到达的情况下,可以用它来手动解锁池。使用以下命令捕获 pool1 密钥。


  1. # stratis key set --capture-key pool1key
  2. Enter key data followed by the return key:

然后我将使用 /dev/vdb 设备创建一个加密的 Stratis 池(使用刚才创建的 pool1key),命名为 pool1


  1. # stratis pool create --key-desc pool1key pool1 /dev/vdb

接下来,在这个 Stratis 池中创建一个名为 filesystem1 的文件系统,创建一个挂载点,挂载文件系统,并在其中创建一个测试文件:


  1. # stratis filesystem create pool1 filesystem1
  2. # mkdir /filesystem1
  3. # mount /dev/stratis/pool1/filesystem1 /filesystem1
  4. # cd /filesystem1
  5. # echo "this is a test file" > testfile

将 Stratis 池绑定到 Tang 服务器上

此时,我们已经创建了加密的 Stratis 池,并在池中创建了一个文件系统。下一步是将你的 Stratis 池绑定到刚刚设置的 Tang 服务器上。使用 stratis pool bind nbde 命令进行。

当你进行 Tang 绑定时,需要向该命令传递几个参数:

  • 池名(在本例中,pool1
  • 钥匙描述符名称(本例中为 pool1key
  • Tang 服务器名称(在本例中,http://tang-server

记得之前在 Tang 服务器上,运行了 tang-show-keys,显示 Tang 输出的签名密钥指纹是 l3fZGUCmnvKQF_OA6VZF9jf8z2s。除了前面的参数外,还需要用参数 -thumbprint l3fZGUCmnvKQF_OA6VZF9jf8z2s 传递这个指纹,或者用 -trust-url 参数跳过对指纹的验证。

【声明】:芜湖站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。

相关文章