BMC pam认证的使用

1.说明

1.1 文档参考资料

1.2 代码实现参考

可以参考一份googleTFA实例代码: https://github.com/google/google-authenticator-libpam

1.3 pam架构

在这里插入图片描述

在这里插入图片描述

2.在ubuntu上测试2FA

实验机器版本:
在这里插入图片描述
使用验证App,名称为:authenticator(苹果手机):
在这里插入图片描述
在这里插入图片描述

2.1 编译与安装以及验证

下载代码:https://github.com/google/google-authenticator-libpam. 需要提前在linux主机上安装程序:

# sudo apt-get install autoconf automake libtool
# sudo apt install libpam0g-dev
# sudo apt install qrencode

接着安装代码:

# ./bootstrap.sh
# ./configure
# make
# sudo make install

编译安装完成后,打印信息如下:
在这里插入图片描述
安装完成之后,执行命令:

# google-authenticator

可以看到QR code:
在这里插入图片描述
在这里插入图片描述
修改文件:/etc/ssh/sshd_config内容:

ChallengeResponseAuthentication yes  //默认为no

修改文件:/etc/pam.d/sshd内容:

auth required pam_google_authenticator.so

重启启动ssh服务:

# sudo /etc/init.d/ssh restart

接着登录ssh,可以看到:
在这里插入图片描述

2.2 添加nullok参数验证

在以上配置的基础上,修改文件/etc/pam.d/sshd内容为:

...
auth required pam_google_authenticator.so nullok
...

重启ssh服务:

# sudo /etc/init.d/ssh restart

此时,登录仍然需要2FA密码.
在这里插入图片描述
看一下目录 ~/.google_authenticator文件,存在以下内容:

N6DXZP4C2LHUYQSGMSWSXKCI34
" RATE_LIMIT 3 30 1728267304
" WINDOW_SIZE 17
" DISALLOW_REUSE 57608909
" TOTP_AUTH
24389978
41946909
49420241
17552925
43255031

在这里插入图片描述
删除文件~/.google_authenticator:

# sudo rm ~/.google_authenticator

重启ssh服务。再次登录,可以看到不需要2FA了。
在这里插入图片描述
当然,作为对比,可以将nullok去掉,继续本节的测试,发现是没办法登录的。

3.基于SSH实现自己的SPI内容

根据pam体系架构SSH已然将API函数实现了。如果需要增加一个新的验证功能函数,只需要实现SPI部分。

参考测试源码: https://gitee.com/wit_yuan/wityuan_pamtest

编译代码:

# make

拷贝生成的库文件:

sudo cp libpam_wityuan.so /usr/lib/x86_64-linux-gnu/security/

在文件/etc/pam.d/sshd中添加:

...
auth required libpam_wityuan.so
...

重启SSH,然后登录SSH,可以看到如下测试效果:
在这里插入图片描述

3.BMC自定义使用PAM认证

BMC实现自己的PAM认证方法,可以采取如下步骤:

  • 1.建立so,定义SPI
  • 2.在目录/etc/pam.d/下创建service文件,例如mytfa
  • 3.使用如下结构使用pam认证
pam_start()
pam_set_item()
pam_get_item()
pam_authenticate();
pam_end();
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值