如何配置Apache使用半径进行双因素身份验证在Ubuntu 12.04上

如何配置Apache在Ubuntu 12.04上使用双因素身份验证的半径

本文档介绍如何在Ubuntu 12.04上使用mod_auth_radius在Apache 2.2.22中添加WiKID双因素身份验证

还建议您考虑对值得双因素身份验证的Web应用程序使用相互的https身份验证。 强相互认证意味着目标网站以一些加密安全的方式向用户进行身份验证,阻止了大多数中间人攻击。

WiKID开源软件令牌通过从WiKID服务器检索网站的SSL证书的哈希值并比较下载的SSL证书的哈希值来执行相互验证。 如果两者匹配,令牌将启动默认浏览器到用户的目标站点。 如果它们不匹配,将显示错误,就像SSH一样。 要配置Web应用程序的相互验证,请参阅本教程

我们的配置如下:

以下是它的工作原理,当用户点击双因素保护的链接时,系统将提示输入用户名和密码。 用户在其WiKID令牌上生成一次性密码,并将其输入密码提示。 Apache将通过mod_auth_radius将用户名和一次性密码路由到WiKID服务器。 如果用户名和一次性密码与WiKID期望的一致,服务器将告诉Apache授予访问权限。 首先,我们将Apache作为网络客户端添加到WiKID强认证服务器,然后向Apache添加半径。 我假设你已经有一个WiKID域和用户设置。

因此,首先,为您的Web服务器的WiKID服务器添加一个新的Radius网络客户端:

  • 登录WiKID服务器Web界面( http:// yourwikidserver / WiKIDAdmin )。
  • 选择网络客户端选项卡。
  • 单击创建新的网络客户端。
  • 填写所需信息。
    • 对于IP地址,请使用Web服务器IP地址。
    • 对于协议,选择半径。
    • 点击添加按钮,然后在下一页输入共享密码。
    • 不要在返回属性框中输入任何内容。
  • 从终端或通过ssh,运行'stop',然后'start'将网络客户端加载到内置的WiKID radius服务器中。

那就是WiKID服务器。

现在让Apache准备好双因素身份验证。 我从一个新的Ubuntu 12.04安装开始,所以我不得不安装apache和mod_auth_radius。

$ sudo apt-get install apache2 libapache2-mod-auth-radius

Ubuntu现在有Apache的配置文件被虚拟主机分隔开。 对于这个例子,我编辑/ etc / apache2 / sites-available / default

创建一个受双重认证保护的目录。 在这种情况下, / secure 。 输入到您的站点 - 可用/默认值

<IfModule radius_auth_module>
  AddRadiusAuth 10.100.0.109:1812 apache_secret 5:3
  AddRadiusCookieValid 5
</IfModule>
<Location /secure>
  AuthType Basic
  AuthName "WiKID two-factor authentication for default site"
  AuthBasicProvider radius
  AuthRadiusCookieValid 5
  AuthRadiusActive On
  require valid-user
</Location>

注意radius_auth_module。 要验证模块的加载是否使用此命令:

 sudo apachectl -M | grep radius

您将要将wikid_server_address更改为WiKID服务器的IP地址,将wikidserver_shared_secret更改为WiKID服务器中配置的共享密钥。 请注意,AddRadiusAuth行以5而不是5:3结尾。 稍后设置的3是尝试使用密码的次数。 对于一次性密码,我们只想让他们尝试一次,所以我们把它留空。 5是5秒钟。 AuthRadiusCookieValid指令设置为60分钟。

这应该是你需要的所有。 您可以使用.htaccess文件,但这是皱眉。 位置方法被认为更安全。

链接

相关教程

赞(52) 打赏
未经允许不得转载:优客志 » 系统运维
分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