Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Don’t trust publisher payment information over HTTP #104

Open
da2x opened this issue Feb 15, 2017 · 9 comments
Open

Don’t trust publisher payment information over HTTP #104

da2x opened this issue Feb 15, 2017 · 9 comments

Comments

@da2x
Copy link
Contributor

da2x commented Feb 15, 2017

Too tempting for public access points, caches, proxies, ISPs, malicious software, attackers, and myself to intercept HTTP requests to /tipsy.txt and insert their own payment information. The same goes for payment information extracted from pages.

I’ll submit a patch with the following logic change:

  • Only read on-page payment details over HTTPS
  • If HTTP page or no on-page payment details, then try to load /tipsy.txt over HTTPS.

This will allow publishers who for technical reasons still stick with HTTP for their main page to still supply payment information for Tipsy over HTTPS.

Browsers will begin marking websites loaded over HTTP as insecure later this year, so this policy is just keeping up with the times.

@tbranyen
Copy link
Member

Is this to help mitigate MITM attempts?

@da2x
Copy link
Contributor Author

da2x commented Feb 16, 2017

Indeed. “public access points, caches, proxies, ISPs, malicious software, attackers” all qualify as men/women/persons/services in the middle.

@karger
Copy link
Member

karger commented Feb 16, 2017

My only concern here is novices who haven't implemented https for their sites. Is there a way we can let them use http without compromising anyone else's tipsy security? Possibly not; obvious schemes don't work. For example, if I try https first and failover to http, then the MITM can just block the https connection to trick me.

@schilippe
Copy link
Contributor

schilippe commented Feb 16, 2017 via email

@da2x
Copy link
Contributor Author

da2x commented Feb 16, 2017

there a way we can let them use http without compromising anyone else's tipsy security?

Setup a central register and curate a verified list. Painful, time-consuming, and undesirable.

Total novices host with Blogger, GitHub, WordPress, Squarespace, etc. These already provide HTTPS by default for their users.

HTTP-only origins already have limited access to modern browser APIs.

As I said, http will be marked as insecure in leading browsers later this year. (Actually, the first start at the end of the month!) Plain-text HTTP is taking it’s dying breaths.

@da2x
Copy link
Contributor Author

da2x commented Feb 16, 2017

… which reminds me that the project website is HTTP-only. 👎

@karger
Copy link
Member

karger commented Feb 16, 2017 via email

@tbranyen
Copy link
Member

tbranyen commented Feb 16, 2017

@karger I set up https://letsencrypt.org/ (free and open certificates) recently and it's been working well. used certbot which is a CLI tool that verifies your domain and issues the certificate. you can set it up to run on a schedule with cron as well (although I used systemd on my server). I can try and get a list of commands together to run to set this up, or help someone else who has access.

@karger
Copy link
Member

karger commented May 24, 2017

It took a while but thanks to netlify I've been able to move http://tipsy.news/ to support https://tipsy.news/ as well.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants