Hi,

I'm obviously doing something wrong with my ACLs, and would appreciate
any advice.  

We require authentication via radius, and we only allow each user to
be logged on from workstation at a time.  Anyone logged on to a server
can access the Internet from multiple machines (i.e., for maintenance
periods where one admin might be running updates on several boxes
simultaneously).

If a user logs in from too many machines, or if he enters a wrong
password, he gets the error message in ERR_NO_SHARING.  I would expect
a user who signs on too often to get ERR_NO_SHARING and a user who
fails to authenticate to get the default ERR_CACHE_ACCESS_DENIED.

Instead, all users get ERR_NO_SHARING.  I would like to give the users
a useful error message, but obviously I am missing something.

The ACL portion of my squid.conf follows.

Thanks for any suggestions,
==ml

--

error_directory /etc/squid/errors

auth_param basic program /usr/local/squid/libexec/squid_radius_auth_new -f 
/etc/squid/squid_radius_auth.conf

auth_param basic children 5
auth_param basic realm 'Web'

#confirm our login is still good via Radius at this interval;
#this is not the time between password query popups at user's browser!
authenticate_ttl 15 minutes

acl all src 0.0.0.0/0.0.0.0     # all sources

acl manager proto cache_object  # internal cache manager

acl localhost src 127.0.0.1/255.255.255.255  # This computer's loopback source
acl to_localhost dst 127.0.0.0/8 # This computer's loopback destinations

acl PURGE method PURGE

acl Safe_ports port 80          # http
acl Safe_ports port 20          # ftp
acl Safe_ports port 21          # ftp-data
acl Safe_ports port 443 563     # https, snews
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 radius_auth proxy_auth REQUIRED

acl no_auth_src src "/etc/squid/noauth_src.list"
acl no_auth_dst dst "/etc/squid/noauth_dst.list"
acl no_auth_hostdst dstdomain "/etc/squid/noauth_hostdst"

#Don't share password
authenticate_ip_ttl 60 seconds
acl noPwSharing max_user_ip 1
deny_info ERR_NO_SHARING noPwSharing
#allow server networks more leeway for administration
acl serverPwSharing max_user_ip 5
deny_info ERR_NO_SHARING serverPwSharing

#Our internal networks; one for source, one for dest

acl our_networks src 10.0.0.0/8 127.0.0.0/8
acl our_servers dst 10.0.0.0/8 127.0.0.0/8

acl server_network src 10.184.1.0/24

acl our_domains dstdomain internal.com

acl CONNECT method CONNECT      # Http Connect method

#Only the local machine can see cache manager
http_access allow manager localhost
http_access deny manager

#management acl
http_access allow PURGE localhost
http_access deny PURGE

#block connections to unsafe ports
http_access deny !Safe_ports

#Allow everyone through to some sites without auth
http_access allow no_auth_dst
http_access allow no_auth_src
http_access allow no_auth_hostdst

#Everyone can access internal servers
always_direct allow our_domains

#servers can have one user connect multiple times
http_access allow server_network radius_auth

#clients may only log in from one IP at a time.
http_access deny noPwSharing

#Clients must auth to radius to leave our network
http_access allow our_networks radius_auth  

#everyone else is denied access
http_access deny all

#everyone can reply
http_reply_access allow all

#nobody may use this as a peer proxy
icp_access deny all




-- 
Michael W. Lucas        [EMAIL PROTECTED], [EMAIL PROTECTED]
                http://www.BlackHelicopters.org/~mwlucas/
      Coming Soon: "Absolute FreeBSD" -- http://www.AbsoluteFreeBSD.com
On 5/4/2007, the TSA kept 3 pairs of my soiled undies "for security reasons."

Reply via email to