Search squid archive

Re: Issue with proxy auth with facebook

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

 



On 12.04.2012 11:37, Simon Dwyer wrote:
Hi All,

I have setup squid to authenticate with NTLM then BASIC with the
ntlm_auth program.

I believe that it is all working fine for most users but for an example my linux desktop with firefox i get prompted for my crendentials (thats fine) but when i go to https://www.facebook.com or pages that link to it
i keep getting prompted for my password.

the access.log shows this

1334186696.459      2 10.37.0.1 TCP_DENIED/407 4028 CONNECT
www.facebook.com:443 - NONE/- text/html
1334186696.463      3 10.37.0.1 TCP_DENIED/407 4028 CONNECT
www.facebook.com:443 - NONE/- text/html
1334186696.465      3 10.37.0.1 TCP_DENIED/407 4028 CONNECT
www.facebook.com:443 - NONE/- text/html

and my browser doesnt seem to present the credentals properly.  Sites
like https://www.westpac.com.au seems to work perfectly.

I am now running firefox 11.

Where would be the first place to start looking?

Firefox bug reports possibly. I've been hearing strange things about trouble with its NTLM support recently.

Also, with your Squid version. NTLM on CONNECT requests was only fixed recently, meaning older 3.1 and previous series do not support NTLM well on those requests.


Some unrelated hints about config optimization below...



Simon

Config following

[root@proxy1 ~]# cat /etc/squid/squid.conf
#
# Recommended minimum configuration:
#
cache_dir aufs /var/spool/squid 16384 32 512

cache_mem 1024 MB
http_port 8080
snmp_port 3401
visible_hostname proxy1.mulawa.internal
acl snmppublic snmp_community ng-community-ro
snmp_access allow snmppublic
snmp_incoming_address 0.0.0.0
snmp_outgoing_address 255.255.255.255
ignore_expect_100 on

auth_param ntlm program /usr/bin/ntlm_auth
--helper-protocol=squid-2.5-ntlmssp
auth_param ntlm children 30

auth_param basic program /usr/bin/ntlm_auth
--helper-protocol=squid-2.5-basic
auth_param basic children 30
auth_param basic realm TSG proxy-caching web server
auth_param basic credentialsttl 8 hours


url_rewrite_program /usr/local/bin/squidGuard
-c /usr/local/squidGuard/squidGuard.conf
url_rewrite_children 30

acl BrownhouseIT src 10.37.0.0/24
acl GTALK_ports port 443 5222 5050 5223
acl GTALK_hosts dstdomain talk.google.com www.google.com
acl GTALK_domains dstdomain .l.google.com
acl GTALK_methods method CONNECT

acl SSL_ports port 443
acl SSL_ports port 5222
acl SSL_ports port 5223
acl Safe_ports port 80          # http
acl Safe_ports port 21          # ftp
acl Safe_ports port 443         # https
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 CONNECT method CONNECT
acl AuthorizedUsers proxy_auth REQUIRED
acl UnauthorizedDomains url_regex microsoft.com
acl UnauthorizedDomains url_regex verisign.com
acl UnauthorizedDomains url_regex thawte.com
acl UnauthorizedDomains url_regex crl.usertrust.com

NP: These are all better tested as dstdomain. Use the wildcard '.' prefix like you do for .l.google.com.


acl UnauthorizedServers src 10.20.0.77
acl UnauthorizedServers src 10.20.0.70
acl UnauthorizedServers src 10.20.0.191

acl oem-gc-host src 10.20.0.144
acl oem-gc-domain url_regex linux-update.oracle.com

NP: another best tested as dstdomain.



http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow BrownhouseIT GTALK_methods GTALK_ports GTALK_hosts
http_access allow BrownhouseIT GTALK_methods GTALK_ports GTALK_domains

Optimization:

GTALK_hosts and GTALK_domains are both dstdomain type. You can collapse these together and remove most of the ACL tests per request to *.l.google.com servers.

http_access allow UnauthorizedServers

Optimization:

adding these IPs to the firewall to reject connections they make inbound to the proxy allows you to drop this ACL policy.

http_access allow UnauthorizedDomains
http_access allow oem-gc-host oem-gc-domain
http_access deny !AuthorizedUsers
http_access allow AuthorizedUsers
http_access deny all


Amos


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

  Powered by Linux