OPEN TEXT ETX 谷歌双因素认证

虚拟化系统 0 347 团子精英 收藏

一、安装谷歌认证工具

在Etx Server端安装google-authenticator认证工具

Centos7/Rhel7上的安装包叫"google-authenticator-1.04-1.el7.x86_64.rpm"

rpm –ivh google-authenticator-1.04-1.el7.x86_64.rpm

安装后查看是否存在"/usr/lib64/security/pam_google_authenticator.so"此文件,此文件是做etx双因素认证的关键。

二、配置认证服务器

找一台服务器,配置好集中认证需要的各类信息后,通过"id xxx"可以查询到相关用户之后即可。

配置etx node,并加入到etx server节点中。

此处注意,加入过程中选择"AUTH - 本机/PAM 身份验证"

如果你需要将此服务器也作为node节点使用,其他也可以选择并配置

三、配置google认证

新建/etc/pam.d/exceed-connection-node 文件,注意,此文件名不能修改

内容如下

#%PAM-1.0
auth       required    pam_sepermit.so
auth        required     pam_google_authenticator.so
auth       substack     password-auth
auth       include      postlogin
# Used with polkit to reauthorize users in remote sessions
-auth      optional     pam_reauthorize.so prepare
account    required     pam_nologin.so
account    include      password-auth
password   include      password-auth
# pam_selinux.so close should be the first session rule
session    required     pam_selinux.so close
session    required     pam_loginuid.so
# pam_selinux.so open should only be followed by sessions to be executed in the user context
session    required     pam_selinux.so open env_params
session    required     pam_namespace.so
session    optional     pam_keyinit.so force revoke
session    include      password-auth
session    include      postlogin
# Used with polkit to reauthorize users in remote sessions
-session   optional     pam_reauthorize.so prepare

四、配置etx认证

在ETX Server端,打开服务器管理器界面,找到"站点设置","身份验证"选项卡

"身份验证类型"选择PAM

 

五、生成二维码

为了方便快速生成一个可直接使用的二维码,建议安装qr工具

具体可参考https://github.com/lincolnloop/python-qrcode/

如果是centos7

可以直接用yum install python-qrcode-5.0.1-1.el7来安装,如果是redhat7,则需要手动下载安装包进行安装

编写一个脚本

#!/bin/bash
##-------readme
##- This script use for googleauth make qrcode .
##- Default qr code is not good
##- This script can make a png qr code
secret=`sudo -u $1 google-authenticator  -t -d -f -i "GoodleAuth" -l "$1" -u -w3 | grep secret|grep key|awk -F " " '{print $6}'`
/usr/bin/qr "otpauth://totp/"$1"?secret="$secret"&issuer=OpenEtx" > $1_Google_qr.png
echo "User "$1" Secret Code is:" $secret 
echo "The Qr code is username_Google_qr.png"

使用方法

使用root用户执行  ./google.sh username

此时会生成一个username_Google_qr.png的文件,及User username Secret Code is: xxxx安全码

将这两个内容发给用户即可。

 

六、配置谷歌验证客户端


手机端下载谷歌验证器或者使用宁盾令牌都可以,其他兼容google身份验证器的工具也接收。

使用手机客户端扫描接收到的二维码。绑定成功。登录测试

七、建议

1、建议使用独立认证服务器

2、建议可以将qr码和安全码配置一个sendmail直接发送给用户

3、不建议认证服务器配置任何挂载项

4、也可以做如下修改,防止用户登录到这台认证服务器。

    修改/etc/ssh/目录下面的sshd_config

    找到PasswordAuthentication 将设置成no

    找到ChallengeResponseAuthentication 将设置成yes

    找到usePAM 将设置成yes

相关推荐:

网友留言:

您需要 登录账户 后才能发表评论

我要评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。
验证码