使用Ansible自动设置加密分区



我正在寻找一种在Ubuntu/Debian Linux服务器上自动设置Ansible加密分区的方法。

  • 假设一台计算机的根目录填满了整个磁盘

  • 从这个分区中切出一块,然后制作一个新的分区

  • 使用LUKS或Truecrypt加密分区

  • 将密码短语作为剧本的输入

我是Ansible的新手,所以如果有人能告诉我从哪里开始(现有的磁盘分区角色,加密的磁盘角色等等)。我能用Ansible驱动磁盘吗?如何确保角色不会尝试创建分区两次(当再次运行配置时)。

当你想要正确地(例如幂等的和健壮的)做到这一点时,写一个Ansible角色并不像看起来那么容易。我知道这一点,因为我刚刚写了/重写了一个:)

https://docs.debops.org/en/master/ansible/roles/cryptsetup/index.html

它能够处理你想要的3个功能中的2个:

  • 使用LUKS 或Truecrypt
  • 加密分区
  • 将密码短语作为剧本的输入。我确实采用了不同的路径,使用更适合我用例的密钥文件。将来可能会支持密码短语。现在,您可以将密码短语写入一个文件,并指定为keyfile。

我决定不支持为角色本身创建分区,以降低复杂性。

虽然我没有亲自编写任何剧本来完成您正在尝试做的事情,但这里有一些资源可能会有所帮助:

有几个可用的模块可以用来管理分区:

lvol -配置LVM逻辑卷

lvg -配置LVM卷组

这里可能有更多对你有用的系统模块

没有专门针对fdisk的可见模块,但是您应该仍然能够使用命令或shell模块运行fdisk命令。如果你走这条路,你必须自己弄清楚如何使它幂等。

如果你正在寻找角色,我通常会推荐Ansible Galaxy,但在快速搜索中,我无法找到任何与你想做的事情相关的角色。

我知道没有专门用于使用LUKS或Truecrypt的Ansible模块,但您仍然应该能够使用命令或shell模块运行这些任务。

我能够在这个剧本中找到一个像样的磁盘加密示例。剧本通过将密码短语作为变量传入来处理密码短语。有几种方法可以处理剧本中的变量。我建议阅读关于变量的Ansible文档。如果您将密码存储为变量,您也可以使用Ansible Vault加密您的变量文件。

最新更新