Our servers are no longer using SSL3.0 or TLS1.0. When an older browser tries to connect and the request is made with https, they get a "Page cannot be displayed" message. I want to redirect them to an http page with guidance to upgrade the browser or in the case or IE 9 or 10, enable TLS1.1 and 1.2. Is this possible? any ideas on how to do it?


It's not possible to drop support for those protocols and at the same time letting clients connect using those same protocols.

If you must communicate this to clients, either use a different channel altogether or consider the trade-off of having a grace period before actually dropping the protocol(s). During the grace period you could redirect clients based on the protocol in use, then drop the protocol(s) after the grace period.

Also consider the possibility of not handling SSLv3 and TLSv1.0 the same way.

SSLv3 is older and more broken, and also only matters for even older clients.
I think it would likely make sense to drop SSLv3 immediately (or at least with urgency) but phasing out TLSv1.0 in a bit more patient manner.

  • Clients won't connect using the deprecated protocols, they have been disabled. If a client connects with http they can view the page, I would like to detect the browser type, (IE8, IE9) and redirect them or show them a message letting them know that they will not be able to access the secure areas of the site. – Penny Rand Jun 26 '15 at 23:31

This kind of setup is not well supported by the servers. The most you can probably do is to allow each of these protocols but then check inside your web application which protocol is used by the client (environment variable SSL_PROTOCOL with apache) and display a warning message instead of the real page to all clients not meeting your minimal requirements. Of course any analyzers like SSLLabs will give you a bad rating because they will only see that you support these older protocols and not how you handle such legacy clients.

  • It has actual security implications to leave these protocols active, it's not just that you will get a bad rating in tests. For one thing, any attack that relies only on getting request headers (cookies, etc) can still work as the request will be sent as normal before the server does its redirect thing. This is why I don't see this approach as a solution to the actual problem but rather just as a way to inform users before you implement the actual solution (which is to drop the protocols) – Håkan Lindqvist Jun 26 '15 at 6:49
  • @HåkanLindqvist: Any attack which tries to get cookies requires that the user first got cookies from this site. With this approach you don't get any new cookies. Only if you have long lived cookies from old setups (bad idea for security relevant cookies) or have insecure configuration on subdomains then you have problems with stealing of cookies. But in these cases you probably would be vulnerable also when dropping the connection. – Steffen Ullrich Jun 26 '15 at 16:38
  • I don't see how you would still be vulnerable when you disable those protocols; if the TLS handshake fails the client will never get to send the request. As for whether the request alone will contain anything sensitive will depend on what kind of site/service we are dealing with and to what extent it was relying on TLS to actually provide secure transport. Returning visitors may have cookies, there could be some other header or even something in the requested path itself. – Håkan Lindqvist Jun 26 '15 at 17:15
  • @HåkanLindqvist: if the legacy client got the cookie from a subdomain which still supports broken crypto then the attacker could intercept the data there. If it got it from earlier visits of the old domain which was once http then it might already have been intercepted there. Because the client does not support recent crypto it never got the cookie in a secure way. – Steffen Ullrich Jun 26 '15 at 19:40
  • The protocols are not active. – Penny Rand Jun 26 '15 at 23:31

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.