配合sudo使用 Google Authenticator

标签: Security | 发表时间:2011-10-12 06:36 | 作者:Xin LI 圣斌
出处:https://blog.delphij.net/

Google Authenticator 是一个 TOTP(基于时间的一次性口令)实现,它采用了 RFC 4226 算法。

Google Authenticator 与 RSA SecurID 非常类似。具体来说,它使用一个随机串和以整数表达的时间作为输入去计算 HOTP(算法是 HMAC-SHA-1),然后取输出的最后几位作为一次性口令。

虽然目前已经发现了一些 SHA-1 的弱点,但目前为止还没有公开的已知算法可以从 hash 值直接高效地反推出明文信息。另一方面, HOTP 只截取 hash 的最后几位,因此,攻击者在知道可能的明文信息之后,还必须获得足够多的 TOTP 时间和 hash 值才能够进行离线验证。

在现代 Unix 系统上,通常使用 PAM 来完成系统的验证工作。在 FreeBSD 上,可以通过 security/pam_google_authenticator 来安装 Google Authenticator 的 PAM 模块。这样就可以配置 sudo 来使用它做验证了。

在 /usr/local/etc/pam.d/sudo 中,auth部分预设是这样的:

auth		include		system

这表示采用系统内建的 'system' 规则配置。我们在这后面加入强制使用 Google Authenticator 的配置:

auth		required	/usr/local/lib/pam_google_authenticator.so noskewadj

这里的 required 表示如果验证失败则认为整个验证链失败。

如果不需要用户重新输入口令,则可以用上面这行换掉include那行。

在 sudoers 中还需要配置使用口令。如果是 NOPASSWD,则系统会绕过 auth 这一部分。

需要注意的是,由于 sudo 是一个特权提升点,因此假如用可以被用户自行改动的文件作为访问控制机制,便会构成一个显然的安全漏洞。因此,对应的 Google Authenticator 配置应以 sudo 的目标用户的身份进行(此外还应在sudoers中配置 Defaults rootpw):

sudo google-authenticator

也许应该抽时间改进一下,例如把 authenticator 的修改做成 setuid 的,并实现先验证之后再改?

相关 [sudo google authenticator] 推荐:

配合sudo使用 Google Authenticator

- 圣斌 - delphij's Chaos
Google Authenticator 是一个 TOTP(基于时间的一次性口令)实现,它采用了 RFC 4226 算法. Google Authenticator 与 RSA SecurID 非常类似. 具体来说,它使用一个随机串和以整数表达的时间作为输入去计算 HOTP(算法是 HMAC-SHA-1),然后取输出的最后几位作为一次性口令.

谷歌验证:Google Authenticator

- loverty - 移动应用观察
  谷歌验证(Google Authenticator)通过两个验证步骤,在登录时为您的谷歌帐号提供一层额外的安全保护. 使用谷歌验证可以直接在用户的设备上生成动态密码,无需网络连接. 特点:自动生成QR码;支持多帐户;支持通过time-based和counter-based生成.   当用户在Google帐号中启用“两步验证”功能后,就可以使用Google Authenticator来防止陌生人通过盗取的密码访问用户的帐户.

su 与 sudo

- 亚 强 - LinuxEden开源社区-Linux伊甸园
使用 su 命令临时切换用户身份 1、su 的适用条件和威力 su命令就是切换用户的工具,怎么理解呢. 比如我们以普通用户登录的, 但要添加用户任务,执行useradd ,普通用户没有这个权限,而这个权限恰恰由root所拥. 阅读全文 | 邮件推荐 | 评论回复.

echo 与 sudo

- 肥恩 - www.kuqin.com
众所周知,使用 echo 并配合命令重定向是实现向文件中写入信息的快捷方式. 本文介绍如何将 echo 命令与 sudo 命令配合使用,实现向那些只有系统管理员才有权限操作的文件中写入信息. 比如要向 test.asc 文件中随便写入点内容,可以:. $ echo "信息" > test.asc. $ echo "信息" >> test.asc.

PlanetLab发布更先进的sudo工具

- yinseny - Solidot
普林斯顿大学PlanetLab的研究人员开发出可替代现有Unix sudo的工具Vsys(PDF). Vsys允许管理员更好的控制终端用户的访问权限. sudo则是Unix和Linux广泛使用的命令行工具. PlanetLab研究员Sapan Bhatia在上周的Usenix大会上称,Vsys类似sudo,但提供了系统资源的细粒度访问控制.

谷奥: Google = Google+

- 吞佛 - 谷奥聚合——谷奥主站+谷安 aggregator
在上周举办的Google Zeitgeist 2011大会上,John Battelle问Larry Page:在Google大部分的历史里,人们会想到搜索,那么Google品牌=搜索. 但在随后Google的发展史里,Google品牌会等于什么. Larry Page并未直面回答这个问题,至少没有从市场角度来回答.

Google宣布Google CDN

- way - Solidot
Google宣布了最新的帮助加快互联网速度的工具Page Speed Service,加快静态网页的载入速度,不支持动态网页. 在开发者注册该服务之后,可将网站的DNS入口记录指向Google,然后Page Speed Service从服务器上抓取内容,采用最佳的Web性能方案重写网页,通过Google在全球部署的服务器将内容展示给终端用户,加快网页载入速度.

Google将关闭Google Labs

- yifan - Solidot
Google宣布将关闭Google实验室,搜索巨人表示此举将帮助他们将精力集中在优先的产品项目上. Google称,关闭Google实验室意味着大部分试验项目将会被放弃,但不是每一个项目都会被抛弃. Google会将部分试验项目整合到其它产品中. Android应用程序如Google Goggles和Google Listen,则将会继续留在Android Market中.

當Google Docs遇上Google Finances

- 沒有暱稱 - 海芋小站
Google Finances是由Google所推出的一個財經服務,裡面記錄了全球的財經資訊,而如果我們要在Google文件中插入這些財經資訊,如某支股票的收盤價,開盤價等資訊,那要怎麼辦到呢. Google其實提供了非常簡單的函式,怎麼用就往下看啦. 其實在Google文件的試算表中,以插入股票為例,只要輸入「=GoogleFinance("股票代碼.tw"; "參數")」就可以了,以鴻海為例,代碼就是「2317」,記得一定要加變成「2317.tw」才可以.

Google Reader将和Google+整合

- Richard - 月光博客
  Google Reader官方博客宣布,即将对Google Reader进行重大改版,并和Google+进行整合,新版本将重新设计,包括friending、following等功能将会被删除. 之前Google Reader的社交功能是和Buzz整合,随着Buzz的关闭,Google Reader的改版有可能会和以前的Buzz一样,将关注和被关注整合到Google+中,然后用户在Google Reader的分享自动同步到Google+.