Uploaded image for project: 'Documentation'
  1. Documentation
  2. DOCS-16024

Investigate changes in SERVER-74996: Add override server parameter for X.509 subject name matching and extension value

      Original Downstream Change Summary

      This ticket introduces a new server parameter, tlsClusterAuthX509Override, which accepts a JSON object. The provided object is expected to either have

      {attributes: <string>}

      or

      {extensionValue: <string>}

      . The first option will allow the DBA to specify a set of X.509 DN attributes and values that the server will expect cluster member nodes to contain in their certificate subject names. The second option will allow the DBA to specify an extension value corresponding to the MongoDB cluster membership extension OID that the server will expect cluster member nodes to contain in their certificates.

      This override parameter is intended to be used explicitly when net.tls.clusterAuthX509.attributes or net.tls.clusterAuthX509.extensionValue is being set or unset via rolling restarts. See WRITING-12681 for full context of the downstream changes around this project.

      Description of Linked Ticket

      SERVER-74989 introduces a new configuration option that can be used for X.509 subject name DN matching. However, if customers decide to rotate to new certificates that have different values, then the old configuration option value will cause intracluster auth issues with the new certificates.

      In order to provide a mechanism of resolving this via rolling restarts, this ticket will introduce a new server parameter that can be used to override the configuration option. When the override is set, both the old and new subject name criteria will be accepted, allowing for certificate rotation via a rolling restart. The full sequence of steps is described below:

      1. Start with some custom attributes/values for the subject name in the config option
      2. Change config to a new set of attributes and values and the override server parameter to the old set of attributes and values.
      3. Rolling restart. The servers are now able to accept nodes as peers matching either set of subject name attribute+value pairs.
      4. Change certificates, which should match the new criteria specified in the config.
      5. Rolling restart. Once complete, all servers will present certificates matching the new criteria in the config.
      6. Remove override - all server nodes now have the new certificate and don't need to accept certificates matching the initial criteria.

      This ticket will also add a test that mocks the above procedure to validate its usability.

            Assignee:
            kenneth.dyer@mongodb.com Kenneth Dyer
            Reporter:
            backlog-server-pm Backlog - Core Eng Program Management Team
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved:
              41 weeks, 4 days ago