无标题文档
wdCP系统 (介绍,功能特性,运行环境,安装说明,演示,常见问题,使用教程) wdCDN系统 (介绍,功能特性,运行环境,安装说明,演示,常见问题,使用手册)
wdOS系统 (介绍,功能特性,运行环境,安装说明,演示,常见问题,使用教程) wdDNS系统 (介绍,功能特性,运行环境,安装说明,演示,常见问题,使用手册)
注册 发贴 提问 回复-必看必看 wddns免费智能 DNS 开通 本地或虚拟机使 用wdcp 一键包在mysql编 译时"卡住"
【300G高防】双线 无视攻击 wdcp官方技术支持/服务 阿里云8折优惠券 无敌云 腾讯云优惠中,现注册更有260代金额券赠送
返回列表 发帖
提问三步曲: 提问先看教程/FAQ索引(wdcp,wdcp_v3,一键包)及搜索,会让你更快解决问题
1 提供详细,如系统版本,wdcp版本,软件版本等及错误的详细信息,贴上论坛或截图发论坛
2 做过哪些操作或改动设置等

温馨提示:信息不详,很可能会没人理你!论坛有教程说明的,也可能没人理!因为,你懂的

[教程] 教你如何打造安全的Linux SSHotp认证【二维码认证】

本帖最后由 samly 于 2014-11-24 11:03 编辑

采用 OTP + 密码作为 SSH 的认证方案以保证安全性,这里就简单描述一下实现方案。我们采用的软件是 Google Authenticator,其客户端实现支持 Android,iOS,BlackBerry 系统。

在服务器上执行下面的操作:


# wget

http://www.linuxcto.com/dev/libpam-google-authenticator-1.0-source.tar.bz2

# tar -xvf libpam-google-authenticator-1.0-source.tar.bz2 # cd
libpam-google-authenticator-1.0

# make

# make install

然后分别拷贝 pam_google_authenticator.so 和 google-authenticator 到 /lib/security/ 和 /usr/bin/ 目录。之后编辑 /etc/pam.d/sshd 文件,在该文件的最前面插入一行:


1

auth       required     pam_google_authenticator.so



至此服务端的配置完成。需要注意的是在这个操作之后如果用户没有做公钥认证的配置会导致用户无法登陆系统。解决办法有多种:基于安全起见可以强制用户在管理员的协助下配置公钥认证方式登录系统;或者在上面的配置项后设置 pam_google_authenticator.so 的选项为 nullok,这样用户在没有做 OTP 相关的设置时可以先用密码登录系统来进行相应的操作。

如果 SSH 服务配置了只允许公钥认证,则需要修改 /etc/ssh/sshd_config 文件的配置项为:

1
2

ChallengeResponseAuthentication yes
UsePAM yes



并重启 SSH 服务以支持 OTP 和密码认证。

客户端需要每个用户登录到系统之后进行相关的配置。用户可以直接输入 google-authenticator 后按提示操作即可,或者直接用下面的命令:


1

$ google-authenticator -l test@knownsec.com -t -d -r 3 -R 30 -w 3



google-authenticator -h 能看到可用的参数。上面命令用到的参数解释如下:

-l 设置移动设备上的程序对应的 OTP 码的标签,便于区分不同的应用。
-t 设置采用基于时间的验证。相应的也可以 -c 参数采用基于计数的验证。
-d 禁止重用基于时间的验证码
-r 限制登录频率
-R 设置登录频率限制的时间间隔
-w 设置时间窗的大小,主要在移动设备的时间不是准确同步的情况下比较有用
如果系统安装了 qrencode 软件,google-authenticator 可以直接输出一个二维码供移动设备扫描录入(见下图),否则用户需要根据其输出来手工进行相应的设置。


剩下的就是验证测试,祝顺利!
P.S. 由于系统配置以及软件版本等的不同,本文中提到的配置并不能覆盖所有的环境。准确的配置需要参考官方文档并结合实际的系统进行调整。
P.P.S. 显然,本文中提到的 OTP 认证并不局限于 SSH,其他任何支持 PAM 认证方式的软件也都可以使用。


【教官博客】http://www.linuxcto.com/204.html

make报错的请先:
yum install pam-devel make gcc-c++ wget
Ubuntu:
apt-get install libpam0g-dev make gcc-c++ wget

TOP

返回列表