Still celebrating National IT Professionals Day with 3 months of free Premium Membership. Use Code ITDAY17

x
?
Solved

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

Posted on 2010-08-18
2
Medium Priority
?
570 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
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
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 2000 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

Monthly Recap

May was a big month for new releases from Linux Academy! Take a look at what our team built recently in our blog. You can access the newest releases from our blog.

Question has a verified solution.

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

Little introduction about CP: CP is a command on linux that use to copy files and folder from one location to another location. Example usage of CP as follow: cp /myfoder /pathto/destination/folder/ cp abc.tar.gz /pathto/destination/folder/ab…
Fine Tune your automatic Updates for Ubuntu / Debian
Learn several ways to interact with files and get file information from the bash shell. ls lists the contents of a directory: Using the -a flag displays hidden files: Using the -l flag formats the output in a long list: The file command gives us mor…
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.:
Suggested Courses

722 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