Search squid archive

Re: Error accessing the 403 page

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

 



On 2016-01-02 13:19, Alex Samad wrote:
On 2 January 2016 at 09:22, Amos Jeffries <squid3@xxxxxxxxxxxxx> wrote:
On 2016-01-01 23:28, Alex Samad wrote:

Hi

I installed 3.5.12 and when I try and get to a page that is blocked. I
used to get an message page that said contact the admin person.

trying to get to
http://bcp.crwdcntrl.net/squid-internal-static/icons/SN.png


This is part of the error generated
The following error was encountered while trying to retrieve the URL:
http://alcdmz1:3128/squid-internal-static/icons/SN.png

alcdmz1 is the proxy server

I seemed to have blocked access to all error messages. not sure how as
I haven't made any changes except upgrading to .12 from .11


We fixed the Host header output on CONNECT requests to cache_peer between those versions. That is likely the reason it has started being visible.

Sorry not sure how that is related to this.

It is the only Squid change between those versions that seems related to the issue.



The above URL is just an icon being served up by your Squid as part of the page display. The main error page text should have been sent as the body of
the original 403 message itself.


agree

Your http_access rules are the things rejecting it. Note that it contains the squid listening domain:port (alcdmz1:3128 or bcp.crwdcntrl.net:80) which your proxy machine is configured to announce publicly as its contain domain
/ FQDN.


The original url was bcp.crwdcntrl.net:80, the page I got back
included the text
http://alcdmz1:3128/squid-internal-static/icons/SN.png


The squid service needs to be publicly accessible at that domain:port that it is advertising as its public FQDN for this icon request to succeed. That means making the server hostname, or visible_hostname something that clients can access directly - and unique_hostname the private internal name the Squid instance uses to distinguish itself from other peers on the proxy
farm.

so they can connect to alcdmz1:3128



conf
auth_param negotiate program /usr/bin/ntlm_auth
--helper-protocol=gss-spnego --configfile /etc/samba/smb.conf-squid
auth_param negotiate children 20 startup=0 idle=3
auth_param negotiate keep_alive on
auth_param ntlm program /usr/bin/ntlm_auth
--helper-protocol=squid-2.5-ntlmssp --configfile
/etc/samba/smb.conf-squid
auth_param ntlm children 20 startup=0 idle=3
auth_param ntlm keep_alive on
auth_param basic program /usr/bin/ntlm_auth
--helper-protocol=squid-2.5-basic --configfile
/etc/samba/smb.conf-squid
auth_param basic children 5
auth_param basic realm Squid proxy-caching web server
auth_param basic credentialsttl 2 hours
acl sblMal dstdomain -i "/etc/squid/lists/squid-malicious.acl"
acl sblPorn dstdomain -i "/etc/squid/lists/squid-porn.acl"
acl localnet src 10.3.8.0/24
acl localnet_auth src 10.1.0.0/14
acl localnet_auth src 10.2.0.0/16
acl localnet_auth src 10.2.2.1/32

NP: 10.1.0.0/14 contains and matches all of 10.2.*.*, therefore the other localnet_auth entries are all redundant and can be removed.

(squid -k parse should be warning you about that)


acl localnet_guest src 10.1.22.0/24
acl localnet_appproxy src 10.172.23.3/32

NP: localnet and localnet_appproxy are both of the same type and both only used to allow http_access within the same block of allows.

You should simplify by adding 10.172.23.3 to the localnet definition and drop localnet_appproxy entirely.

acl sblYBOveride dstdomain -i "/etc/squid/lists/yb-nonsquidblacklist.acl"
acl nonAuthDom dstdomain -i "/etc/squid/lists/nonAuthDom.lst"
acl nonAuthSrc src "/etc/squid/lists/nonAuthServer.lst"
acl FTP proto FTP
acl DMZSRV src 10.3.2.110
acl DMZSRV src 10.3.2.111
always_direct allow FTP
always_direct allow DMZSRV
ftp_passive off
ftp_epsv_all off
acl SSL_ports port 443
acl Safe_ports port 80          # http
acl Safe_ports port 21          # ftp
acl Safe_ports port 443         # https

Aha. You have restricted the Safe_ports to exclude 3128. Thus "http://alcdmz1:3128/..."; are rejected even if the remote client could resolve domains within the TLD "alcdmz1".


acl CONNECT method CONNECT
acl AuthorizedUsers proxy_auth REQUIRED
acl icp_allowed src 10.3.2.110/32
acl icp_allowed src 10.3.2.111/32
acl icp_allowed src 10.172.23.0/32
acl icp_allowed src 10.172.23.4/32

