用 Google Authenticator 加强 VPS 及 WordPress 甚至桌面电

传统地用 SSH 登录 VPS 的时候,靠的只是一串字符密码,如果密码被泄露、被猜解、被暴力枚举成功,那么 VPS 就完全暴露在坏人手中了。安全意识高一些的用户会使用公私钥代替字符来登录,但是这样的缺点是如果在陌生的电脑上想要临时登录一下,由于没有私钥,也就没办法了。传统地登录 WordPress 的时候,更是只有一个密码,如果被泄露、猜解、暴力枚举,辛辛苦苦经营的博客就完蛋了。

用 Google Authenticator 加强 VPS 及 WordPress 甚至桌面电

本文介绍如何通过 Google Authenticator 构建“物理屏障”,最大限度地阻断来自网络的密码攻击。本文假定你已经了解 Google Authenticator 的工作原理。

一、前言

虽然从小就被教导说操作系统一定要设置强劲的密码,但实际上,小时候用的大多是“远程桌面连接”默认被禁用的盗版 Windows,且在家里上网时候总是在路由器后面,没有独立公网 IP,因此就算电脑设置为空密码,也没有什么大问题。

后来,上了大学了,网络环境也有所改变:在宿舍上网的时候,电脑能分配到独立公网 IP,并且能直接从校外网络连入(甚至可以跑 Apache 玩),而我的 Xubuntu 又装了 OpenSSH Server,所以这时候密码就非常重要了,如果密码不够强劲的话,别人可以在互联网的任何一个地方通过 SSH 完全控制我的电脑。这太可怕了。

虽然不是所有人的电脑都有公网 IP 可以方便地从外网连入,但是显然 VPS 是有公网 IP 的。我以前居然没有意识到 VPS 是多么地脆弱,但是某天突然灵光一现:如果 VPS 的 root 密码被泄露、猜解或是暴力枚举,那么任何人都可以通过 ssh root@wzyboy.im 来完全控制我的网站!

这么迟才想到这一点的确比较奇怪,但是好在,目前还没有“亡羊”,赶紧先“补牢”吧。个人又非常喜欢 Google Authenticator 这种二步验证工具(以前写过文章)于是便结合 Google Authenticator 折腾出了这篇简陋但是还算安全的教程。本教程中环境默认为:

二、用 Google Authenticator 加强 SSH 登录安全性 安装相关 PMA 模块

首先需要在服务器上安装 libpam-google-authenticator 这个包。Ubuntu 11.10 及以上的官方源里自带了这个包,直接使用sudo apt-get install libpam-google-authenticator 命令便可自动解决依赖关系并安装。但是如果是 11.10 以上或者是其他发行版,就要自己的编译安装了。输入以下几条命令就行了:

sudo apt-get install apt-get install libpam0g-dev libqrencode3 #这是它依赖的两个包,各发行版里大多带了。

git clone https://code.google.com/p/google-authenticator/ #下载源代码

cd google-authenticator/libpam/

make install #编译并安装

如果用着 Ubuntu 11.10 以下又不想自己编译的话(比如 VPS 是 11.04 的我),其实也有偷懒的办法的,就是直接拿官方源里编译好的 11.10 的二进制包来充数。这回是不需要 libpam0g-dev 这个包了,直接用下面的命令就好了:

sudo apt-get install apt-get install libqrencode3 #这个包依然是要的

wget http://us.archive.ubuntu.com/ubuntu/pool/universe/g/google-authenticator/libpam-google-authenticator_20110413.68230188bdc7-1ubuntu1_amd64.deb #下载二进制包,如果是 32 位的操作系统的话请把 amd64 换成 i386

sudo dpkg -i libpam-google-authenticator_20110413.68230188bdc7-1ubuntu1_amd64.deb #安装之

配置 Google Authenticator

Google Authenticator 的服务器端已经安装好了,那么客户端呢?Android 用户请点这里安装,iOS 用户请点这里安装,其他智能手机用户也有相应的开源解决方案,请自行搜索下载。非智能手机用户暂时无解。:-( 不过,正在阅读本文的你一定早就用过 Google Authenticator 了吧?

Google Authenticator 其实是一套开源的解决方案,所以不仅在 Google 的网站上能用,在其他地方也能用的。然而,在 Google 的网站上,会直接给你一个 QR 码让你扫的,而自己配置的 Google Authenticator 则要自己生成了。

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

转载注明出处:http://www.heiqu.com/18544.html