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

Use OpenSSL 3.0.x #95

Merged
merged 3 commits into from Feb 13, 2023
Merged

Use OpenSSL 3.0.x #95

merged 3 commits into from Feb 13, 2023

Conversation

chrisburr
Copy link
Member

@chrisburr chrisburr commented Dec 15, 2022

BEGINRELEASENOTES

CHANGE: Use OpenSSL 3.0.0
CHANGE: Use latest mysql client. This will break the use of TLS with servers older than MySQL v5.7.10+ (MariaDB 5.5.41+/MariaDB 10.0.15+). See #95.
CHANGE: Use latest arc client libs

ENDRELEASENOTES

@chrisburr chrisburr force-pushed the openssl-3 branch 3 times, most recently from fbc2d80 to e6851f7 Compare December 20, 2022 14:37
@@ -53,7 +51,7 @@ specs:
- opensearch-dsl
# FIXME: We need to pin MySQL as 8.0.28 dropped support for TLS v1.0 and v1.1
# In principle MySQL v5.7.10 supports TLSv1.2 but it wasn't enabled in LHCb at least
- mysql-client =8.0.27
- mysql-client
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As I'll probably forget by the time this is merged, this should be discussed at a BiLD (and the outdated comment should be removed).

construct.yaml Outdated
@@ -65,7 +63,6 @@ specs:
- gfal2-util >=1.7.1
- fts3 >=3.12
# Workaround for buggy 6.16.0 and 6.16.1 builds
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
# Workaround for buggy 6.16.0 and 6.16.1 builds

@chrisburr chrisburr closed this Jan 17, 2023
@chrisburr chrisburr reopened this Jan 17, 2023
@@ -53,7 +51,7 @@ specs:
- opensearch-dsl
# FIXME: We need to pin MySQL as 8.0.28 dropped support for TLS v1.0 and v1.1
# In principle MySQL v5.7.10 supports TLSv1.2 but it wasn't enabled in LHCb at least
- mysql-client =8.0.27
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If you're running a databse older than MySQL v5.7.10+, MariaDB 5.5.41+ and MariaDB 10.0.15+ and using TLS this change will break. These releases are very old so hopefully everyone is updated 😉

@fstagni
Copy link
Contributor

fstagni commented Jan 26, 2023

@arrabito @andresailer @hmiyake @atsareg @marianne013 with this PR we will:

  • break v7r2 python3 releases.
  • remove support for older releases of MySQL (see comment above)

We need your "OK" before continuing.

@hmiyake
Copy link

hmiyake commented Jan 26, 2023

For our internal discussion in Belle2, what will be incompatible with v7r2 python3 client?

@chrisburr
Copy link
Member Author

For our internal discussion in Belle2, what will be incompatible with v7r2 python3 client?

Anything involving RPC or proxies (i.e. everything). The fix for it is DIRACGrid/DIRAC#6645.

@hmiyake
Copy link

hmiyake commented Jan 26, 2023

Thank you so much! I understand what will happen with coming DIRACOS2 releases...

@arrabito
Copy link

We are using in production rel 8.0.5 so it's fine for us wrt to break v7r2 python3 releases.
Concerning DB, it seems that it's also fine for us.
We have 2 DB servers with MariaDB 10.6.8 and 1 with MariaDB 10.4.2.

The last point you mentioned is using TLS. How can I check that?

Thank you.

@chrisburr
Copy link
Member Author

The last point you mentioned is using TLS. How can I check that?

@arrabito If you connect with the mysql CLI and run status you should see a line like this if you're using TLS:

SSL:			Cipher in use is TLS_AES_256_GCM_SHA384

You can also check which TLS versions the server is configured to allow using:

mysql> SHOW GLOBAL VARIABLES LIKE 'tls_version';
+---------------+-----------------+
| Variable_name | Value           |
+---------------+-----------------+
| tls_version   | TLSv1.2,TLSv1.3 |
+---------------+-----------------+
1 row in set (0.01 sec)

@chrisburr
Copy link
Member Author

Thank you so much! I understand what will happen with coming DIRACOS2 releases...

@hmiyake Does this mean that it's okay for us to break v7r2 support from your perspective? Or would it be preferable to re-open DIRACGrid/DIRAC#6645?

@arrabito
Copy link

@chrisburr thank you.
So I've just tried and I get:

MariaDB [(none)]> status
--------------
mysql  Ver 15.1 Distrib 5.5.68-MariaDB, for Linux (x86_64) using readline 5.1

Connection id:		140685194
Current database:	
Current user:		cta_dirac@134.158.240.241
SSL:			Not in use
.....

which seems to indicate that we don't use TSL, right?

Even if I also get:

mysql> SHOW GLOBAL VARIABLES LIKE 'tls_version';
+---------------+-------------------------+
| Variable_name | Value                   |
+---------------+-------------------------+
| tls_version   | TLSv1.1,TLSv1.2,TLSv1.3 |
+---------------+-------------------------+
1 row in set (0.01 sec)

Thank you.

@hmiyake
Copy link

hmiyake commented Jan 27, 2023

@chrisburr No, that was not final answer to your original question...just wanted to consider our solutions. I've informed this situation and possible scenario to my colleagues...could you wait a bit? At the latest we will answer during next week.

If re-open of #6645 is one of the options, that's reassuring...of course it should be a kind of last resort...for example when severe security issue occurs in existing DIRACOS2...

By the way, when is the earliest date do you switch to OpenSSL3? Just after all VOs agreed?

@chrisburr
Copy link
Member Author

@arrabito Yup, that looks all good so you shouldn't have any issues. Thanks for checking! 😄

@chrisburr
Copy link
Member Author

By the way, when is the earliest date do you switch to OpenSSL3? Just after all VOs agreed?

As soon as possible. Since yesterday conda-forge is no longer building against OpenSSL 3 so we can't update any packages until we switch.

@hmiyake
Copy link

hmiyake commented Feb 2, 2023

I'm sorry to have kept you waiting...we concluded to give a green light to drop v7r2 support from DIRACOS2.

Just for sure, do you think if we can deploy v7r2 with existing DIRACOS2 (i.e. 2.31-), even after OpenSSL3 DIRACOS2 is released?
Naively we can take the package from https://github.com/DIRACGrid/DIRACOS2/releases, but I wonder if we have any pitfall...

In any case, we agreed to move on supported v7.3 and v8.0 as soon as possible.

@chrisburr
Copy link
Member Author

Thanks for looking into it and confirming 😄

Naively we can take the package from https://github.com/DIRACGrid/DIRACOS2/releases, but I wonder if we have any pitfall...

Yes you can, the only catch is that you're stuck on the current release. (Though you could use micromamba to change versions of specific packages if you really needed to.)

@hmiyake
Copy link

hmiyake commented Feb 2, 2023

Thank you for prompt confirmation! I see, then we will use 2.30 by default...

@chrisburr chrisburr marked this pull request as ready for review February 13, 2023 07:26
@chrisburr chrisburr merged commit 412f113 into DIRACGrid:main Feb 13, 2023
@chrisburr chrisburr deleted the openssl-3 branch February 13, 2023 15:01
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

Successfully merging this pull request may close these issues.

None yet

4 participants