使用用户名的 squid acl 策略

使用用户名的 squid acl 策略

我配置 squid 使用 win AD 进行身份验证,但用户可以从不同的 ip 地址连接,并且我无法为不同的用户设置基于 ip 的策略。

有什么方法可以根据用户名设置 acl 吗?

我发现ident

http://www.visolve.com/squid/squid24s1/access_controls.php

它对我的测试用例有用吗?

答案1

您需要proxy_auth根据链接的页面定义和使用 ; 类型的 ACL:

Acl 类型:proxy_auth

描述通过外部进程进行用户身份验证。proxy_auth 需要一个外部身份验证程序来检查用户名/密码组合(参见 authenticate_program )。

使用 acl aclname proxy_auth 用户名...

使用 REQUIRED 而不是用户名来接受任何有效的用户名

示例 acl ACLAUTH proxy_auth usha venkatesh balu deepa

此 acl 用于通过外部程序对用户 usha、venkatesh、balu 和 deepa 进行身份验证。

这样,Squid 将使用您选择的任何身份验证方法对用户进行身份验证(您说这已经到位,因此这里应该没有问题),然后您将能够根据用户名过滤访问权限。

示例配置:

acl Good_Users user1 user2 user3
http_access allow Good_Users
http_access deny all

这将仅允许用户 1、用户 2 和用户 3 访问网络。

答案2

您需要注意,通过 ident 提供虚假凭证相对容易(除非客户端被很好地锁定)。它还需要在客户端机器上安装软件。我以前曾在企业局域网上对多个客户端使用过这种方法,效果不错 - 但我在 Microsoft 开始使用 LDAP 之前很久就设置了该系统。

据我所知,虽然您也可以使用 NTLM,但在 Microsoft 领域之外,它的安全性仅与 ident 一样。

活动目录方法(假设您正在执行类似而不是 NTLM)应该更安全。但如果是的话,那么 IP 地址和它有什么关系?听起来你有一个非常糟糕的解决方案,它依赖于 IP 地址(错误)身份验证。(IP 地址很容易被伪造)。

它对我的测试用例有用吗?

我不知道你的测试用例是什么。

相关内容