通过Google身份验证器加强Linux帐户安全

近期接连爆出的多起重大且具深远影响的安全门事件,使得信息安全越来越受重视,个人隐私保护是一方面,考虑到国情,个人隐私不是丢失多少的问题,而是还能保留多少,很多情况下无法左右,所以多数人都是抱着无所谓的心态。不过做为系统管理员,就不能也这样想喽,自己所管理的服务器的安全可是不容小视,若有丢失,那影响可就大了。
 
同样是基于国情,我们知道国内金融等领域推出的硬件验证码颇具实效,每次使用网银时,必须要插入一个小设备,并且需要将这个设备中生成的随机验证码,做为登录的重要条件输入成功之后,才能正常使用系统功能。
 
对于屌丝管理员,我们不太可能为我们管理的服务器申请这类设备,不过,通过一些技术应用,我们可以将手机也变成一个类似随机验证码生成器(感谢Google),每次登录系统时,除了常规的用户/密码验证外,还需要绑定了指定密钥的手机上生成的验证码,才能顺利登录系统。若有此机制的话,那么即使密钥泄露,除非获取到密码的那个人,同时也拿到你的手机,否则因为它没有验证码,仍然无法登录执行破坏,系统就是安全的。同学们,动心了没有,如果好奇心没有完全泯灭的话,就继续往下看吧。

如何从Web浏览器远程监视Linux服务器和桌面
 
以我手边的某台Linux服务器为例。下载Google的身份验证模块:

# wget https://google-authenticator.googlecode.com/files/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

而后,google的验证模块就会被复制到/lib64/security目录下,而用来生成密钥的可执行程序:google-authenticator,则复制到/usr/local/bin目录下,方便调用。
 
提示:编译安装google-authenticator需要pam-devel依赖包,如果没有的话,请首先安装该依赖包哟。

比如,我们想为jss用户增加一层额外的验证机制,则先通过google-authenticator生成密钥:

[@localhost ~]$ google-authenticator 

Do you want authentication tokens to be time-based (y/n) y

首先会提示你,是否要基于时间生成令牌,选择Y,然后它会生成密钥,以及紧急状态使用的验证码(有5个,谨当无法获取验证码时使用,注意这些紧急验证码用一次就少一个的哟,所以这几个紧急验证码一定要保存好,关键时刻要派上大用场的),详细信息如下:
 
https://www.google.com/chart?chs=200x200&chld=M|0&cht=qr&chl=otpauth://totp/jss@localhost.localdomain%3Fsecret%3D3V7K2ONO55DE56SD
 
Your new secret key is: 3V7K2ONO55DE56SD

Your verification code is 424380

Your emergency scratch codes are:

96307775

87311306

56915688

84694809

27875014

然后会提示你是否要更新验证文件,必须更新啊:

Do you want me to update your "/home/jss/.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

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/8338906c1d8695c211382c9d7d237851.html