Search squid archive

Re: Alternative to standard Squid authentication schemas

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

 



Hi Chris,

   thank you very much for your suggestions.
I tried them but for my proxy solution is very important have got a user session and not a ip session.
In fact I use a content filtery solution which work with user group policy.
For this reason i tried an external_acl_type with ttl=0 to force the helper to receive every session authentication for the client requests:

external_acl_type user-check ttl=0 %SRC /path/to/custom-helper
acl loggedIn external user-check

http_access deny !loggedIn
http_access allow siteIPs
http_access deny all

deny_info http://authentication.my.domain/authenticate.php loggedIn

and this this the source of custom-helper:

#!/bin/bash
log="/usr/local/prod/squid-2.5.STABLE14/var/logs/squid-auth.log"

while read line
do
       echo $line >> $log
       echo OK user=foouser
done

i don't understand why in the access.log some request came without ident ( - ):

1148930239.227 123 10.182.35.253 TCP_MISS/302 475 GET http://www.google.com/ foouser DIRECT/66.249.85.99 text/html 1148930239.624 397 10.182.35.253 TCP_MISS/200 4339 GET http://www.google.it/ foouser DIRECT/66.249.85.104 text/html 1148930242.887 134 10.182.35.253 TCP_MISS/200 4339 GET http://www.google.it/ - DIRECT/66.249.85.99 text/html 1148930242.936 66 10.182.35.253 TCP_MISS/304 193 GET http://www.google.it/intl/it_it/images/logo.gif - DIRECT/66.249.85.104 text/html

Alberto.


Chris Robertson wrote:
alberto.avi@xxxxxxxxx wrote:

Hello,

   there is a way to authenticate Squid users through an SSL form ?

I can't use basic auhtentication schema for security reasons.
I can't use NTLM authentication schema because my Windows Domains aren't trusted togheter. I'd like to use digest authentication schema but the users's password on my LDAP are encrypted so isn't easy to implement it.

Thank you very much for your attention and for your time,

Alberto.

The short answer is that Squid, by itself can not perform this task. However, the external_acl_type and deny_info directives along with a webserver, and back end LDAP query should allow you to perform this task. You will have to store (and lookup) session information outside squid, and this will preclude seeing user names in the access.log.

Here's the basic idea: You have a eternal ACL helper that takes the client IP and performs a lookup. If a valid session is found, access is allowed. If not, access is denied and the deny_info directive refers the browser to a login page (hosted on a webserver) that creates the session data (which can be routinely cleared text files, or a database). Here's a guideline of the squid.conf portion...

external_acl_type user-check ttl=5 %SRC /path/to/helper
acl loggedIn external user-check

http_access deny !loggedIn
http_access allow siteIPs
http_access deny all

deny_info http://authentication.my.domain/authenticate.php loggedIn

Creating the helper, authentication page and back end are left as exercises for the reader.

Chris



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

  Powered by Linux