Linux双因素身份认证大全(ssh + console + 图形界面)

仓廪实则知礼节,衣食足则知荣辱。这篇文章主要讲述Linux双因素身份认证大全:ssh + console + 图形界面相关的知识,希望能为你提供帮助。
对于咱们日常运维人员来讲,Linux应该是经常打交道的吧(如果不是,可能不是运维,是维修...开个玩笑),Linux在机房里面的地位就像Windows在办公空间里的地位牢不可破,各类软件的部署首选就是Linux!Linux运维常用的登录入口有3个:
Ssh、console、图形界面(如果有)。
为了更加安全的运维,通常会采用双因素身份认证系统动态口令做登录加固,下面简单聊下针对这3个入口如何做双因素身份认证加固?

首先会部署一套双因素身份认证系统,做账号和令牌的一一绑定、令牌激活等工作,通过管理令牌;
然后在Linux主机部署pam_radius插件,做动态口令输入框;
最后修改Linux文件,分别使ssh、console和图形界面调用双因素认证模块;
是不是很简单?好吧,我拿centos7.8(安装gnome)做个案例:

1、双因素认证服务端这边我是用的中科恒伦双因素身份认证服务,具体配置方法不便公开,可以进入中科恒伦官网,联系我们索要安装包和配置方法;
2、在Linux主机部署pam_radius插件插件里有两个包:libCkey.so 和 pam_radius_auth.so

  • 将libCkey.so放到/usr/lib64下
  • 将pam_radius_auth.so放到/usr/lib64/security下
至此插件就搞定了,是不是非常简单?
3、修改对应的文件这里需要注意下,虽然是3个入口,实际上加载的是两个文件,其中console加载的文件是“ /etc/pam.d/system-auth ”,ssh和图形界面加载的同一个文件“ /etc/pam.d/password-auth ”,所以重点需要关照这两个文件,具体如下:
配置认证服务器(这一步是共用!)?
mkdir /etc/raddb//创建raddb文件夹(名字固定)
vim /etc/raddb/server//配置认证服务器信息,“server”名字不能变
172.16.146.1321234567810
认证服务器地址共享秘钥超时时间

配置console双因素认证?
vim /etc/pam.d/system-auth

直接放修改前后对比图吧,文字描述有点费劲

△ 修改前

△ 修改后
登录效果(console)?
Login//用户名
Password//本机静态密码
CkeyPassword//动态口令

至此使用动态口令登录console,实现双因素认证。
配置ssh和图形界面双因素认证?首先需要修改 “ /etc/ssh/sshd_config ”?
# vim /etc/ssh/sshd_config
PasswordAuthentication no
ChallengeResponseAuthentication yes
UsePAM yes


然后修改“ /etc/pam.d/password-auth ”?
# vim /etc/pam.d/password-auth

此处修改方法和system-auth一致

【Linux双因素身份认证大全(ssh + console + 图形界面)】△ 修改前

△ 修改后
登录效果(ssh)?
如果是图形工具,认证方式选择:Keyboard Interactive,命令行直接ssh

1、输入用户名

2、输入本地静态密码

3、输入动态口令

登录效果(图形界面)?
1、输入用户名

2、输入本地静态密码

3、输入动态口令

至此3个登陆入口都做了双因素身份认证,实现安全访问Linux主机。
关于使用动态口令的好处,网上有很多资料,这里就不做赘述,我后续也会专门写一篇,初定《双因素身份认证动态口令技术原理及优势》供你参考!

    推荐阅读