使用privacyIDEA管理Yubikeys进行LUKS加密
由Yubico
这个如何与你的LUKS系统混合。 所以请在实验室环境中进行,否则请确保有备份以避免烦人的数据丢失。
之前我展示了如何在挑战响应模式下使用Yubikey保护您的LUKS加密硬盘。
但是如果你有很多Yubikeys呢? 或者如果您有不同的笔记本电脑,那是不同的用户使用的?
所以今天我们将展示如何使用privacyIDEA来管理许多笔记本的许多yubikeys 。 privacyIDEA是用于双因素身份验证的身份验证系统,通常使用OTP设备。 在最近的版本中,privacyIDEA开始不仅应答身份验证请求,还增强了能够定义客户端计算机和添加信息的功能,哪个身份验证设备可以用于客户机上的应用程序。
每个机器可以分配几个令牌,用于某些应用程序。 根据应用程序,必需的身份验证信息将被传送到此客户端,以便应用程序可以使用此令牌进行访问。
今天,privacyIDEA支持两种应用程序类型:luks和ssh。 某些令牌类型与LUKS工作良好,其他令牌可以与SSH协同工作。 模块化设计允许轻松创建新的应用程序类型。
如果应用程序出现问题,生成这样的令牌的响应将被转移。
这个想法最初是由我在2014年为Chemnitzer Linuxtage发起的。您可以在这里找到一份德国文章。
设置它
您需要安装privacyIDEA。 您可以按照不同的指南来做到这一点。 请确保安装了最新版本1.2.3。 在Ubuntu 14.04你可以做:
add-apt-repository ppa:privacyidea/privacyidea
apt-get update
apt-get install privacyidea
您还应该安装privacyideaadm(1.2.2+),命令行管理客户端。 您需要将其安装在您的privacyidea服务器和客户端计算机上。 在Ubuntu你可以做:
add-apt-repository ppa:privacyidea/privacyidea
apt-get update
apt-get install privacyideaadm
创建一台机器
首先,您需要在privacyidea中创建一个客户机。 您可以使用客户机或服务器本身的命令行客户端来执行此操作:
privacyideaadm -U https://172.16.200.139:5001 --admin=admin@admin -C createmachine --name 1stclient --ip 172.16.200.105
172.16.200.139是您的privacyIDEA服务器,您的客户机是172.16.200.105 。 name参数应该包含客户端的主机名和ip的IP地址,客户端用来与privacyIDEA服务器通信。
创建一个Yubikey
创建一个由privacyidea管理的yubikey:
privacyideaadm -U https://172.16.200.139:5001 --admin=admin@admin -C yubikey_mass_enroll --yubiCR
将Yubikey分配给客户端
现在,privacyIDEA知道yubikey,您可以将此令牌分配给客户机:
privacyideaadm -U https://172.16.200.139:5001 --admin=admin@admin -C machine_addtoken --name=1stclient --serial=UBOM00508326_2 --app=luks -option=slot=7 --option=partition=/dev/sda3
现在privacyIDEA知道,这个yubikey将在客户机1stclient上与LUKS一起使用。 privacyIDEA对LUKS有其他设置,它知道这个标记应该被注册到socket7用于分区/ dev / sda3。
安装LUKSsocket
请注意,您还需要安装yubikey-luks。 否则,您将把yubikey信息写入一个关键socket,但是grub引导加载程序将不知道如何使用它。 您可以在这里找到它,或者您可以将其安装在ubuntu机器上:
apt-get install yubikey-luks
现在,您可以从privacyIDEA服务器获取身份验证信息:
privacyidea-luks-assign -U https://172.16.200.139:5001 --admin=admin@admin --name=1stclient --clearslot
这将要求您提供一个Yubikey密码,这实际上是启动时的挑战。 privacyIDEA服务器将提供对此密码的响应(挑战)。 该响应以密码形式写入LUKSsocket。 在注册过程中,您需要提供一个现有的LUKS密码,以便可以编写新的socket。
将privacycidea-luks分配到某种cron作业中,可以从privacyIDEA中远程控制LUKS的身份验证。 每当您将新的令牌和应用程序分配给此机器时,它将创建一个新的LUKSsocket。
进程还不顺利。 例如,从机器上删除令牌不会从本地LUKS中删除该socket。 但是,一旦将另一个令牌分配给同一个socket,此socket将被新令牌覆盖。
想想,尝试一下,改进它。
直到:快乐认证和数据保护!