Linux 登录的多因素验证

我们现在的网络实在是太脆弱了,基本都是一个密码走天下。我也因此受过伤害呀,痛定思痛,觉得还是有必要对一些重要的应用使用多因素验证。本文主要记录使用 yubikey 对 ssh 登录做动态密码验证的过程。

一直在寻找一种廉价的安全验证方法,查找了网上的很多资料,最终决定选择 yubikey 来具体的实现,经过一番测试,认为也达到了预期的要求。yubikey 是一个类似于 U 盘的一个小硬件,其原理大致是模拟 usb 键盘,可方便的输入一些复杂的字符串,以此来达到提高安全性的目的。yubikey 支持 yubico 公司的验证服务器实现动态密码、自己架设验证服务器实现动态密码、静态密码、挑战-响应模式这样几种方式来实现验证,并且提供专门的配置工具。

早期有实现过通过自建的验证服务器来实现校验的功能,大致是按照官方提供的教程,配置 yubiksm 以及 yubival 来实现验证。这次换用官方推荐的第三方工具 yubiserve,费了很大的力气,是实现了 yubikey 的校验,但与 ssh 登录的结合失败,猜测还是 yubiserve 方面的原因。

后面又更换了 yubico 官方出的 yubiadmin 组件,看说明是这个是集成了 yubiksm 以及 yubival 功能的 web 管理系统,让大家更方便简单实用的,结果在整个编译安装的过程中,发现我的系统根本没法正常执行,不断的出现各种报错。在修改了三五个 bug 之后,实在失去了耐心,放弃了 yubiadmin 的使用。

那么结合目前的情况来看,使用 yubikey 进行 ssh 的多因素验证,最简单的方法是通过官方的云验证服务器,默认新购的 yubikey 就可以支持,配置最为简单。如果考虑到网络的环境等因素,想要自行搭建验证服务器的话,可以结合 yubiksm 和 yubival 根据官方的教程来部署,本地只需要配置 pam_yubico 的相关模块就好。

参考资料:
yubikey-ssh-2-factor-authentication-with-ubuntu
Deploying PHP Validation Server and KSM
入手yubikey,一点小心得

3 thoughts on “Linux 登录的多因素验证

  1. Kyle

    網主你好 , 我正在使用 UBUNTU 14 及YUBIKEY , 請問如果想自行建立 SSH驗證SERVER , 是否需要安裝 yubiksm 和 yubival?

    回复
    1. nowo 文章作者

      当年研究那个的时候费了很大的力气,现在很久不用了,yubikey 都一直闲置那里,我忘得差不多了。我印象中 yubiksm 和 yubival 似乎都花了比较多时间通过的,应该需要那个吧,不过我这个只是印象,当不得准,你可以自己参考一下,另外多找找网上的一些资料看。

      回复

发表评论

电子邮件地址不会被公开。 必填项已用*标注