Solved

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

Posted on 2010-08-18
2
544 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

Windows Server 2016: All you need to know

Learn about Hyper-V features that increase functionality and usability of Microsoft Windows Server 2016. Also, throughout this eBook, you’ll find some basic PowerShell examples that will help you leverage the scripts in your environments!

Question has a verified solution.

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

Suggested Solutions

Title # Comments Views Activity
Assess most serious Linux privilege escalation bug 17 149
OpenVPN Speed limitation to only 10 mbps 7 97
su - oracle could not open session 6 53
VMware Workstation 12 Player 16 41
Introduction We as admins face situation where we need to redirect websites to another. This may be required as a part of an upgrade keeping the old URL but website should be served from new URL. This document would brief you on different ways ca…
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.:
Get a first impression of how PRTG looks and learn how it works.   This video is a short introduction to PRTG, as an initial overview or as a quick start for new PRTG users.

895 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

Need Help in Real-Time?

Connect with top rated Experts

13 Experts available now in Live!

Get 1:1 Help Now