spesmilo / spesmilo/electrum

Enable HSTS Preload in electrum.org domain to avoid MITM attacks

Open
#1,901 3 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement ✨
Dominant language
Python
Stars
8.6k
Forks
3.5k
Avg merge
2d 8h
Merged PRs (30d)
61

Description

At present, the electrum.org domain sends this header
Strict-Transport-Security: max-age=31536000

This header is also known as HSTS, it tells the browser to only connect using HTTPS for the next 365 days.

The problem appears when the client is visiting electrum.org for the first time (or in incognito mode, or has deleted cache, etc.) The browser does not know that has to use HTTPS to browse to electrum.org so when the user types the domain in his browser he will be connecting to http:// electrum.org instead of https:// electrum.org. If the network is being attacked they could be phised.

How to fix it:
Add the includeSubDomains and preload directive to the header sent.
Strict-Transport-Security: max-age=31536000; includeSubDomains; preload

Then just submit electrum.org domain to the HSTS Preload list in Chrome, Firefox and IE. This can be done easily.

Once submitted the next releases of the browsers will include circle.com in the HSTS Preload list and no one could load electrum.org via HTTP again.

As an example, bitcoin-related websites already using HSTS preloading include Coinbase, Coinapult, Bitgo, Localbitcoins, bitcoin.de, blockchain.info, GDAX and Multibit.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by locating the server configuration for electrum.org and verify the current Strict-Transport-Security response over HTTPS. Update the response to include includeSubDomains and preload, then check the HSTS preload submission requirements and verify that HTTP access is covered. Done means the header is correct and electrum.org is accepted for preloading.

Written by the indexing model from the issue text.

Assessment

Domain
security, web-dev
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
28/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.