分享好友 最新动态首页 最新动态分类 切换频道
进一步部署 Google Authenticator:Apache 模块
2024-12-29 09:18

Google Authenticator 是个好东西。它不仅可以增强 Google 账户登录的安全性,更因为它开源的特性,被部署到别的地方使用。比如 Linux PAM、WordPress 等,使用户可以借助 Google 的这套 OTP 方案,增强自己的服务器、网站和个人电脑的安全性。笔者之前就写过一篇详细的教程《用 Google Authenticator 加强 VPS 及 WordPress 甚至桌面电脑的安全性》,介绍如何把 Google Authenticator 部署到服务器、WordPress 和个人电脑上。如果你觉得这还不够安全的话,本文将会教会你如何把它部署到 Apache 里。

进一步部署 Google Authenticator:Apache 模块

一、Google Authenticator 的 Apache 模块的优势

如何增强服务器的安全性?这个问题向来都是站长们的讨论焦点。从 SSH 登录方面来说,可以限制 IP 地址登录,可以禁用密码登录(仅用公钥登录,可以用 Fail2ban 来对付它们,甚至可以把尝试暴力破解的 IP 加到 iptables 黑名单中等。但是,Web 前端怎么办?总不能限制 IP 地址访问吧?比如 WordPress 的管理后台和 phpMyAdmin 的登录页面,就是很容易遭到攻击的地方。为了防御这种人肉攻击,简单点地做法是用mod_auth_basic 或 mod_auth_digest 来进行验证,高档一点的话,可以用 mod_ssl 中的双向 TLS 认证。但是前者太简单,如果页面是 http:// 的话,密码是明文传输的,对攻击者来说十分方便的,而后者相对来说比较复杂,要自己建立并维护一个 CA,或者需要花钱去请第三方 CA 签名证书。而 Google Authenticator 的 Apache 模块 mod_authn_google 则提供一种经济、方便、简洁、有效的认证方式:动态密码认证。

相对 mod_auth_basic 来说,mod_authn_google 的密码是动态的,更不易被猜解;相对 mod_ssl 的双向 TLS 认证来说,mod_authn_google 免去了额外请第三方 CA 签名的资金和复杂的配置 CA 证书的过程的痛苦。

二、安装 mod_authn_google

由于这不是官方模块,所以必然是要我们自己来下载安装的。这个项目的主页在这里,但是它的下载列表中提供的模块是有 Bug 的,如果不想自己修复 Bug 的话,可以在这里下载到 Bug 修复后的 mod_authn_google。

注意,这个模块是在 64 位 Linux 下编译的,如果你用的是 32 位的系统,请下载源码后自行编译。

下载得到的是一个 .so 的库文件,可以使用 apxs2 脚本来安装,以 Ubuntu 等基于 APT 和 dpkg 的发行版为例,这个脚本可以通过安装 apache2-prefork-dev 包得到。

接下来便可使用 apxs2 来安装模块

各参数含义

-i
安装
-a
自动添加 LoadModule 语句,方便加载
-n authn_google
安装后模块的名字
mod_authn_google.so
刚才下载得到的模块的文件名

由于这是一个已经编译好的模块了,所以除了用脚本来自动安装,也可以手工安装

三、配置 mod_authn_google

首先要建一个供它存放认证信息的地方,比如 /etc/apache2/ga_auth,接下来编辑 /etc/apache2/mods-available/authn_google.conf 文件,以下是范例

保存退出之后,再

即可,如果没有报错的话,现在现在 mod_authn_google 应该已经在工作了,访问 /secret 的话会提示输入用户名密码,但是我们没有添加用户,所以输啥都是错的。

四、添加认证用户

认证用户是通过 Google Authenticator 提供的工具来生成认证文件的,将生成的认证文件复制到 GoogleAuthUserPath 所对应的目录即可,比如/etc/apache2/ga_auth。

如何使用 Google Authenticator 生成新用户的说明,在这篇文章中已经很清楚了,这里再提一下

  1. 使用包管理器安装 libpam-google-authenticator 这个包。以 Ubuntu Server 为例
  2. 如果之前用过 Google Authenticator,请先将 ~/.google_authenticator 文件改名备份一下。
  3. 运行

    命令,把屏幕上的 QR 码扫描到装有 Google Authenticator 的手机中,并按照提示回答几个问题,生成新的 ~/.google_authenticator 文件。

这样便生成了一个有效的用户。将家目录中新生成的 .google_authenticator 文件复制到 /etc/apache2/ga_auth 目录下,文件名为用户名,并使用

(把 wzyboy 更换为相应的用户名)更改文件权限,以确保 Apache 能读取它,便完成了一个用户的添加。如需更多用户访问,重复这些步骤即可。最后记得把家目录里的 .google_authenticator 文件改回来。

五、调试与侦错

建议在浏览器的隐身窗口中进行调试以排除 Cookies 的干扰。如果出错,可从 /var/log/apache2/error.log 中找答案。

补充:该模块在 Google Code 上的预编译文件有 Bug,不读取 Cookies,导致提示找不到 /etc/apache2/ga_auth/(null) 文件。这时一个比较搞笑的 wordaround 就是把你的用户认证信息文件重命名为 (null),然后就可以配合这个 Bug 继续工作了。此时用户名输什么都可以,密码则是要保持正确的。这倒也别有一番风味……

原文发布时间为:2014-03-06

最新文章
盘点十大豪华跑车,探寻最具驾驶乐趣的顶级豪车盛宴
1、Hennessey Venom GT:Hennessey Venom GT是美国改装厂Hennessey推出的一款超级豪华跑车,全球限量发行仅10台,享有“世界上最快的跑车”之美誉,其参考价格约在7000万元人民币左右。2、法拉利:作为世界顶级跑车品牌,法拉利以生产高性
救援金?:华文云聊app新型骗术出炉不能提出!男子步步沦陷直到倾家荡产
某天晚上,柳先生玩手机,浏览到一个网站,里面弹出一个链接被骗!不可信!细节回想就是猫腻揭开!!,在好奇心的驱使下,柳先生下载了被骗!不可信!细节回想就是猫腻揭开!!,进入之后,有被骗!不可信!细节回想就是猫腻揭开!!平台的客服来联系柳
谷歌SEO中,有合法的Back Link工具吗?
在SEO的浩瀚宇宙中,Back Link(反向链接)如同星辰般璀璨,它们不仅是网站权重传递的桥梁,更是提升谷歌搜索排名的关键。作为一名长期奋战在SEO前线的战士,我深知合法且高效的Back Link工具对于优化工作的重要性。今天,就让我们一起揭开
探访数智新重庆:5G与AI赋能产业升级的前沿实践
【环球网科技综合报道】高质量的5G网络、强大的AI能力作为新质生产力的重要组成部分,将有效赋能包括制造业在内的千行万业数字化化、智能化、绿色化转型升级,推动融合应用新业态、新模式蓬勃兴起,促进经济社会高质量发展。近日,环球网记
甘肃司法鉴定机构都有哪些?
在诉讼案件中如果涉及专业性问题,如伤残等级,就需要将相关的鉴定资料交由有资质的司法鉴定机构进行鉴定,由司法鉴定机构提供公平科学、真实可靠的鉴定结果。而想要申请司法鉴定除了要知道如何申请司法鉴定外,还必须对当地司法鉴定机构的
甘肃司法鉴定机构都有哪些?
在诉讼案件中如果涉及专业性问题,如伤残等级,就需要将相关的鉴定资料交由有资质的司法鉴定机构进行鉴定,由司法鉴定机构提供公平科学、真实可靠的鉴定结果。而想要申请司法鉴定除了要知道如何申请司法鉴定外,还必须对当地司法鉴定机构的
一键root工具有用吗?这款强力root工具带你一键root操作
如今智能手机当道,一键 root 工具饱受争议。我对其了若指掌,无人能及。它似双刃剑,是开启潜能的神器,还是潜藏危机的雷区?我将凭深厚认知,为你深度剖析其真相。一、一键 root 有用吗?直接对手机进行 root 权限设置的软件存在诸多风险
百度秒收秒排名的做法
一、何为秒收: 秒收:通俗点讲就是网站在更新了新的网站内容后百度或360等搜索引擎在短时间内快速收录内容的这么一个概念,而目前大部分网站站长都面临一个问题,就是在发布内容很久后搜索引擎却迟迟不收录,针对这个问题来分享几点我做到
内容SEO优化,百度搜索排名提升策略
百度SEO优化策略中,内容排名提升的关键在于:1. 提高质量内容,确保内容原创、有价值;2. 标题、描述、标签优化,包含关键词;3. 提高播放量、点赞、评论、分享等互动数据;4. 在内容中适当插入关键词;5. 在上传后,及时分享至各大平台,
字节反思AI对话产品局限,押注剪映即梦探索AI新形态
近期,有关字节跳动在AI产品领域的战略调整引发了广泛关注。尽管其AI对话产品豆包在过去几个月实现了用户规模的显著增长,但在使用时长、打开频次以及商业化潜力方面,仍然面临挑战。据知情人士透露,字节管理层对AI对话类产品的发展前景持
相关文章
推荐文章
发表评论
0评