如何配置squid的双因素认证从WiKID

如何从WiKID配置Squid进行双因素身份验证

Squid是一个非常有用的软件。 它可以用作代理来减少出站流量要求或在一组Web服务器的前面,以提高整体系统速度。 用Squid网站的话来说

Squid被全球数以百计的互联网提供商使用,为用户提供最好的网络访问。 Squid优化客户端和服务器之间的数据流,以提高性能并缓存常用内容以节省带宽。 Squid还可以以各种方式将内容请求路由到服务器,以构建优化网络吞吐量的缓存服务器层次结构。
在本指南中,我们将介绍如何将Squid配置为支持来自 WiKID服务器的双因素身份验证,从而允许用户进行集中身份验证,但是它们的请求仍然可以分发以提高效率。

配置Squid

首先,配置auth_param以使用pam_squid:

auth_param basic program /usr/lib/squid/pam_auth

然后设置ACL规则:

acl pam proxy_auth REQUIRED
http_access allow pam

您将需要删除其他http_access规则。

对于测试,我配置了一个简单的设置,其中Squid在同一台服务器上加速Apache:

visible_hostname your_hostname
http_port external_IP:80 accel defaultsite=your_hostname
cache_peer 127.0.0.1 parent 80 0 no-query originserver

在这一点上,您应该使用盒子上的有效用户帐户来测试您的Squid配置,因为pam的默认设置是使用squid来使用system-auth。 开始简单并测试每个新的复杂层次总是一个好主意。

配置SAM的PAM

在这个例子中,我们将使用Pam Radius连接squid和WiKID。 有关在PAM Radius主页上安装pam_radius的优秀文档。 根据您的分布情况,您也可以找到合适的二进制文件。 在Fedora 7上编译这个没有麻烦:

# ./configure
# make
# make install

在您喜欢的编辑器中打开文件,并编辑/etc/pam.d/squid以允许Radius身份验证:

转到文件的第二行并插入以下行:

auth     sufficient   /lib/security/pam_radius_auth.so 

就在这一行之上:

auth     required     pam_stack.so service=system-auth

“足够”标签表示如果Radius认证成功,则不需要额外的身份验证。 但是,如果Radius身份验证失败,系统中的用户名和密码将起作用。 使用“必需”要求强身份验证。 因为我们只是编辑sshd文件,它不会影响终端登录。 PAM可以在不同的linux变体上有很大的不同。 请参阅操作系统的具体文档。

编辑或创建您的/ etc / raddb / server文件:

假设用户在您的Squid服务器上不具有本地帐户,则可以注释掉这些行,并在半径中添加行:

#%PAM-1.0
#auth           include         system-auth
auth required /lib/security/pam_radius_auth.so
#account                include         system-auth
account  include   /lib/security/pam_radius_auth.so

配置WiKID服务器

现在,我们将配置WiKID服务器来处理Squid的一次性密码。 此处提供了其他WiKID安装文档。

使用WiKIDAdmin浏览器界面登录WiKID服务器,然后单击“域”选项卡(如果您已经有域设置,则可以跳过此步骤。)

点击创建一个新的域,

输入要求的信息。 域服务器代码是WiKID服务器的零填充IP地址。 因此,如果外部IP地址为216.239.51.99,则WiKID服务器代码将为216239051099.单击“创建”。

单击网络客户端选项卡和“创建新的网络客户端”。

输入要求的信息。 对于IP地址,请使用Squid服务器的IP地址。 选择Radius和刚创建的域。 完成后点击“添加”。

在下一页,输入您在/ etc / raddb / server中输入的共享密码。 您不必在“返回属性”下输入任何信息。

重要提示:从WiKID服务器的控制台或通过SSH,您将需要运行“wikidctl restart”将新配置加载到WiKID Radius服务器中。 (WiKID 2.0用户只是运行“停止”和“开始”。)

使用一次性密码测试squid访问

下载并安装WiKID令牌客户端 。 您可以从WiKIDAdmin Web界面手动验证您的用户身份。 一旦验证,选择与Squid相关联的域:

输入PIN码

你会收到一次性密码。 OTP有时间限制,但可以在WiKID服务器上设置任何时间:

现在浏览到squid URL。 你应该得到典型的http登录窗口。 使用您的用户名和WiKID一次性密码登录,您已经完成了! 如果您有任何问题,您可以通过WiKIDAdmin Web界面或/opt/WiKID/logs/radius.log检查您的squid日志(Fedora上的/var/log/squid/access.log)和WiKID日志。

结论

Squid是非常强大的工具,可用于加速入站和出站访问。 通常,Squid用于向不同的Web应用程序发送不同的请求。 让Squid处理身份验证允许集中控制用户数据库,从而降低复杂性。 结合双因素身份验证,您具有安全性和简单的维护。

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

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

支付宝扫一扫打赏

微信扫一扫打赏