Mattermost-server: TLS 1.0 still shows up even though TLSMinVer set to 1.2

Created on 24 Jan 2019  Â·  17Comments  Â·  Source: mattermost/mattermost-server

Summary

After setting TLSMinVer to 1.2 ConnectionSecurity to TLS and setting my preferred TLSOverwriteCiphers list, TLS 1.0 still shows available without any ciphers when I scan it via ssllabs.com

Steps to reproduce

My Settings are as follows:
"ConnectionSecurity": "TLS,
"TLSMinVer": "1.2",
"TLSStrictTransport": true,
"TLSStrictTransportMaxAge": 63072000,
"TLSOverwriteCiphers": ["TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256","TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384","TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA"],

After setting these values, I scanned my site via https://www.ssllabs.com/ssltest/analyze.html?d=mattermost.server.fqdn

Expected behavior

I expect the only connection to be possible by TLS 1.2 or greater.

Observed behavior (that appears unintentional)

On the ssllabs report the protocol support is as follows:

Protocols

TLS 1.3 | No
TLS 1.2 | Yes
TLS 1.1 | No
TLS 1.0 | Yes
SSL 3 | No
SSL 2 | No
For TLS 1.3 tests, we only support RFC 8446.

Possible fixes

I do not have the relevant experience to point specifically to where this code should be resolved.

Bug ReporOpen

All 17 comments

Hi @bgibson710, can you help confirm what Mattermost server version you're currently on?

Oops sorry I'm on 5.7.0.

@bgibson710 The documentation states that "This setting only takes effect if you are using the built-in server binary directly, and not using a reverse proxy layer such as NGINX" https://docs.mattermost.com/administration/config-settings.html#tls-minimum-version

Can you help confirm this is the case on your server?

Yes, I do have haproxy in front of it, but it's just doing a TCP pass through, not doing anything with SSL at all, and the mattermost binary is setting the TLS settings itself.

Hi @bgibson710,

One of our community members helped with this:

"Not sure why SSL Labs shows TLS 1.0 as enabled, but:

Wikipedia on 'Cipher suite':

If the client and server do not agree on a cipher suite, no connection will be made.

You mentioned that Mattermost returns an empty cipher list. That means, the client will be unable to continue, as I understand it.

(Even if it's not disabled clients shouldn't be able to use TLS 1.0.)

That is the behavior I see as well however it shouldn't even advertise the protocol. If a client initiates with tls 1.0 it should drop not respond with an empty cipher list.

Hi @bgibson710,

Letting you know that we've opened a Jira ticket to investigate this. Since this is a security related issue, I'm not able to link the ticket here, but we'll let you know any updates.

@amyblais Do you have updates on this ticket?

No updates; there is an internal ticket open for this.

@bgibson710 Sorry for the ... very late response to this ticket. I just tried to reproduce this, and for me the SSL Labs results came back as expected. Did you restart the server after adapting the configuration?

Yeah we’ve patched the server several times as well. It’s still showing up on my server.

https://ssllabs.com/ssltest/analyze.html?d=mattermost.imsweb.com&latest

We’re running 5.15.0.

