[squid-users] Broken Apple devices - repeated 407s

From: Steve Hill <steve_at_opendium.com>
Date: Tue, 29 Apr 2014 10:42:48 +0100

Apple devices seem to be pretty broken when it comes to handling
authenticated proxies. However, sometimes I see behaviour that is so
broken that it could almost be considered a DoS attack: Devices that
make a request, get a 407 back from the proxy and immediately make the
same request again, still with no authentication credentials - the proxy
returns a 407, of course, and the client requests again... repeatedly,
with no kind of a back-off timer, going on for hours on end. For example:

28/Apr/2014:07:45:36.194 0 10.203.1.18 TCP_DENIED/407 4660 CONNECT
p02-ubiquity.icloud.com:443 - HIER_NONE/- text/html "ubd/289
CFNetwork/673.4 Darwin/13.1.0 (x86_64) (Macmini5%2C1)"
28/Apr/2014:07:45:36.205 0 10.203.1.18 TCP_DENIED/407 4660 CONNECT
p02-ubiquity.icloud.com:443 - HIER_NONE/- text/html "ubd/289
CFNetwork/673.4 Darwin/13.1.0 (x86_64) (Macmini5%2C1)"
28/Apr/2014:07:45:36.215 0 10.203.1.18 TCP_DENIED/407 4660 CONNECT
p02-ubiquity.icloud.com:443 - HIER_NONE/- text/html "ubd/289
CFNetwork/673.4 Darwin/13.1.0 (x86_64) (Macmini5%2C1)"

(continues like that with about 100ms between requests).

And other similar requests:

28/Apr/2014:07:45:28.793 0 10.203.1.18 TCP_DENIED/407 4649 CONNECT
keyvalueservice.icloud.com:443 - HIER_NONE/- text/html
"SyncedDefaults/91.30 (Mac OS X 10.9.2 (13C1021))"
28/Apr/2014:07:45:58.358 0 10.203.1.18 TCP_DENIED/407 4630 CONNECT
p02-caldav.icloud.com:443 - HIER_NONE/- text/html "Mac_OS_X/10.9.2
(13C1021) CalendarAgent/176"
28/Apr/2014:07:45:59.114 0 10.203.1.18 TCP_DENIED/407 4612 CONNECT
p02-bookmarks.icloud.com:443 - HIER_NONE/- text/html "CoreDAV/229.6
(13C1021)"

etc... It happens from both OS X and iOS devices every so often
(presumably flattens the iphone battery pretty quickly!)

Clearly this is a bug in Apple's software (which I have reported, but
they seem uninterested in fixing it*), but I'm wondering if anyone else
has observed this behaviour and come up with any good ideas to mitigate
it on the proxy side?

<rant>
* Apple's bug reporting process seems to be:
1. I report a bug with lots of information regarding the OS version on
the device, how to replicate the problem, etc.
2. They sit on it for a few weeks before asking me to provide them with
lots of logs from the device itself, which generally I can't easily do
because I don't personally have the device.
3. I jump through the hoops and provide them with the information they
request.
4. They sit on the bug and never bother to respond or fix it.

So given that (3) involves me spending quite a bit of time getting hold
of a device and replicating the problem, even though I provided them
enough information to do this themselves, and it basically seems to be a
complete waste of my time since they then ignore the bug, I've largely
given up reporting them now... Which is a shame - I don't mind spending
time collecting debugging information if it's actually going to help get
the bug fixed, but with Apple this doesn't seem to happen.
</rant>

-- 
  - Steve Hill
    Technical Director
    Opendium Limited     http://www.opendium.com
Direct contacts:
    Instant messager: xmpp:steve_at_opendium.com
    Email:            steve_at_opendium.com
    Phone:            sip:steve_at_opendium.com
Sales / enquiries contacts:
    Email:            sales_at_opendium.com
    Phone:            +44-844-9791439 / sip:sales_at_opendium.com
Support contacts:
    Email:            support_at_opendium.com
    Phone:            +44-844-4844916 / sip:support_at_opendium.com
Received on Tue Apr 29 2014 - 09:42:59 MDT

This archive was generated by hypermail 2.2.0 : Tue Apr 29 2014 - 12:00:07 MDT