在规则中否定acl proxy_auth_regex时,squid proxy会做些什么?

如果NTLM身份validation助手是AD组的成员,则该身份validation助手只能将其标记为授权用户。 Kerberos身份validation帮助程序将用户标记为授权用户(如果他能够login),Kerberos助手无法完成组检查,所以我需要一个外部ACL程序,通过LDAP检查是否允许此用户使用乌贼。

我必须只允许通过NTLM直接授权的用户,外部LDAP检查成功后,允许Kerberos授权用户使用。

Kerberos用户显示为sAMAccountName @ REALM,例如“[email protected]

NTLM用户显示为sAMAccountName,例如“user”

我有这个ACL:

# External ACL helper returns OK (User is in given LDAP group) acl ldap_group_check external squid_kerb_ldap # Username contains character '@' acl kerberos_without_ldap_auth proxy_auth_regex (@) 

而这个规则:

 # Default: Kerberos + LDAP group check http_access allow ldap_group_check # Fallback: NTLM http_access allow !kerberos_without_ldap_auth 

在这里,我的问题是:规则是什么

 http_access allow !kerberos_without_ldap_auth 

意思? 我的configuration有安全问题吗?

是否意味着“除用户名”@“之外的所有用户”=>不好的事情,因为那么未经authentication的用户也将被允许

或“所有经过authentication的用户,除了用户名中带”@“的用户”? => goot的东西,因为那么只有NTLM用户将被允许(成功的Kerberos LDAP用户已被允许从第一条规则,因为鱿鱼“第一次胜利”)

NTLM和Kerberos都会对用户进行身份validation,在用户通过身份validation之后,您想授权根据安全组成员资格访问Internet? 如果是这样,为什么不把LDAPsearchfilter调整为如下所示:

external_acl_type ldap_group%LOGIN / usr / lib64 / squid / squid_ldap_group -R -b“DC =域,DC =本地”-D“CN = SQUID,OU =域服务帐户,DC =域,DC =本地”-w“* ********“-f”(&(objectclass = person)(!(sAMAccountname =%v)(userPrincipalName =%s))(memberof = CN =%a,OU = PROXY,ou = ALL domain组,DC =域,DC =本地))“-h 10.0.0。 10.0.0。 10.0.0。***

请注意(或)(!(sAMAccountname =%v)(userPrincipalName =%s))的filter,以匹配NTLM或Kerberos身份validation的名称。