Search squid archive

Re: Squid in acceleration mode and authentciation

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

 



Rakesh Jha wrote:
Hi,

I want to run squid in acceleration mode for a internal site. The ISS
site prompts window for authentication. When I connect to the site I get
window prompt for entering username and password. But after entering
domain username and password, I get access denied to the site.

ISS (or did you mean IIS?) is the software doing the reject.

I've done an audit below, with a lot of things you can fix up. They need doing first, but by themselves will likely not resolve the auth issue until the server is also fixed not to reject.


I have compiled squid 3 with following option -

/sbin/squid -v
Squid Cache: Version 3.1.0.17
configure options:  '--enable-ssl' '--enable-ntlm-auth'
'--enable-basic-auth'

Those two options are not valid in Squid's configure script.

For 3.1 series it should be: --enable-auth="basic ntlm"

As well as --enable-basic-auth-helpers="PAM" to build the PAM helper you are using.


Also, ... 3.1 is in stable cycle now. Please try 3.1.3.


--with-squid=/tmp/squid-3.1.0.17
--enable-ltdl-convenience

My squid.conf is
acl manager proto cache_object
acl localhost src 127.0.0.1/32
acl to_localhost dst 127.0.0.0/8
acl bd_host dst 10.10.3.41/32
acl all src 0.0.0.0/0.0.0.0

"all" ACL needs to be remove for 3.1+. It's now built in and defined automatically.

acl SSL_ports port 443
acl CONNECT method CONNECT

http_access allow manager localhost
http_access deny manager
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports


The above lines are all forward proxy configuration.

Reverse-proxy http_access configuration must be above them to work properly.

For a pure reverse-proxy you can erase the forward-proxy configuration http_access lines.


http_access allow bd_host

In a reverse proxy clients are never expected to be asking for the hidden master server. This will only work with split-DNS.

I think you really want to define this as a dstdomain type ACL listing the internal domain(s) being serviced.

With that done Squid can handle all the attack rejections and save your server from potential DoS overloads.

http_access allow all

More forward-proxy config?

icp_access deny all
htcp_access deny all

https_port 10.1.1.97:443 defaultsite=tpaspp01 protocol=http
cert=/usr/local/cert/cert.crt key=/usr/local/cert/private.key version=3
options=NO_SSLv2

ssl_unclean_shutdown on

cache_peer tpaspp01 parent 80 0 no-query proxy-only login=PASS
front-end-https=on

Since this is a master peer you could also add the "default" option here.

If that is a web server (IIS? or ISS?) then it also needs the "originserver" option to pass on the credentials properly.
That said, Squid is not doing any auth anyway (see below).


hierarchy_stoplist cgi-bin ?

access_log /usr/local/squid/var/logs/access.log squid

refresh_pattern ^ftp:           1440    20%     10080
refresh_pattern ^gopher:        1440    0%      1440
refresh_pattern (cgi-bin|\?)    0       0%      0

That line should now be:
 refresh_pattern -i (/cgi-bin/|\?)  0 0% 0

refresh_pattern .               0       20%     4320

cache_effective_user squid
cache_effective_group squid

visible_hostname bdproxy

icp_port 3130

auth_param basic program /usr/local/squid/pam_auth
auth_param basic children 5
auth_param basic realm Adzapping Squid
auth_param basic credentialsttl 1 week
acl password proxy_auth REQUIRED
http_access allow password

Your Squid is not doing the auth challenge. There is a "http_access allow all" above here which prevents this auth from happening.

Also, it's not clear whether you want authenticated requests to go through OR requests to the bd_host.

Amos
--
Please be using
  Current Stable Squid 2.7.STABLE9 or 3.1.3

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

  Powered by Linux