From: Daniel Schalla [mailto:[email protected]]
Sent: Friday, October 4, 2019 8:06 AM
To: mattermost/mattermost-server mattermost-server@noreply.github.com
Cc: Gibson, Brian (IMS) GibsonB@imsweb.com; Mention mention@noreply.github.com
Subject: Re: [mattermost/mattermost-server] TLS 1.0 still shows up even though TLSMinVer set to 1.2 (#10130)

@bgibson710https://github.com/bgibson710 Sorry for the ... very late response to this ticket. I just tried to reproduce this, and for me the SSL Labs results came back as expected. Did you restart the server after adapting the configuration?

—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/mattermost/mattermost-server/issues/10130?email_source=notifications&email_token=AA6NCEHBOMUFBZLJUL62IN3QM4WTVA5CNFSM4GSD3GX2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEALN34I#issuecomment-538369521, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AA6NCEAO6P4MG6AW76OB3U3QM4WTVANCNFSM4GSD3GXQ.


Information in this e-mail may be confidential. It is intended only for the addressee(s) identified above. If you are not the addressee(s), or an employee or agent of the addressee(s), please note that any dissemination, distribution, or copying of this communication is strictly prohibited. If you have received this e-mail in error, please notify the sender of the error.

What surprises me is that TLS1.1 is listed as not active, but TLS1.0 and TLS1.2 is - I've set up a test instance here with the following setup:

Software:

  • Ubuntu 18.04
  • Mattermost 5.15
  • MySQL
  • No NGINX, proxy or Cloudflare configured

SSL Labs:
https://www.ssllabs.com/ssltest/analyze.html?d=tlstest.dev.spinmint.com&hideResults=on

URL:
https://tlstest.dev.spinmint.com/login

Config:

    "ServiceSettings": {
        "SiteURL": "https://tlstest.dev.spinmint.com",
        "WebsocketURL": "",
        "LicenseFileLocation": "",
        "ListenAddress": ":443",
        "ConnectionSecurity": "TLS",
        "TLSCertFile": "",
        "TLSKeyFile": "",
        "TLSMinVer": "1.2",
        "TLSStrictTransport": false,
        "TLSStrictTransportMaxAge": 63072000,
        "TLSOverwriteCiphers": [],
        "UseLetsEncrypt": true,
        "LetsEncryptCertificateCacheFile": "./config/letsencrypt.cache",
        "Forward80To443": true,

For this server only TLS1.2 is listed as active, as expected. In the SSLLabs link you've shared in our case either all TLS versions must be active or in succeeding versions, our code path does not accept any version skipping:

https://github.com/mattermost/mattermost-server/blob/92262a2eca3e5f08c762126b8031e31503dc61f5/app/server.go#L549-L555

If not explicitly 1.0 or 1.1 is given, it defaults back to the minimum version of TLS1.2 - Could you share your config (feel free to sanitize sensitive data of course) and confirm that no proxy or CDN is in front of the URL?

Attached our config file. I did redact secrets and keys.

From: Daniel Schalla [mailto:[email protected]]
Sent: Friday, October 4, 2019 8:17 AM
To: mattermost/mattermost-server mattermost-server@noreply.github.com
Cc: Gibson, Brian (IMS) GibsonB@imsweb.com; Mention mention@noreply.github.com
Subject: Re: [mattermost/mattermost-server] TLS 1.0 still shows up even though TLSMinVer set to 1.2 (#10130)

What surprises me is that TLS1.1 is listed as not active, but TLS1.0 and TLS1.2 is - I've set up a test instance here with the following setup:

Software:

  • Ubuntu 18.04
  • Mattermost 5.15
  • MySQL
  • No NGINX, proxy or Cloudflare configured

SSL Labs:
https://www.ssllabs.com/ssltest/analyze.html?d=tlstest.dev.spinmint.com&hideResults=on

URL:
https://tlstest.dev.spinmint.com/login

Config:

"ServiceSettings": {

    "SiteURL": "https://tlstest.dev.spinmint.com",

    "WebsocketURL": "",

    "LicenseFileLocation": "",

    "ListenAddress": ":443",

    "ConnectionSecurity": "TLS",

    "TLSCertFile": "",

    "TLSKeyFile": "",

    "TLSMinVer": "1.2",

    "TLSStrictTransport": false,

    "TLSStrictTransportMaxAge": 63072000,

    "TLSOverwriteCiphers": [],

    "UseLetsEncrypt": true,

    "LetsEncryptCertificateCacheFile": "./config/letsencrypt.cache",

    "Forward80To443": true,

For this server only TLS1.2 is listed as active, as expected. In the SSLLabs link you've shared in our case either all TLS versions must be active or in succeeding versions, our code path does not accept any version skipping:

https://github.com/mattermost/mattermost-server/blob/92262a2eca3e5f08c762126b8031e31503dc61f5/app/server.go#L549-L555

If not explicitly 1.0 or 1.1 is given, it defaults back to the minimum version of TLS1.2 - Could you share your config (feel free to sanitize sensitive data of course) and confirm that no proxy or CDN is in front of the URL?

—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/mattermost/mattermost-server/issues/10130?email_source=notifications&email_token=AA6NCEAUBZD7XUB66BWLLSLQM4X4BA5CNFSM4GSD3GX2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEALOTSA#issuecomment-538372552, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AA6NCECE6VYMTSAPSREZX3TQM4X4BANCNFSM4GSD3GXQ.


Information in this e-mail may be confidential. It is intended only for the addressee(s) identified above. If you are not the addressee(s), or an employee or agent of the addressee(s), please note that any dissemination, distribution, or copying of this communication is strictly prohibited. If you have received this e-mail in error, please notify the sender of the error.

@bgibson710 Would you be open to upgrading to our most recent release v5.18? Our devs mentioned that 5.15 and below versions cannot be easily tested, because those still use ACMEv1, which has been deprecated by Let’s Encrypt since November.

We generally do update to the most recent releases. Mike which version are we on now?

From: Amy Blais [mailto:[email protected]]
Sent: Thursday, January 9, 2020 10:58 AM
To: mattermost/mattermost-server mattermost-server@noreply.github.com
Cc: Gibson, Brian (IMS) GibsonB@imsweb.com; Mention mention@noreply.github.com
Subject: Re: [mattermost/mattermost-server] TLS 1.0 still shows up even though TLSMinVer set to 1.2 (#10130)

@bgibson710https://github.com/bgibson710 Would you be open to upgrading to our most recent release v5.18? Our devs mentioned that 5.15 and below versions cannot be easily tested, because those still use ACMEv1, which has been deprecated by Let’s Encrypt since November.

—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/mattermost/mattermost-server/issues/10130?email_source=notifications&email_token=AA6NCEFF3RYY4JKXPDVS5EDQ45CO7A5CNFSM4GSD3GX2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEIQZCXY#issuecomment-572625247, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AA6NCECAUXC2BQZW5XCR53DQ45CO7ANCNFSM4GSD3GXQ.


Information in this e-mail may be confidential. It is intended only for the addressee(s) identified above. If you are not the addressee(s), or an employee or agent of the addressee(s), please note that any dissemination, distribution, or copying of this communication is strictly prohibited. If you have received this e-mail in error, please notify the sender of the error.

We are on 5.18.0

From: Gibson, Brian (IMS)
Sent: Thursday, January 9, 2020 10:59 AM
To: mattermost/mattermost-server reply@reply.github.com; mattermost/mattermost-server mattermost-server@noreply.github.com
Cc: Mention mention@noreply.github.com; Feld, Michael (IMS) FeldM@imsweb.com
Subject: RE: [mattermost/mattermost-server] TLS 1.0 still shows up even though TLSMinVer set to 1.2 (#10130)

We generally do update to the most recent releases. Mike which version are we on now?

From: Amy Blais [mailto:[email protected]]
Sent: Thursday, January 9, 2020 10:58 AM
To: mattermost/mattermost-server mattermost-server@noreply.github.com
Cc: Gibson, Brian (IMS) GibsonB@imsweb.com; Mention mention@noreply.github.com
Subject: Re: [mattermost/mattermost-server] TLS 1.0 still shows up even though TLSMinVer set to 1.2 (#10130)

@bgibson710https://github.com/bgibson710 Would you be open to upgrading to our most recent release v5.18? Our devs mentioned that 5.15 and below versions cannot be easily tested, because those still use ACMEv1, which has been deprecated by Let’s Encrypt since November.

—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/mattermost/mattermost-server/issues/10130?email_source=notifications&email_token=AA6NCEFF3RYY4JKXPDVS5EDQ45CO7A5CNFSM4GSD3GX2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEIQZCXY#issuecomment-572625247, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AA6NCECAUXC2BQZW5XCR53DQ45CO7ANCNFSM4GSD3GXQ.


Information in this e-mail may be confidential. It is intended only for the addressee(s) identified above. If you are not the addressee(s), or an employee or agent of the addressee(s), please note that any dissemination, distribution, or copying of this communication is strictly prohibited. If you have received this e-mail in error, please notify the sender of the error.

Looks like the issue has been fixed as well. Not sure what specific version, but that doesn’t matter to me ☺ Scan now shows that TLS 1.0 handshakes are not available anymore.

Thank you!

From: Feld, Michael (IMS)
Sent: Thursday, January 9, 2020 11:00 AM
To: Gibson, Brian (IMS) GibsonB@imsweb.com; mattermost/mattermost-server reply@reply.github.com; mattermost/mattermost-server mattermost-server@noreply.github.com
Cc: Mention mention@noreply.github.com
Subject: RE: [mattermost/mattermost-server] TLS 1.0 still shows up even though TLSMinVer set to 1.2 (#10130)

We are on 5.18.0

From: Gibson, Brian (IMS)
Sent: Thursday, January 9, 2020 10:59 AM
To: mattermost/mattermost-server reply@reply.github.com; mattermost/mattermost-server mattermost-server@noreply.github.com
Cc: Mention mention@noreply.github.com; Feld, Michael (IMS) FeldM@imsweb.com
Subject: RE: [mattermost/mattermost-server] TLS 1.0 still shows up even though TLSMinVer set to 1.2 (#10130)

We generally do update to the most recent releases. Mike which version are we on now?

From: Amy Blais [mailto:[email protected]]
Sent: Thursday, January 9, 2020 10:58 AM
To: mattermost/mattermost-server mattermost-server@noreply.github.com
Cc: Gibson, Brian (IMS) GibsonB@imsweb.com; Mention mention@noreply.github.com
Subject: Re: [mattermost/mattermost-server] TLS 1.0 still shows up even though TLSMinVer set to 1.2 (#10130)

@bgibson710https://github.com/bgibson710 Would you be open to upgrading to our most recent release v5.18? Our devs mentioned that 5.15 and below versions cannot be easily tested, because those still use ACMEv1, which has been deprecated by Let’s Encrypt since November.

—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/mattermost/mattermost-server/issues/10130?email_source=notifications&email_token=AA6NCEFF3RYY4JKXPDVS5EDQ45CO7A5CNFSM4GSD3GX2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEIQZCXY#issuecomment-572625247, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AA6NCECAUXC2BQZW5XCR53DQ45CO7ANCNFSM4GSD3GXQ.


Information in this e-mail may be confidential. It is intended only for the addressee(s) identified above. If you are not the addressee(s), or an employee or agent of the addressee(s), please note that any dissemination, distribution, or copying of this communication is strictly prohibited. If you have received this e-mail in error, please notify the sender of the error.

Was this page helpful?
0 / 5 - 0 ratings