Search squid archive

Re: acl problem

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 30/08/17 03:12, Alex Gutiérrez Martínez wrote:
Hello community, I just installed squid 3.3.8 on ubuntu 14.04. The use of this software is only providing the Internet to my users. But something is wrong with my setup. I must clarify that I use as an authentication system the Ldap plug-in that comes with squid. The problem is that some acl, although apparently well written, are not working the way I expect. Specifically those blocking social sites and prohibited sites.

Ah, there are no rules blocking social and advertising sites.
You have some rules *allowing* access to various groups, then some blanket denial of everything else.

The problem is actually your allow rule not doing what you seem to expect of them. Specifically the first one.

...
acl basic_ldap_auth proxy_auth REQUIRED
http_access allow basic_ldap_auth

Anyone who can login is allowed to use this proxy. End of story for authenticated users.

Note that the "REQUIRED" value in the ACL does not mean proxy access requires credentials. It means that the ACL will non-match unless a valid login is given. The "allow" action in turn then means a non-match simply skips that line.

Anyone who sends invalid credentials to the proxy _will_ fly straight past this first access control without being challenged, anyone lacking credentials entirely *might* be challenged to supply some depending on what ACL types your later rules use.


Overall "allow" is a very unreliable way to do authentication security.
Instead you should start with denying clients who cannot supply valid logins. Like so:

  http_access deny !basic_ldap_auth

... then do the group checks etc which rely on those credentials.


#http_access deny all
########################################################
#restricciones selectivas#
########################################################
acl dmz src 172.16.4.0/27
acl navegacion src 192.168.9.0/24
acl full external Group InternetFull
acl limitado external Group InternetLimitado
acl sociales dstdomain -n "/etc/squid3/bloqueo/sociales"
acl extensiones urlpath_regex -i "/etc/squid3/bloqueo/listaextensiones"

... but no valid credentials means no group. These cannot match right now and so get skipped.

While it may have appeared that these allow lines were working, it was in fact the earlier "allow basic_ldap_auth" line letting users in the group "full" (and any other group) through.


http_access allow full sociales
http_access allow full limitado navegacion
http_access allow full dmz
########################################################
#restricciones obligadas#
########################################################
#acl blacklist url_regex -i "/etc/squid3/listanegra"
#http_access deny blacklist
acl bl7 dstdomain -n "/etc/squid3/bloqueo/correos"
http_access allow full !limitado bl7


Here you have a bunch of stuff being denied based on group. BUT, the last thing is "deny all" with no possibility of allow from here on down. So all these slow checking group and regex ACLs are pretty pointless, even if the group checks could work with invalid logins.

If any request reaches this spot of the access list it is going to be denied. So "deny all" is sufficient, no need to do all the following complex stuff first.


acl bl1 url_regex -i "/etc/squid3/bloqueo/porno"
http_access deny bl1
acl bl2 url_regex -i "/etc/squid3/bloqueo/android"
http_access deny bl2
acl bl3 url_regex -i "/etc/squid3/bloqueo/prox1"
http_access deny bl3
acl bl4 url_regex -i "/etc/squid3/bloqueo/prox2"
http_access deny bl4
acl bl5 url_regex -i "/etc/squid3/bloqueo/prox3"
http_access deny bl5
acl bl6 url_regex -i "/etc/squid3/bloqueo/prox4"
http_access deny bl6
#acl ladmin src "/etc/squid3/ladmin"
http_access deny all


HTH
Amos
_______________________________________________
squid-users mailing list
squid-users@xxxxxxxxxxxxxxxxxxxxx
http://lists.squid-cache.org/listinfo/squid-users




[Index of Archives]     [Linux Audio Users]     [Samba]     [Big List of Linux Books]     [Linux USB]     [Yosemite News]

  Powered by Linux