[MDEV-25471] Document SST Node authentication options Created: 2021-04-21  Updated: 2021-10-11  Resolved: 2021-10-11

Status: Closed
Project: MariaDB Server
Component/s: Galera
Fix Version/s: N/A

Type: Task Priority: Major
Reporter: Jan Lindström (Inactive) Assignee: Geoff Montee (Inactive)
Resolution: Fixed Votes: 0
Labels: Documentation

Issue Links:
Blocks
is blocked by MDEV-25359 Improve mariabackup SST script compli... Closed

 Description   

1. Pass joiner's authentication information to donor together with address
in State Transfer Request. This allows joiner to authenticate donor on
connection. Previously joiner would accept data from anywhere.

2. Deprecate custom SSL configuration variables tca, tcert and tkey in favor
of more familiar ssl-ca, ssl-cert and ssl-key. For backward compatibility
tca, tcert and tkey are still supported.

3. Allow falling back to server-wide SSL configuration in [mysqld] if no SSL
configuration is found in [sst] section of the config file.

4. Introduce ssl-mode variable in [sst] section that takes standard values
and has following effects:

  • old-style SSL configuration present in [sst]: no effect
    otherwise:
  • ssl-mode=DISABLED or absent: retains old, backward compatible behavior
    and ignores any other SSL configuration
  • ssl-mode=VERIFY*: verify joiner's certificate and CN on donor,
    verify donor's secret on joiner
    (passed to donor via State Transfer Request)
    BACKWARD INCOMPATIBLE BEHAVIOR
  • anything else enables new SSL configuration convetions but does not
    require verification

ssl-mode should be set to VERIFY only in a fully upgraded cluster.

Examples:

[mysqld]
ssl-cert=/path/to/cert
ssl-key=/path/to/key
ssl-ca=/path/to/ca

[sst]

– server-wide SSL configuration is ignored, SST does not use SSL

[mysqld]
ssl-cert=/path/to/cert
ssl-key=/path/to/key
ssl-ca=/path/to/ca

[sst]
ssl-mode=REQUIRED

– use server-wide SSL configuration for SST but don't attempt to
verify the peer identity

[sst]
ssl-cert=/path/to/cert
ssl-key=/path/to/key
ssl-ca=/path/to/ca
ssl-mode=VERIFY_CA

– use SST-specific SSL configuration for SST and require verification
on both sides



 Comments   
Comment by Geoff Montee (Inactive) [ 2021-08-13 ]

Hi jplindst and sysprg,

[sst]
ssl-cert=/path/to/cert
ssl-key=/path/to/key
ssl-ca=/path/to/ca
ssl-mode=VERIFY_CA
 
– use SST-specific SSL configuration for SST and require verification
on both sides

Are you sure that ssl-mode=VERIFY_CA is precisely what the SST script expects? It looks like the SST script only checks that the sst-mode value contains the VERIFY prefix:

https://github.com/MariaDB/server/blob/mariadb-10.6.4/scripts/wsrep_sst_mariabackup.sh#L482
https://github.com/MariaDB/server/blob/mariadb-10.6.4/scripts/wsrep_sst_mariabackup.sh#L1119

So it might even accept strings like this:

ssl-mode=VERIFY
ssl-mode=VERIFY_NOTHING

Do you agree? If so, do you consider that a bug?

Thanks!

Comment by Geoff Montee (Inactive) [ 2021-10-11 ]

This is documented here - https://mariadb.com/docs/security/galera/#security-galera-sst-tls-mode

Generated at Thu Feb 08 09:37:56 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.