Google 发布了 HIBA,一个用于基于证书的身份验证的 OpenSSH 插件

Google 发布了 HIBA(基于主机身份的授权)项目的源代码,该项目提出实施一种额外的授权机制,用于组织通过 SSH 与主机连接的用户访问(在身份验证时检查是否允许访问特定资源)使用公钥)。通过在 /etc/ssh/sshd_config 中的 AuthorizedPrincipalsCommand 指令中指定 HIBA 处理程序来提供与 OpenSSH 的集成。该项目代码是用 C 语言编写的,并在 BSD 许可证下分发。

HIBA 使用基于 OpenSSH 证书的标准身份验证机制来灵活、集中地管理与主机相关的用户授权,但不需要定期更改连接主机一侧的authorized_keys 和authorized_users 文件。 HIBA 不是将有效公钥和访问条件的列表存储在authorized_(keys|users) 文件中,而是将有关用户-主机绑定的信息直接集成到证书本身中。特别是,已经提出了主机证书和用户证书的扩展,它们存储用于授予用户访问的主机参数和条件。

主机端的检查是通过调用 AuthorizedPrincipalsCommand 指令中指定的 hiba-chk 处理程序启动的。该处理器对集成到证书中的扩展进行解码,并根据它们做出授予或阻止访问的决定。访问规则由证书颁发机构 (CA) 级别集中确定,并在证书生成阶段集成到证书中。

在认证中心一侧,维护着可用权力的一般列表(允许连接的主机)以及被允许使用这些权力的用户列表。为了生成具有有关凭证的集成信息的认证证书,建议使用 hiba-gen 实用程序,并且创建证书颁发机构所需的功能包含在 iba-ca.sh 脚本中。

当用户连接时,证书中指定的权限由证书颁发机构的数字签名进行确认,这使得所有检查完全在连接的目标主机一侧执行,而无需求助于外部服务。认证 SSH 证书的证书颁发机构的公钥列表是通过 TrustedUserCAKeys 指令指定的。

除了直接将用户链接到主机之外,HIBA 还允许您定义更灵活的访问规则。例如,位置和服务类型等信息可以与主机相关联,并且在定义用户访问规则时,可以允许连接到具有给定服务类型的所有主机或指定位置的主机。

Google 发布了 HIBA,一个用于基于证书的身份验证的 OpenSSH 插件
Google 发布了 HIBA,一个用于基于证书的身份验证的 OpenSSH 插件


来源: opennet.ru

添加评论