社区编辑申请
注册/登录
如何借助LinOTP为Apache2保驾护航? 译文
运维 服务器运维
本文介绍了使用一次性密码为Apache 2设置双因子验证的方法。我们假设,你已经设置好了自己的LinOTP服务器。你可以下载Debian和Ubuntu程序包,也可以使用Python软件包仓库(Python Package Index)来安装系统。

本文介绍了使用一次性密码为Apache 2设置双因子验证的方法。我们假设,你已经设置好了自己的LinOTP服务器。你可以下载Debian和Ubuntu程序包,也可以使用Python软件包仓库(Python Package Index)来安装系统。它提供了一个便捷的方法,可以创建用于演示的服务,并让服务运行起来(检查确保是***版本)。

下载

一次性密码(OTP)验证使用Apache验证提供程序来完成,用于Apache基本验证。该提供程序可以从github网站下载(https://github.com/lsexperts/mod_authn_linotp)。

或者你可以直接在命令行下载该软件包:

wget https://github.com/lsexperts/mod_authn_linotp/zipball/master -O mod_authn_linotp.zip

安装

你在Ubuntu或Debian系统上至少需要下列软件包,来编译Apache模块:

dpkg -i libtool automake autoconf build-essential libcurl4-gnutls-dev

现在,对该模块解压缩,进入目录:

unzip mod_authn_linotp.zip

cd lsexperts-mod_authn_linotp-3583b90

安装过程在文件INSTALL中也加以描述:

libtoolize

aclocal

automake --add-missing

autoconf

./configure

make

sudo make install

你还可以使用checkinstall,创建一个Debian软件包,以便更容易处理软件包。

sudo checkinstall make install

现在,该模块位于/usr/lib/apache2/modules/mod_authn_linotp.so。

激活模块

sudo a2enmod authn_linotp

#p# 配置Apache

现在,你可以为你的Apache目录和位置使用双因子验证机制。你还可以更细致地查看文件README,了解所有的配置参数。

该模块使用cookie来缓存成功的验证信息。cookie经过了加密,所以你需要创建密钥:

pwgen 24 1

现在你可以保护任何Directory(目录)或Location(位置)范围,就像这样:

AuthType basic

AuthName "LinOTP protected"

AuthBasicProvider LinOTP

Require valid-user

LinOTPValidateURL https://172.16.200.148/validate/simplecheck

LinOTPCookieSecret eenohJaen6CeexaH9yieTiel

LinOTPSSLCertVerify Off

LinOTPSSLHostVerify Off

 

使用LinOTPTimeout,你就可以定义cookie应该在几秒内有效;因而过了这个时间,就应该要求用户再次输入一个新的一次性密码(OTP)。

请格外注意:在LinOTPValidateURL中使用localhost可能会导致curl错误,所以请使用正确的IP或FQDN(完全符合标准的域名)。

祝验证过程顺利!

原文链接: http://www.howtoforge.com/how-to-secure-apache2-with-linotp

责任编辑:张玉 来源: 51CTO

编辑推荐

运维工作到底是做什么的?给1到10年运维人的修仙指南Windows下的几种提权方式的粗略汇总推荐 | 10款优秀的SQL Server服务器监控工具9款优秀网络,服务器和应用程序监控工具
我收藏的内容
点赞
收藏

51CTO技术栈公众号