Solved

How to use group membership to control internet users with SQUID LDAP authentication.

Posted on 2010-08-18
2
548 Views
Last Modified: 2013-12-16
Hey Team,
We have a working SQUID server.   It does authentication against Active Directory via LDAP.  Currently there is a group that is allowed to surf the internet unrestricted:  Group0 if you will..  Anyone not in the group is white listed to only a few business sites.  This all works fine.  My question is this:  Now I need to make several new active directory groups and based on their membership white list them to the required business web sites only.  So for example:  Group1 needs to only be able to go to www.google.com.  Group2 members should be able to only go to www.yahoo.com.  The Group0 we discussed earlier can go anywhere on the internet.  How do I do this?"
Thanks!!!!
0
Comment
Question by:tedayoungii
2 Comments
 

Author Comment

by:tedayoungii
ID: 33463910
I went ahead and posted the pertenent current ldap settings that work.  Below:


auth_param basic program /usr/lib/squid/squid_ldap_auth -R -b "dc=xxxxx,dc=xxxxxxxx,dc=com" -D "CN=LDAP USERNAME,OU=IT,OU=SUI,DC=xxxxxxx,DC=xxxxxxxxxx,DC=com" -w "password" -f sAMAccountName=%s -h dc01
auth_param basic children 5
auth_param basic realm xxxxxxxx
auth_param basic credentialsttl 480 minute
auth_param basic casesensitive off

##group auth
external_acl_type internetusergroup %LOGIN /usr/lib/squid/squid_ldap_group -R -b "dc=xxxxxxx,dc=xxxxxxx,dc=com" -D "CN=LDAP USERNAME,OU=IT,OU=SUI,DC=xxxxxx,DC=xxxxxx,DC=com" -w "password" -f "(&(objectclass=person)(sAMAccountName=%v)(memberof=CN=Firebox Users,OU=Security Groups,OU=SUI,DC=xxxxxx,DC=xxxxxx,DC=com))" -h DC01



acl internetusergroup proxy_auth REQUIRED
acl internetgroup external internetusergroup internetusers
acl Allowed_Sites url_regex "/etc/squid/allowed-sites.acl"
http_access allow internetgroup
http_access allow internetusergroup Allowed_Sites
#http_access deny internetusergroup
#http_access deny bad
http_access deny all
0
 
LVL 3

Accepted Solution

by:
pitt7 earned 500 total points
ID: 33465889
Use the auth_param parameter as is.

Change ##group auth to (the %a at memberof=CN= is the relevant change)
external_acl_type internetusergroup %LOGIN /usr/lib/squid/squid_ldap_group -R -b "dc=xxxxxxx,dc=xxxxxxx,dc=com" -D "CN=LDAP USERNAME,OU=IT,OU=SUI,DC=xxxxxx,DC=xxxxxx,DC=com" -w "password" -f "(&(objectclass=person)(sAMAccountName=%v)(memberof=CN=%a,OU=Security Groups,OU=SUI,DC=xxxxxx,DC=xxxxxx,DC=com))" -h DC01

acl internetusergroup proxy_auth REQUIRED
acl internetgroup external internetusergroup internetusers
acl InternetGroup1 external internetusergroup Group1
acl Group1_Sites url_regex "/etc/squid/allowed-sites_Group1.acl"
acl Allowed_Sites url_regex "/etc/squid/allowed-sites.acl"

http_access allow internetgroup
http_access allow InternetGroup1 Group1_Sites
http_access allow internetusergroup Allowed_Sites
http_access deny all
0

Featured Post

Free Tool: Port Scanner

Check which ports are open to the outside world. Helps make sure that your firewall rules are working as intended.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Network Interface Card (NIC) bonding, also known as link aggregation, NIC teaming and trunking, is an important concept to understand and implement in any environment where high availability is of concern. Using this feature, a server administrator …
Linux users are sometimes dumbfounded by the severe lack of documentation on a topic. Sometimes, the documentation is copious, but other times, you end up with some obscure "it varies depending on your distribution" over and over when searching for …
Learn how to find files with the shell using the find and locate commands. Use locate to find a needle in a haystack.: With locate, check if the file still exists.: Use find to get the actual location of the file.:
Connecting to an Amazon Linux EC2 Instance from Windows Using PuTTY.

821 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question