首页 > 系统管理 > 使用Google Authenticator构建安全的堡垒机
2015
02-09

使用Google Authenticator构建安全的堡垒机

前言:

作为一名运维工程师,我们时时刻刻不在考虑着如何使得服务器更加安全,操作更加方便,网站更加稳定,对于规模稍大点的公司都有堡垒机,但是多数都是 使用key的方式通过堡垒机登陆的远程服务器上,这样如果我们堡垒机被黑了,,那后果可想而知,所以堡垒机的安全关系着公司的命脉!

本文使用Google Authenticator生产的动态验证码无疑是对ssh安全的一个补充,好了废话不多说,开始上干货了。

在堡垒机(centos5.9)上操作如下:

一、基础组件安装:

yum -y install mercurial pam-devel

二、安装google authenticator PAM插件

  • wget –no-check-certificate https://google-authenticator.googlecode.com/files/libpam-google-authenticator-1.0-source.tar.bz2
  • 提示:建议大家翻墙下载,不然有可能下载不了
  • tar xf libpam-google-authenticator-1.0-source.tar.bz2 && cd libpam-google-authenticator-1.0 && make && make install

三、SSH配置调用google-authenticator模块

  • SSH登录时调用google-authenticator模块,编辑:
    /etc/pam.d/sshd
  • 第一行添加:
    auth?????? required???? pam_google_authenticator.so
  • 修改SSH配置文件:
    vim /etc/ssh/sshd_config
  • 添加或修改以下内容:
    ChallengeResponseAuthentication yes
    UsePAM yes
  • 重启SSH:
    /etc/init.d/sshd restart

四、生成google-authenticator配置,运行:

[root@localhost ~]# google-authenticator
Do you want authentication tokens to be time-based (y/n) y

https://www.google.com/chart?chs=200x200&chld=M|0&cht=qr&chl=otpauth://totp/root@zdong.com%3Fsecret%3DVPYM52BHW2KLMYLJ
#此网址为生成的二维码,客户端扫描
 Your new secret key is: VPYM52BHW2KLMYLJ
 Your verification code is 387728
 Your emergency scratch codes are:
 30794022
 12718568
 99778770
 64203196
 69136167
#上面几行数字为应急码,无法获取验证码的时候,可以使用应急码登录
Do you want me to update your "/root/.google_authenticator" file (y/n) y
Do you want to disallow multiple uses of the same authentication
 token? This restricts you to one login about every 30s, but it increases
 your chances to notice or even prevent man-in-the-middle attacks (y/n) y
By default, tokens are good for 30 seconds and in order to compensate for
 possible time-skew between the client and the server, we allow an extra
 token before and after the current time. If you experience problems with poor
 time synchronization, you can increase the window from its default
 size of 1:30min to about 4min. Do you want to do so (y/n) y
If the computer that you are logging into isn't hardened against brute-force
 login attempts, you can enable rate-limiting for the authentication module.
 By default, this limits attackers to no more than 3 login attempts every 30s.
 Do you want to enable rate-limiting (y/n) y
[root@localhost ~]#

问题答完了,家目录中多出一个 .google_authenticator 文件(默认权限为 400),这时客户端与服务端已经配套起来了,以后不用再运行 google-authenticator 命令了,否则会重新生成一组密码。

五、验证是否是双认证

[root@112 ~]# ssh 192.168.1.149
 Verification code:
 Password:

登录的时候出现了Verification code: ,这个验证码是60秒一更新的,这就是前面说的动态密码登录。那么这个验证码在哪获得呢,安卓用户请点 击?http://soft.shouji.com.cn/down/22099.html,ios用户就请自己查找吧(因为我用的是安卓)哈哈。

六、Google Authenticator客户端安装

下载地址:http://soft.shouji.com.cn/down/22099.html

安装之后如图设置:

1234

本文使用密钥认证的,请选择输入提供的密钥,密钥来源是

[root@localhost ~]# cat .google_authenticator
 VPYM52BHW2KLMYLJ
 " RATE_LIMIT 3 30 1421124786
 " WINDOW_SIZE 17
 " DISALLOW_REUSE 47370822 47370823 47370824 47370826 47370833
 " TOTP_AUTH
 12718568
 99778770
 64203196
 69136167
 [root@localhost ~]#

输入 .google_authenticator 文件的第一行

77

点击添加之后,就会生成动态验证码了

S50113-125421

七、登录服务器验证

[root@112 ~]# ssh 192.168.1.149
 Verification code:
 Password:
 Last login: Tue Jan 13 12:49:27 2015 from 192.168.1.112
 [root@zdong ~]#
 登录成功!!!

本博客至此结束,望大家多多关注,如果遇到什么问题,可以邮件联系我!




最后编辑:
作者:tshare365
这个作者貌似有点懒,什么都没有留下。
捐 赠您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请狠狠点击

使用Google Authenticator构建安全的堡垒机》有 1 条评论

  1. tshare365 说:

    写的很详细

留下一个回复