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

如何配置Apache在Ubuntu上使用双向认证的半径

本文档介绍如何在Ubuntu 8.1上使用mod_auth_radius在Apache 2.x中添加WiKID双因素身份验证 。 以前的文章描述了如何在Fedora上为apache添加双因素身份验证 。 有趣的是,已经创建了一个修补程序来更新mod_auth_radius以使用Apache 2.2+,但是,它只对Debian和Ubuntu进行了更新。 对于Fedora和其他RedHat的Linux版本,建议您使用mod_auth_xradius

还建议您考虑对值得双因素身份验证的Web应用程序使用相互的https身份验证。 强相互认证意味着目标网站以一些加密安全的方式向用户进行身份验证,阻止了大多数中间人攻击。 密码学的使用是关键。 虽然一些网站使用图像来尝试验证服务器,但应注意,任何中间人都可以简单地重播这样的图像。

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

我们的配置如下:

  • Ubuntu 8.1
  • Apache 2.2.9-7
  • libapache2-mod-auth-radius 1.5.7-8。 *注意:早期版本将无法正常工作
  • 对于双因素认证,我们使用WiKID,在这种情况下是商业版本。

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

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

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

那就是WiKID服务器。

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

$ sudo apt-get install libapache-mod-auth-radius

现在,您需要在apache2.confhttpd.conf中添加两件事情。 首先创建一个将被双因素身份验证保护的目录。 在这种情况下,整个网站都受到保护。 输入你的apache2.conf:

<Directory /var/www>
  Options Indexes FollowSymlinks
  AuthType Basic
  AuthName "WiKID RADIUS authentication"
  AuthBasicAuthoritative Off
  AuthBasicProvider radius
  AuthRadiusAuthoritative on
  AuthRadiusActive On
  Require valid-user
</Directory>

注意“AuthBasicProvider radius”指令。 这将阻止浏览器将缓存的凭据重新提交给WiKID服务器,这显然不能用于一次性密码。

现在,在httpd.conf中输入:

 
AddRadiusAuth wikid_server_address:1812 wikidserver_shared_secret 5
AuthRadiusCookieValid 60

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

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

链接

相关教程

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

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

支付宝扫一扫打赏

微信扫一扫打赏