如何配置Apache以使用Radius进行双因素身份验证

如何配置Apache使用Radius进行双因素身份验证

本文档描述了如何使用mod_auth_xradius或mod_ldap向Apache 2.x添加WiKID双因素身份验证 。 我们的配置如下:

  • Fedora Core 5
  • Apache 2.2.2-10
  • mod_auth_xradius。 我们建议使用mod_auth_xradius而不是mod_auth_radius。 mod_auth_xradius的文档可以在README文件中找到
  • 对于双因素认证,我们使用WiKID,在这种情况下是商业版本。

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

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

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

那就是WiKID服务器。

现在让Apache准备好双因素身份验证。 我们需要为Apache 2.x获取并安装mod_auth_xradius。 首先我们需要安装httpd-devel,所以我们可以编译mod_auth_xradius:

# yum install httpd-devel
# wget http://www.outoforder.cc/downloads/mod_auth_xradius/mod_auth_xradius-0.4.6.tar.bz2
# bunzip2 mod_auth_xradius-0.4.6.tar.bz2
# tar -xvf mod_auth_xradius-0.4.6.tar
# cd mod_auth_xradius-0.4.6
# ./configure --with-apxs=/sbin/apxs
# make
# make install

一定要检查apxs的位置。

现在你需要再添加两件事情给你的httpd.conf 。 先添加

LoadModule auth_xradius_module modules/mod_auth_xradius.so
AuthXRadiusCache dbm conf/authxcache

查看xradius文档以了解其他选项 。 缓存认证结果很重要。 如果没有,每个http请求将生成一个认证请求,每次尝试验证一次性密码,除了第一次尝试将失败。

 
<directory "/var/www/html/radius">
   AuthType Basic
   AuthName "Please enter your username and WiKID one-time passcode for entry to this site."
   AuthXRadiusAddServer "wikid_server_address:1812" "wikidserver_shared_secret"
   AuthXRadiusTimeout 7
   AuthXRadiusRetries 2
   require valid-user
</directory>

您将要将wikid_server_address更改为WiKID服务器的IP地址,将wikidserver_shared_secret更改为WiKID服务器中配置的共享密钥。

您可以在.htaccess文件或目录指令中输入相同的信息,如果您愿意,取决于您要通过双因素身份验证保护的信息的位置。 我们使用location指令将虚拟目录放在双因素身份验证之后。 有关更多信息

链接

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

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

支付宝扫一扫打赏

微信扫一扫打赏