NP: you do not need to put /32 on IPv4 addresses.

http_access allow manager localhost
http_access allow manager icp_allowed
http_access deny manager
http_access allow icp_allowed

All the manager and icp_allowed stuff above should be down ...

http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports

 ... here.

I would also restructure the manager tests as:
  http_access allow icp_allowed
  http_access allow localhost
  http_access deny manager

... which avoids repeated checking of the (relatively) slow regex manager ACL, and allows removal of the lines checking "allow localhost" and "allow icp_allowed".


http_access allow localnet
http_access allow localhost
http_access allow localnet_appproxy
http_access deny !localnet_auth
http_access allow localnet_guest sblYBOveride
http_access deny localnet_guest sblMal
http_access deny localnet_guest sblPorn
http_access allow localnet_guest
http_access allow nonAuthSrc
http_access allow nonAuthDom

Instead of repeating allows for FTP and Authorized users twice you could replace all these:

http_access allow sblYBOveride FTP
http_access allow sblYBOveride AuthorizedUsers
http_access deny sblMal
http_access deny sblPorn

... with these:
http_access deny !sblYBOveride sblMal
http_access deny !sblYBOveride sblPorn


http_access allow FTP
http_access allow AuthorizedUsers
http_access deny all
http_port 3128
http_port 8080
cache_mem 40960 MB
cache_mgr operations.manager@xxxxxxx
cache_dir aufs /var/spool/squid 550000 16 256
coredump_dir /var/spool/squid
range_offset_limit 200 MB
maximum_object_size 200 MB
quick_abort_min -1
refresh_pattern -i
microsoft.com/.*\.(cab|exe|ms[i|u|f]|[ap]sf|wm[v|a]|dat|zip) 4320 80%
43200 reload-into-ims
refresh_pattern -i
windowsupdate.com/.*\.(cab|exe|ms[i|u|f]|[ap]sf|wm[v|a]|dat|zip) 4320
80% 43200 reload-into-ims
refresh_pattern -i
windows.com/.*\.(cab|exe|ms[i|u|f]|[ap]sf|wm[v|a]|dat|zip) 4320 80%
43200 reload-into-ims
refresh_pattern ^ftp:           1440    20%     10080
refresh_pattern ^gopher:        1440    0%      1440
refresh_pattern -i (/cgi-bin/|\?) 0     0%      0
refresh_pattern .               0       20%     4320
cache_peer gsdmz1.abc.com sibling 3128 4827 proxy-only htcp no-query standby=10
icp_port 0
icp_access allow icp_allowed
icp_access deny all
htcp_port 4827
htcp_access allow icp_allowed
htcp_access deny all
acl nonCacheDom dstdomain -i "/etc/squid/lists/nonCacheDom.lst"
cache deny nonCacheDom
acl nonCacheURL urlpath_regex /x86_64/repodata/repomd.xml$
cache deny nonCacheURL
icap_enable on
icap_send_client_ip on
icap_send_client_username on
icap_client_username_header X-Authenticated-User
icap_service service_req reqmod_precache bypass=1
icap://127.0.0.1:1344/srv_clamav
adaptation_access service_req allow all
icap_service service_resp respmod_precache bypass=1
icap://127.0.0.1:1344/srv_clamav
adaptation_access service_resp allow all
ipcache_size 10240
forwarded_for delete
cache_swap_low 90
cache_swap_high 95
log_icp_queries off
icap_preview_enable on
icap_preview_size 1024
httpd_suppress_version_string on
max_filedesc 8192



I'm not sure what I have to allow

So if I understand rightly
client makes request for http://bcp.crwdcntrl.net/
squid sends back a 403

client gets response text that includes a link to
http://bcp.crwdcntrl.net/squid-internal-static/icons/SN.png from this
code
background: url('/squid-internal-static/icons/SN.png') no-repeat left;

browser / client make request for
http://bcp.crwdcntrl.net/squid-internal-static/icons/SN.png

squid returns 403 ..

which ACL or access_allow do I need to allow this.

Either add 3128 back into your Safe_ports ACL, or add an ACL " urlpath_regex ^/squid-internal-static/ " and permit requests that match it.

The second way is better because it should allow the "http://bcp.crwdcntrl.net/squid-internal-static/icons/SN.png"; request to succeed, which is both faster and avoiding the proxy hostname:port exposure.

Amos

_______________________________________________
squid-users mailing list
squid-users@xxxxxxxxxxxxxxxxxxxxx
http://lists.squid-cache.org/listinfo/squid-users




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

  Powered by Linux