Skip to content

Consider security transition mode #615

@macintux

Description

@macintux

Today, there are effectively two ways to enable security in a production environment:

  1. Configure all applications to handle both secure and insecure Riak nodes; if a node doesn't allow STARTTLS, fall back to insecure requests.
  2. Stop all applications, restart the entire cluster, start all applications in "secure mode"

The 2nd option is more secure but much more disruptive, and doesn't allow for mistakes. If an application isn't ready for security but that fact isn't discovered until the cutover, the user is entirely out of luck.

The 1st option is much more work and coordination for large environments. All applications will need to be touched, but to force them all to handle both secure and insecure operations leaves open the possibility that a misconfiguration or middleman attack could expose data in the future (plus the extra work and possibility of bugs this imposes on users).

If we had a multi-stage security enablement process, wherein security is turned on in one step, and enforced in a later step, users could manage application transitions more gracefully.

There are still security implications to that model, but I think the alternatives are worse. Last time I suggested this I was shouted down quite noisily, but I'd like it to be considered again more formally.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions