News for hackers. Stuff that matters.
Re:A basic guide to when and how to deploy HTTPS by njharman on Saturday December 21, 2013 @12:12PM (#6947160)
Q: When to deploy https?

A: Always.

Re:A basic guide to when and how to deploy HTTPS by _delirium on Saturday December 21, 2013 @02:32PM (#6947658)
For big sites, sure. But at least as things currently stand, that's infrastructure-inconvenient and somewhat pricey on the low end, especially if you operate multiple sites and they come and go as hobby projects. Not because of the compute overhead (negligible for my uses), but because of the need for a (non-self-signed) SSL certificate, plus a unique IPv4 address, for each domain. Digital Ocean, for example, won't give you more than 1 IPv4 address per VPS, which means you need a separate VPS for every side project, if you want to go HTTPS. I prefer to multiplex all my tiny projects on one VPS, saving both the extra $60/yr per project and the extra sysadmin overhead. Plus $50/yr for the certificate, and $15 for the domain, and you have a startup cost of $125/yr per side project... versus $15/yr that it currently costs me. Not huge, but more than I want to pay, and raises the mental friction on something that I currently consider near-free/throw-away.

If IPv6 actually gets deployed to the extent that I can have an IPv6-only site without needing IPv4 addresses, and someone solves the SSL signing mess, I'd be happy to use it.

Re:A basic guide to when and how to deploy HTTPS by spindritf on Saturday December 21, 2013 @03:41PM (#6947966)
As others mentioned, you can run multiple sites using SNI. You can also get a free cert from StartSSL. The barrier to entry is really low.

The only scenario where I wouldn't do it is a blog. There's probably no sensitive content there and without SSL you can use the free trier at CloudFlare to HN-proof it.

Re:A basic guide to when and how to deploy HTTPS by scott_karana on Sunday December 22, 2013 @03:35AM (#6949773)
Unfortunately, SNI support is still slightly limited, though admittedly it's a fantastic solution for the majority of the usage cases. :)
Re:A basic guide to when and how to deploy HTTPS by andrewaylett on Saturday December 21, 2013 @04:11PM (#6948075)
StartSSL has free certificates, or you can pay $60 for validation for a year which gives you unlimited certificates on unlimited domains with a 2Y expiry, so if your set of domains is reasonably static you only have to pay every two years.

You can also get alt names on your certificates, so if you want to support IE on XP or Android 2.2 then you can put several domains on the same certificate.

I have no interest in StartSSL, just a happy customer :).

Re:A basic guide to when and how to deploy HTTPS by hwatson on Saturday December 21, 2013 @03:34PM (#6947930)
> Digital Ocean, for example, won't give you more than 1 IPv4 address per VPS, which means you need a separate VPS for every side project, if you want to go HTTPS.

As long as you're not supporting clients running IE on WinXP or other similarly old web browsers, Server Name Indication (where the hostname is included as a part of the handshake) will work and it'll eliminate your need for more than one IP.

Re:A basic guide to when and how to deploy HTTPS by tombrossman on Saturday December 21, 2013 @03:41PM (#6947963)
I just typed a similar comment at nearly the same time but this is interesting to learn. I had no idea XP didn't like this? I know Android 2.2 and older wouldn't take intermediate SSL certs so I've already written off some of my traffic. Now I'll add XP to the group. In fairness, running XP or Android 2.2 now and you have bigger problems than SSL not working...
Re:A basic guide to when and how to deploy HTTPS by silentrob on Saturday December 21, 2013 @05:06PM (#6948289)
Setting up SSL even for small sites can be a HUGE PITA. Adding a Custom Cert to CloudFlare will cost you 200 a month[1].

It shouldn't be hard and you should have to pay such a premium for something that should just work by default. I helped create a Front-end PaaS a little while back[2] that believed in that philosophy, we worked hard to lower the barrier of entry for most things, including SSL.

The reality is understanding SSL, Encryption and everything involved is still overwhelming for most people. This article helps but we need more services to stop gouging people for doing or trying to do the right thing.

[1] https://www.cloudflare.com/plans [2] https://blog.harp.io/posts/harp-platform-now-public

Re:A basic guide to when and how to deploy HTTPS by tombrossman on Saturday December 21, 2013 @03:36PM (#6947934)
You don't need a unique IP per domain for SSL. I've got multiple $10/yr certs via Gandi for domains and I can put several on one DO VPS if I like. Tested and working, I have had no trouble at least with a basic SSL cert.
Re:A basic guide to when and how to deploy HTTPS by elithrar on Saturday December 21, 2013 @03:12PM (#6947832)
> Plus $50/yr for the certificate

This is certainly no longer true. $7 for a cert from Namecheap (domain validated).

Re:A basic guide to when and how to deploy HTTPS by evolve2k on Saturday December 21, 2013 @04:43PM (#6948200)
Just had a look at namecheap, can anyone explain the main reason to forgo the PositiveSSL option ($7/annum) and take out their more expensive option; EssentialSSL ($21/annum).
Re:A basic guide to when and how to deploy HTTPS by elithrar on Sunday December 22, 2013 @01:42AM (#6949586)
You get a "site seal" with EssentialSSL. Both are equivalent on a technical level, so go with PositiveSSL unless your users care about SSL branding (most don't).
Re:A basic guide to when and how to deploy HTTPS by _delirium on Saturday December 21, 2013 @04:37PM (#6948169)
Interesting, I guess I need to change providers. I last used RapidSSL, which advertises itself as a "low-cost" provider at $49: https://www.rapidssl.com/buy-ssl/
Re:A basic guide to when and how to deploy HTTPS by jonknee on Saturday December 21, 2013 @06:20PM (#6948518)
Interestingly you can buy the same RapidSSL certificate through Namecheap for $9.49. I'm not sure why they allow resellers to undercut them so dramatically, but I have been using Namecheap's version for years and the savings add up.

https://www.namecheap.com/ssl-certificates/geotrust-ssl-cert...

Re:A basic guide to when and how to deploy HTTPS by nine_k on Saturday December 21, 2013 @03:32PM (#6947923)
While your other points are all valid, certificates can be bought on the cheap, at least for side projects: $8/y from Comodo, $9.5/y from GeoTrust.
Re:A basic guide to when and how to deploy HTTPS by tomkinstinch on Saturday December 21, 2013 @12:21PM (#6947195)
Interestingly, the store side of Amazon appears to only use HTTPS for pages requiring credentials or those directly involved in a transaction. Try to view a product under HTTPS: it will redirect to HTTP. Session cookies can be intercepted and certain actions (adding an item to your wishlist, for example) can be completed without https. It seems that even with their compute resources Amazon has deemed the cost of deploying HTTPS on every page to be prohibitive.
Re:A basic guide to when and how to deploy HTTPS by belluchan on Saturday December 21, 2013 @12:49PM (#6947293)
Amazon is in a rare situation. They have razor thin margins and page load times can be equated to actual money lost. I doubt that can be said for very many websites.

Personally I'd very much like what products I look at while shopping to be private. Some enterprising little daughter or son may be snooping the wifi during christmas shopping season trying to figure out what is being bought for them you know.

Re:A basic guide to when and how to deploy HTTPS by primitivesuave on Saturday December 21, 2013 @01:00PM (#6947319)
You've taught your kids well :)
Re:A basic guide to when and how to deploy HTTPS by devhinton on Saturday December 21, 2013 @02:22PM (#6947614)
haha impressively well
Re:A basic guide to when and how to deploy HTTPS by kyrra on Saturday December 21, 2013 @03:26PM (#6947903)
Sounds like you should run a VPN server somewhere you can tunnel through when Christmas shopping.
Re:A basic guide to when and how to deploy HTTPS by Myrth on Saturday December 21, 2013 @06:03PM (#6948458)
Many people prefer partial HTTPS only for pages that need it. The danger of hijacking session id, mentioned in the article, is mitigated by IP protection - remembering client IP when session is created, and denying access of this session id for any other IP.
Re:A basic guide to when and how to deploy HTTPS by mcherm on Saturday December 21, 2013 @07:16PM (#6948717)
Thank you. I came here to say this.

Reasons NOT to use SSL:

* Server is not powerful enough to handle the extra compute load -- SOLUTION: go buy a server made in the past decade.

* Certificate costs too much -- SOLUTION: go get a free one.

* You hope caching will reduce the load on your servers -- SOLUTION: pay for a CDN or use bittorrent for distribution. Mostly, mid-network caching doesn't happen anyway.

That leaves just one reason:

* You want 3rd world spy agencies and hackers to be able to snoop on and hack your customers just like the NSA can.

Re:A basic guide to when and how to deploy HTTPS by declan on Saturday December 21, 2013 @04:09PM (#6948068)
That's not true.

Let me give you an example from mobile app development. As many of you know, Amazon's CloudFront lets you make an in-app connection to cdn.example.com, which may be a DNS alias for something like drj6nl5tupx60.cloudfront.net. Amazon will generate a cache hit or miss and, if not cached, connect to your example.com servers.

The ideal way to do this is to generate an SSL certificate for the CloudFront distribution, but Amazon charges you $7,200 per year for that privilege: http://aws.amazon.com/cloudfront/pricing/

So if you want to load non-private images, video, etc. content via HTTPS from cdn.example.com via SSL without giving Amazon $7,200 a year, there will be an invalid certificate chain error.

Some app development environments (not pointing any fingers right now in hopes this gets fixed quickly) do not support bypassing SSL certificate checks. So in some cases the answer is not to deploy HTTPS. :(

Re:A basic guide to when and how to deploy HTTPS by 6cxs2hd6 on Saturday December 21, 2013 @11:00PM (#6949284)
> *The ideal way to do this is to generate an SSL certificate for the CloudFront distribution, but Amazon charges you $7,200 per year for that privilege: http://aws.amazon.com/cloudfront/pricing/

Maybe using SSL as an opportunity for a premium price gouge was smart business practice in the 90s. But these days, it's wrong.

Charge for the actual cost. Even add your customary markup. But not some arbitrary $7200 fee.

It may be legal, but it's unethical. Until they change it, Jeff Bezos and Werner Vogels should be ashamed of doing this.

Re:A basic guide to when and how to deploy HTTPS by rschmitty on Saturday December 21, 2013 @11:15PM (#6949320)
What's wrong with using the https on drj6nl5tupx60.cloudfront.net? Honest question.. no one is going to notice if they are getting assets on cdn.company.com vs drj6nl5tupx60.cloudfront.net, right?
Re:A basic guide to when and how to deploy HTTPS by declan on Sunday December 22, 2013 @12:55AM (#6949517)
It is a fair question. And you're right that no app user will ever notice.

The problem is that it locks you into Amazon. If another company comes out with a much cheaper offering, or you want to switch to Google Cloud Storage, or (unlikely but I suppose possible) Amazon boots you for one reason or another, you're out of luck until you can get your installed base of app users to upgrade.

Re:A basic guide to when and how to deploy HTTPS by nitrogen on Saturday December 21, 2013 @06:24PM (#6948532)
Some app development environments (not pointing any fingers right now in hopes this gets fixed quickly) do not support bypassing SSL certificate checks. So in some cases the answer is not to deploy HTTPS. :(

Wouldn't it be better to be able to specify a set of accepted key fingerprints, instead of bypassing security checks altogether? Outright bypassing security checks will make MITM too easy.

Re:A basic guide to when and how to deploy HTTPS by jiggy2011 on Saturday December 21, 2013 @01:58PM (#6947536)
What if some of your users will be behind a network level web-filter (like the one soon to be deployed in the UK)? If you run HTTPs your entire site will be blocked because 1 page fails the filter (because of a single swear word for example).
Re:A basic guide to when and how to deploy HTTPS by JoshTriplett on Saturday December 21, 2013 @02:32PM (#6947654)
Then HTTPS is doing its job by preventing an active MITM attack by a hostile third party.

Option 1: negotiate with the filter maintainers to get your site whitelisted; that may require changing your content, but a site in which you have a commercial interest probably shouldn't have content on it that trips most filters (with some obvious exceptions on which the filter would be doing its job).

Option 2: inform your users that they need to opt out of the filter in question, assuming they're in a situation/regime that allows doing so. Make it clear to them exactly which content is tripping the filter, and hope their reaction is "that's absurd".

Option 3: maintain an insecure HTTP site for use from such locations, and arrange to redirect there or inform your users that they'll need to use that version due to the filter they're using.

Re:A basic guide to when and how to deploy HTTPS by Silhouette on Saturday December 21, 2013 @09:21PM (#6949052)
Nonsense. Blocking HTTPS traffic rules out far too many useful/essential things: e-commerce for home users, VPNs for business users away from the office, online banking and other financial services, any sort of government service that requires authentication. The list goes on and on, and the people most likely to defend secure browsing are going to be the likes of governments and financial institutions.
Re:A basic guide to when and how to deploy HTTPS by pushrax on Saturday December 21, 2013 @02:16PM (#6947595)
HTTPS means PG-13 in the UK's network filter?
Re:A basic guide to when and how to deploy HTTPS by jiggy2011 on Saturday December 21, 2013 @02:31PM (#6947651)
With https the filter cannot mitm and figure out which page is being accessed, so will have to block the entire site.
Re:A basic guide to when and how to deploy HTTPS by BgSpnnrs on Saturday December 21, 2013 @02:40PM (#6947695)
What filter are you discussing? AFAIK UK filtering is done by ISPs and conforms to their own solutions, there is no plan for a statewide filtering system.
Re:A basic guide to when and how to deploy HTTPS by jiggy2011 on Saturday December 21, 2013 @02:47PM (#6947718)
The filtering will be enabled by default for all large ISPs, so potentially a large % of the UK. You have the same problem with HTTPS either way.
Re:A basic guide to when and how to deploy HTTPS by revelation on Saturday December 21, 2013 @03:55PM (#6948022)
I do not think thats how these filters operate. No banking/shopping site would properly function. They are just stupid IP based filters.
Re:A basic guide to when and how to deploy HTTPS by crazygringo on Saturday December 21, 2013 @04:31PM (#6948149)
Why on earth would I serve a blog of lolcats over HTTPS?

Or really any site that doesn't involve logins, passwords, accounts, or sensitive data of any kind?

Re:A basic guide to when and how to deploy HTTPS by rythie on Saturday December 21, 2013 @05:48PM (#6948421)
ISPs or anyone could still insert malicious javascript into your site, or present download buttons or login features on your site.

Visits to your site could be logged by IT departments, getting your users in trouble.

Also I've actually heard of places where port 80 is actually blocked by default (but 443 isn't) and you need permission on a site by site basis to get it unblocked.

Re:A basic guide to when and how to deploy HTTPS by dredmorbius on Sunday December 22, 2013 @01:09PM (#6951029)
I've actually heard of places where port 80 is actually blocked by default

That's impressive.

Re:A basic guide to when and how to deploy HTTPS by willnorris on Sunday December 22, 2013 @03:05AM (#6949730)
because if security and privacy is only limited to sensitive or controversial sites, then the use of security and privacy become suspect. If ALL internet traffic were encrypted, it would make surveillance that much more difficult because you can't find the signal in the noise. Cory Doctorow's book, Little Brother, talks a bit about this... in fact, that book was one of the motivations for Google starting to encrypt web search traffic years ago.

(more of my own writing on the topic: https://willnorris.com/tag/https)

Re:A basic guide to when and how to deploy HTTPS by rakoo on Saturday December 21, 2013 @05:32PM (#6948370)
I, as a potential target for Mitm, would like to be sure that what I'm accessing is your blog, and not some phishing crap.
Re:A basic guide to when and how to deploy HTTPS by vacri on Saturday December 21, 2013 @04:48PM (#6948219)
Presumably your lolcat blog still has an admin login, and in the spirit of the first part of the article, even this would be HTTPS'd.
Re:A basic guide to when and how to deploy HTTPS by sukaka on Saturday December 21, 2013 @02:43PM (#6947705)
Account activity should also be a must for your users. Session id will not be as useful when users can monitor their accounts. It's a work in progress, but I'm writing a page on good application login design https://tagsauce.com/docs/designsnippets
Re:A basic guide to when and how to deploy HTTPS by laumars on Saturday December 21, 2013 @01:01PM (#6947322)
From an idealistic point of view you're right, but in practice I disagree as HTTPS doesn't have persistent cache. So even without the encryption overhead, HTTPS can be very costly for popular sites if they don't have user logins (eg news sites).
Re:A basic guide to when and how to deploy HTTPS by agwa on Saturday December 21, 2013 @01:26PM (#6947428)
> HTTPS doesn't have persistent cache

This is untrue so please don't perpetuate this myth. If you send the `Cache-Control: public` header, the resource will be cached to disk just as it would without HTTPS.

Re:A basic guide to when and how to deploy HTTPS by laumars on Saturday December 21, 2013 @01:44PM (#6947496)
> This is untrue so please don't perpetuate this myth.

That sentence is somewhat unnecessary as I wouldn't have posted that unless I believed it to be true. The rest of your post is valid enough (in fact extremely helpful) not to need to such a prefix.

Anyhow, I'm not out to start an argument and I genuinely am grateful you have corrected me because obviously I wasn't aware of the "public" option in the cache-control header and this is something I can actually put to use right away.

So thank you for the correction :)

Re:A basic guide to when and how to deploy HTTPS by agwa on Saturday December 21, 2013 @05:55PM (#6948432)
> not to need to such a prefix

You're right; sorry about that. I do get annoyed when I see bogus reasons for not deploying HTTPS. It's made all the worse by people who actually know better but spread FUD because they stand to make a profit from selling expensive HTTPS accelerator appliances. But that's clearly not the case here and doesn't excuse my comment, which, upon reflection, was too harsh.

Re:A basic guide to when and how to deploy HTTPS by laumars on Saturday December 21, 2013 @06:04PM (#6948466)
That's ok. As you said, I should know better (and now I do)
Re:A basic guide to when and how to deploy HTTPS by ars_technician on Saturday December 21, 2013 @02:06PM (#6947558)
It may have been a little harsh, but I think it was necessary to point out that it wasn't true and that he wasn't just posting some hack or workaround.
Re:A basic guide to when and how to deploy HTTPS by tlogan on Saturday December 21, 2013 @01:17PM (#6947378)
I still have to build company where I see problem where HTTP makes things faster than HTTPS. When I come to level that HTTPS is causing too much CPU usage I will be super super happy.
Re:A basic guide to when and how to deploy HTTPS by joevandyk on Saturday December 21, 2013 @01:25PM (#6947422)
it's not the cpu usage people worry about generally, it's the extra network trips / latency.
Re:A basic guide to when and how to deploy HTTPS by riquito on Saturday December 21, 2013 @02:08PM (#6947561)
SPDY requires encryption and yet it's overall faster than HTTP. If you have HTTPS on you may as well serve your pages over SPDY to the browsers that support it
Re:A basic guide to when and how to deploy HTTPS by laumars on Saturday December 21, 2013 @06:02PM (#6948455)
SPDY is less secure than HTTPS though[1]. Plus also supported by less web browsers / HTTP clients than HTTPS too.

[1] http://www.pcworld.com/article/262307/crime_attack_abuses_ss...

Re:A basic guide to when and how to deploy HTTPS by riquito on Saturday December 21, 2013 @06:09PM (#6948483)
Did you even read the article you linked? The CRIME attack involves SSL/TLS, that both HTTPS and SPDY use.
Re:A basic guide to when and how to deploy HTTPS by laumars on Sunday December 22, 2013 @05:44AM (#6949966)
The CRIME attack isn't just blindly attacking SSL/TLS like you rudely insinuated. CRIME specifically targets traffic over compressed SSL/TLS connections, using the deflation to leak cookies. The simple fix to this is to disable SSL/TLS compression, which is easily done in HTTPS (and in fact should be disabled if you want PCI compliance), but SSL/TLS compression cannot be disabled in SPDY.

Sorry I didn't categorically spell this out for you earlier, I forgot some people need spoon-feeding the facts about the technology they advocate - even after you've already cited a massively dumbed down article on the subject already.

(and nasty tone of my post is a result of me getting fed up with the way how you, and everyone else it seems, feels is appropriate to talk to each other on HN. This place never used to be quite so rude)

Re:A basic guide to when and how to deploy HTTPS by riquito on Monday December 23, 2013 @05:18AM (#6953761)
I'm sorry, I was certainly rude, please excuse me.
Re:A basic guide to when and how to deploy HTTPS by arn on Saturday December 21, 2013 @01:58PM (#6947539)
it's not quite that easy. If your adnetwork doesn't support SSL, you get mixed-content warnings. Same issue if you allow external images to be included (such as on a forum). You have to then host a caching proxy for external images.
Re:A basic guide to when and how to deploy HTTPS by why-el on Saturday December 21, 2013 @01:41PM (#6947483)
Well as long as you have the money. I know it's might be trivial for some, but for instance paying 20 dollars a month for Heroku SSL when you are running an app and you are in a developing country (me for instance) is a bit much.
Re:A basic guide to when and how to deploy HTTPS by ars_technician on Saturday December 21, 2013 @02:05PM (#6947555)
Paying for Heroku is a little much.
Re:A basic guide to when and how to deploy HTTPS by why-el on Sunday December 22, 2013 @01:34AM (#6949573)
True, but it can sustain a free app for a long time given how small the niche is. It's only when you want to consider SSL when things get crazy..