[squid-users] Squid - AD integration Issue
Amos Jeffries
squid3 at treenet.co.nz
Fri Jul 22 05:16:56 UTC 2016
On 22/07/2016 2:09 a.m., Nilesh Gavali wrote:
> HI All;
>
> Squid integration with AD kerberos auth was working properly for me. Today
> faced issue, as users are getting login prompt while accessing Proxy.
> Not sure what went wrong. here is my configuration and also cache.log o/p.
> Need urgent help.
>
> ==============================================================
> #
> # Recommended minimum configuration:
> #### AD SSO Integration #####
> auth_param negotiate program /usr/lib64/squid/squid_kerb_auth -s
> HTTP/proxy02.ABCD.gov.eu at ABCD.GOV.EU -d
> auth_param negotiate children 10
> auth_param negotiate keep_alive on
> #auth_param basic credentialsttl 2 hours
> acl ad_auth proxy_auth REQUIRED
>
> #### AD Group membership ####
>
> external_acl_type AD_Group ttl=300 negative_ttl=0 %LOGIN
> /usr/lib64/squid/squid_ldap_group -P -R -b "DC=ABCD,DC=GOV,DC=EU" -D
> svcproxy -W /etc/squid/pswd/pswd -f
> "(&(objectclass=person)(userPrincipalName=%v)(memberof=cn=%a,ou=InternetAccess,ou=Groups,dc=ABCD,dc=GOV,dc=EU))"
> -h ABCD.GOV.EU -s sub -v 3 -d
>
> acl AVWSUS external AD_Group lgOnlineUpdate
> acl windowsupdate dstdomain "/etc/squid/sitelist/infra_update_site"
>
> acl manager proto cache_object
> acl localhost src 127.0.0.1/32 ::1
> acl to_localhost dst 127.0.0.0/8 0.0.0.0/32 ::1
>
> # Example rule allowing access from your local networks.
> # Adapt to list your (internal) IP networks from where browsing
> # should be allowed
> acl AVSRVR src xx.xx.8.123 # Cloud SEPM Server
> acl localnet src 10.0.0.0/8 # RFC1918 possible internal network
> acl localnet src 172.16.0.0/12 # RFC1918 possible internal network
> acl localnet src 192.168.0.0/16 # RFC1918 possible internal network
> acl localnet src fc00::/7 # RFC 4193 local private network range
> acl localnet src fe80::/10 # RFC 4291 link-local (directly plugged)
> machines
> #
> acl SSL_ports port 443
> acl Safe_ports port 80 # http
> acl Safe_ports port 21 # ftp
> acl Safe_ports port 443 # https
> acl Safe_ports port 70 # gopher
> acl Safe_ports port 210 # wais
> acl Safe_ports port 1025-65535 # unregistered ports
> acl Safe_ports port 280 # http-mgmt
> acl Safe_ports port 488 # gss-http
> acl Safe_ports port 591 # filemaker
> acl Safe_ports port 777 # multiling http
> acl CONNECT method CONNECT
>
> # Recommended minimum Access Permission configuration:
> #
> # Only allow cachemgr access from localhost
> http_access allow manager localhost
> http_access deny manager
>
> # Deny requests to certain unsafe ports
> http_access deny !Safe_ports
>
> # Deny CONNECT to other than secure SSL ports
> http_access deny CONNECT !SSL_ports
>
> # We strongly recommend the following be uncommitted to protect innocent
> # web applications running on the proxy server who think the only
> # one who can access services on "localhost" is a local user
> #http_access deny to_localhost
>
> # INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR CLIENTS
> #
> # Example rule allowing access from your local networks.
> # Adapt localnet in the ACL section to list your (internal) IP networks
> # from where browsing should be allowed
>
> http_access allow AVSRVR windowsupdate
> http_access allow AVWSUS windowsupdate
> http_access deny all
If the "deny all" above is actually what you want, then remove all the
following http_access rules.
If the "allow ad_auth" below is what you want, then remove the above
"allow ... windowsupdate" and "deny all" lines - checking groups is
pointless if any authenticated client is allowed.
> http_access allow ad_auth
>
> # And finally deny all other access to this proxy
> http_access deny all
> Cache.log-
> ====================================
> 2016/07/21 14:52:53| squid_kerb_auth: ERROR: gss_accept_sec_context()
> failed: Unspecified GSS failure. Minor code may provide more information.
> 2016/07/21 14:52:53| authenticateNegotiateHandleReply: Error validating
> user via Negotiate. Error returned 'BH gss_accept_sec_context() failed:
> Unspecified GSS failure. Minor code may provide more information. '
> ===================================
Perhapse your Keytab entry expired or got updated in AD without the
Squid machine one being updated ?
>
> Also observed Squid_ldap_group helper throwing ERR when checking user
> group membership. but user is part of the said group in AD.
If the user account credentials are not being identified as valid by the
auth_param helper, there is no "user" to be part of any group check by
the external ACL helper.
>
> ========================================================================
> #/usr/lib64/squid/squid_ldap_group -P -R -b "DC=ABCD,DC=GOV,DC=EU" -D
> svcproxy -W /etc/squid/pswd/pswd -f
> "(&(objectclass=person)(userPrincipalName=%v)(memberof=cn=%a,ou=InternetAccess,ou=Groups,dc=ABCD,dc=GOV,dc=EU))"
> -h ABCD.GOV.EU -s sub -v 3 -d
> 853438 lgOnlineUpdate
> Connected OK
> group filter
> '(&(objectclass=person)(userPrincipalName=853438)(memberof=cn=lgOnlineUpdate,ou=InternetAccess,ou=Groups,dc=ABCD,dc=GOV,dc=EU))',
> searchbase 'DC=ABCD,DC=GOV,DC=EU'
> ERR
> ==========================================
>
Tried with any recent version of Squid and/or helper? yours seem to be
many years outdated.
Amos
More information about the squid-users
mailing list