阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

大神教你:ownCloud的双因素身份验证教程

24次阅读
没有评论

共计 2854 个字符,预计需要花费 8 分钟才能阅读完成。

导读 ownCloud 是一种系统,用于存储您自己或您公司的数据,而不是在别人的计算机(也称为“云”)上,而在您自己的计算机上可以控制。privacyIDEA 是一种用于管理身份验证设备的系统,用于您自己的网络中的两个身份验证,而不是任何身份提供者,从而保持您的身份和用户身份也受到您的控制。
先决条件

我假设你已经有一个 ownCloud 8 系统并运行。那里有一些很好的例子。你也可以看一下在本网站上如何安装 ownCloud 8 和 nginx。

另外我假设你正在运行一个 privacyIDEA 系统。这个方法不包括 privacyIDEA 的安装。您还可以在 Howtoforge 中找到如何在 CentOS 上安装 privacyIDEA,也可以使用文档中的安装说明。

请注意:您不需要在同一台服务器上运行 privacyIDEA 和 ownCloud。在一个服务器上安装 privacyIDEA 作为身份验证系统,并根据此 privacyIDEA 配置其他应用程序(如 ownCloud),您将释放此类设置的全部功能。这还包括您不需要管理 ownCloud 的身份验证设备,您的第二个应用程序的身份验证设备和第三个应用程序的身份验证设备等优点。你会看到,如果你有几个应用程序和两个以上的用户,这个解决方案证明了它的优势。但当然也可以在较小的情况下工作。

请注意:ownCloud privacyIDEA 应用程序处于早期开发阶段。所以您提供的任何反馈都非常感谢,并将有助于改进此工具。您可以通过 github 问题或通过 Google 群组来提供反馈意见。

准备数据库

privacyIDEA 有一个条件。自己的 Cloud 用户必须以 privacyIDEA 或其他方式知道,您在 privacyIDEA 中分配令牌的用户也必须在 ownCloud 中可用。

您可以运行用户位于 LDAP 目录中的安装程序,但在本示例中,我们仅使用现有的 ownCloud SQL 用户表。

请注意:如果您在不同的服务器上运行 privacyIDEA 和 ownCloud,则需要授予对 SQL 数据库的访问权限。在 MySQL / MariaDB 的情况下,您需要修改 /etc/mysql/my.cnf 中的绑定地址,如下所示:

bind-address = 0.0.0.0

此外,您需要根据 MySQL 添加访问权限:

grant all privileges on owncloud.* to "ocuser"@"privacyIDEA-Server" identified by "password";

现在,MySQL 用户“ocuser”可以从 privacyIDEA 服务器访问 ownCloud 服务器上的数据库。

警告:到 MySQL 服务器的网络流量未加密。如果您运行此方案,我们非常建议您设置 TLS。您还可以在本网站上找到一些使用 SSL 设置 MySQL 的 howtos。

创建用户解析器

现在我们将 privacyIDEA 连接到 ownCloud,以便 privacyIDEA 知道用户。我们在 Config→Users 创建一个新的用户解析器。
大神教你:ownCloud 的双因素身份验证教程

大神教你:ownCloud 的双因素身份验证教程

您可以点击 ownCloud 应该预设数据库属性映射中所有必需字段的按钮。

然后,您可以单击测试 SQL 解析器来查看,如果一切顺利。

创建领域

现在您可以通过 Config→Realms 从解析器创建默认域。
大神教你:ownCloud 的双因素身份验证教程

您现在应该在“用户”选项卡中查看 ownCloud 用户,并可以为这些用户注册令牌。

注册 Google Authenticator

privacyIDEA 支持各种令牌,您可以在这里找到。

我们将以简单的例子快速注册 Google Authenticator。

转到用户视图,选择一个用户来查看用户的详细信息。在这里您可以点击按钮注册新令牌。
大神教你:ownCloud 的双因素身份验证教程

在注册对话框中,您可以选择令牌类型,并根据输入不同详细信息所需的令牌类型。但是在这个例子中,我们使用默认的 token 类型 HOTP。在页面的底部,您可以输入 OTP PIN。

单击注册令牌。
大神教你:ownCloud 的双因素身份验证教程
该令牌已注册,您会看到一个 QR 码,您可以使用 Google Authenticator App 进行扫描。
大神教你:ownCloud 的双因素身份验证教程

其他令牌类型以其他方式注册,这超出了本教程的范围。有关更多信息,请参阅 privacyIDEA 文档。

现在我们完成了,因为 ownCloud 用户分配了一个令牌。您可以重复此过程,以进一步为自己的 Cloud 用户。

获取 ownCloud 应用程序

首先,您需要下载 ownCloud privacyIDEA 应用程序。

您可以在这里下载 App。您需要将目录 user_privacyidea 复制到您自己的 Cloud 目录 apps /。假设你把 ownCloud 安装到 / var / www / owncloud,这样你就可以得到一个结构了

root@owncloud:~# ls /var/www/owncloud/apps/user_privacyidea/ -l
-rw-rw-r-- 1 root root 1671 Jun 25 15:05 adminSettings.php
drwxrwxr-x 2 root root 4096 Jun 25 15:17 appinfo
drwxrwxr-x 2 root root 4096 Jun 25 15:17 img
drwxrwxr-x 2 root root 4096 Jun 25 15:17 js
drwxrwxr-x 2 root root 4096 Jun 25 15:17 lib
drwxrwxr-x 2 root root 4096 Jun 25 15:17 templates

privacyIDEA 应用程序实现为 ownCloud 用户后端,并将作为现有用户后台的覆盖图,以便能够跳转到身份验证请求,以将第二个因素添加到登录。

配置 ownCloud App

转到应用程序→不启用并启用应用程序。
大神教你:ownCloud 的双因素身份验证教程

然后,您可以访问您的用户→管理员来配置 privacyIDEA 应用程序。
大神教你:ownCloud 的双因素身份验证教程

您需要提供 privacyIDEA 服务器的 URL。您应该运行带有受信任证书的 privacyIDEA 服务器。如果在安装过程中没有可信任的证书,可以取消选中 VerifyID SSL 服务器的 SSL 证书。

为了避免锁定您,您可以勾选复选框,还允许用户使用其正常密码进行身份验证。在这种情况下,如果对 privacyIDEA 的身份验证失败,则用户将针对底层的 ownCloud 用户后端进行身份验证。在生产性使用中,您应该取消选中此复选框。

桌面客户端当然会出现一次性密码问题。如果您使用这样的客户端,您应该勾选允许使用静态密码访问 remote.php 的 API。在这种情况下,来自桌面客户端(由 remote.php 标识)的身份验证请求将不会针对 privacyIDEA 而是针对底层用户后端进行身份验证。

最后,如果一切正常,您可以通过勾选“使用 privacyIDEA”复选框来激活双因素身份验证。

登录到 ownCloud

激活 privacyIDEA 应用程序后,ownCloud 的登录屏幕不会更改。

要登录,您需要输入用户名,并在密码字段中输入您的 Google 身份验证器生成的 OTP 密码和 OTP 值。

阿里云 2 核 2G 服务器 3M 带宽 61 元 1 年,有高配

腾讯云新客低至 82 元 / 年,老客户 99 元 / 年

代金券:在阿里云专用满减优惠券

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2024-10-28发表,共计2854字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中