public inbox for development@lists.ipfire.org
 help / color / mirror / Atom feed
From: Michael Tremer <michael.tremer@ipfire.org>
To: development@lists.ipfire.org
Subject: Re: CA and HTTPS usage on *.ipfire.org (was: Re: [PATCH v2] WebUI: print more information on used nameservers)
Date: Sun, 24 Sep 2017 23:00:02 +0100	[thread overview]
Message-ID: <1506290402.2813.26.camel@ipfire.org> (raw)
In-Reply-To: <20170915222637.16f1ec6a.peter.mueller@link38.eu>

[-- Attachment #1: Type: text/plain, Size: 6068 bytes --]

Hi,

On Fri, 2017-09-15 at 22:26 +0200, Peter Müller wrote:
> Hello Michael, hello Matthias,
> 
> a few thoughts on this from me:
> 
> (1) @Michael: Thank you for having a look at this. In
> my opinion, enabling HTTPS on all *.ipfire.org sites by
> default would be a huge security benefit.
> 
> Of course, this needs time and testing, so no pressure. :-)
> 
> Especially on download sites HTTPS would be nice in
> case someone verifies the downloaded ISO - when transmitted
> in plaintext, both image and checksum might be modified
> by a MITM.
> 
> Further, there is still SHA1 in use on http://download.ipfire.org/,
> but that is another issue.

Indeed it is. We have ticket for that:
  https://bugzilla.ipfire.org/show_bug.cgi?id=11345

> (2) Speaking about the CAs: I do not know what opinion
> to have here.
> 
> On the one hand, using your own project CA is good since
> nobody except the visitors has to rely on some external
> certificate signing company.

Agreed. I do not trust any of those public CAs - at all. They have a
commercial interest and that is it.

> Publishing the TLSA-records tells everyone that this CA -
> which is untrusted by all current browsers - is legitimate
> on *.ipfire.org.

We do this.

http://planet.ipfire.org/post/ipfire-org-is-signed-now

> On the other hand, there are two points against it:
> (a) Nobody actually uses TLSA/DANE for validating web site
> certificates (this is different when it comes to SMTP). So,
> nearly every user will see a certificate warning.

Indeed not a single browser is verifying it. There is plugins that can
show an icon and that's it.

We also do this for our mail server which does not have a publicly
signed certificate.

> Personally, i suppose DANE will never be implemented in
> web browsers. There are too many collisions with the systems
> DNS service, and network stacks, and the network's firewall
> rules, and so on. Sad, but that is what we (do not) have.

I am not convinced that this has technical reasons. It just puts some
big businesses will lose a machine that prints them money.

Nobody there is interested in the security. They are interested in the
money.

> So, enabling HTTPS on all or at least some very important
> IPFire sites will cause more user complaints.

Indeed. That is why we don't enforce it.

> Further, and that is a _very_ big problem in my eyes, it
> actually decreases transport encryption security: Every time
> a user accesses *.ipfire.org, he/she/it has to bypass a
> certificate warning - at least in FF, there is no easy way
> to store the exception permanently.
> 
> In case a MITM injects his own certificate to break TLS,
> the user will see a certificate warning which is nearly
> identical to those shown usually for IPFire's CA. And the
> user will mostly bypass this - very well-known - warning,
> an the attacker won.
> 
> To prevent this, you MUST check the certificates checksum
> against the value you know is legitimate. Every time.
> 
> Nobody will do so.

Agreed.

> (b) As I mentioned above, I completely understand your point
> having an own CA. However, I do not think this is so important
> for public web services:

I emphasise here on "web services". I am not even sure if Let's Encrypt
can issue certificates for our internal LDAP server or our mail server,
etc.

> As far as I am concerned, there is no "trust" in case of CA
> companies. Some of them showed a really unprofessional behaviour
> (DigiNotar, WoSign, Symantec, ...) and are/were either kicked
> off business by their customers or the web browser developers.

So why would we assume that Let's Encrypt is doing a better job? Just
because they are sponsored by some of the "good guys"?

> You only "trust" a CA to validate if a certain domain really
> belongs to the person who claims so.
> 
> In case there is a certificate in use signed by a foreign CA,
> what should happen? Nobody except the server admin has the
> private key, and there are many techniques to prevent modern
> browsers accepting any certificate for your domain, such as:

So let's split all of this:

> - DANE/TLSA (specifies which certificate [chain] is valid)

We can just install that for the Let's Encrypt CA. It doesn't make
sense to have TLSA records for each cert because they will be replaced
very very quickly.

> - CAA (DNS record, rather new, specifies which CAs can issue
> certificates for this site, might be supported by common browsers
> some day)

I need to implement that in our DNS server software, but that is not a
big thing. Will do that soon.

> - HSTS (preventing a MITM from downgrading to plaintext)

Who wants to take care of this?

> - HPKP (as DANE, but supported by modern browsers, TOFU
> [Trust On First Use] = first connection must be clean)

Same.

And who would like to create tickets on BZ for all of this?

> Except from going out of business, I do not see any risk for
> a web site owner here. That is, in case all or some of the
> mentioned methods are implemented.

LOL, we are not a business. We are an Open Source project.

> Let's Encrypt (LE) seems to be different from other CAs since
> they use standardised methods and act quite transparently.
> Further, there are some "major players" behind it (Mozilla,
> EFF, ...) which have a good reputation. This - hopefully -
> means that there will be no security breaches like in case
> of DigiNotar.

I don't share your hope, but I do not want to fight this. I have been
trialing Let's Encrypt a little bit on some web shops and other things
and it does the job. To be honest I do not see the point in spending
the money on a different vendor of certificates. So take that as: They
are not worse than those.

> To come to an end, using LE as a CA for *.ipfire.org will
> not harm the security of IPFire significantly. It reduces
> browser alerts and a possible security threat (see above),
> making it easier to deploy HTTPS.

Let's do it then.

I need some support here, because I am running out of time.

> Needless to say, DANE/HSTS/CAA are obligatory.
> 
> Best regards,
> Peter Müller

-Michael

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

  reply	other threads:[~2017-09-24 22:00 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-09-08 17:58 [PATCH v2] WebUI: print more information on used nameservers Peter Müller
2017-09-09 10:37 ` Matthias Fischer
2017-09-12  4:38   ` Peter Müller
2017-09-12 16:26     ` Matthias Fischer
2017-09-14 20:41       ` Michael Tremer
2017-09-15 15:05         ` Matthias Fischer
2017-09-15 20:26           ` CA and HTTPS usage on *.ipfire.org (was: Re: [PATCH v2] WebUI: print more information on used nameservers) Peter Müller
2017-09-24 22:00             ` Michael Tremer [this message]
2017-09-25 15:48               ` Peter Müller
2017-10-25 14:25                 ` CA and HTTPS usage on *.ipfire.org Michael Tremer
2017-10-25 20:12                   ` Peter Müller
2017-10-26 10:31                     ` Michael Tremer
2017-10-26 19:24                       ` Peter Müller
2017-10-27 14:44                         ` Michael Tremer
2018-01-29 12:14                           ` Michael Tremer
2018-01-29 14:17                             ` Jeffrey Walton
2017-09-17  7:39 ` [PATCH v2] WebUI: print more information on used nameservers Matthias Fischer

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1506290402.2813.26.camel@ipfire.org \
    --to=michael.tremer@ipfire.org \
    --cc=development@lists.ipfire.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox