Uploaded image for project: 'Cassandra'
  1. Cassandra
  2. CASSANDRA-16669

Password obfuscation for DCL audit log statements

    XMLWordPrintableJSON

Details

    Description

      The goal of this JIRA is to obfuscate passwords or any sensitive information from DCL audit log statements.

      Currently, (Cassandra version 4.0-rc1) logs query statements for any DCL (ROLE and USER ) queries with passwords in plaintext format in audit log files.

      The current workaround to avoid plain text passwords from being logged in audit log files is either by excluding DCL statements from auditing or by excluding the user who is creating these roles from auditing.

      It would be ideal for Cassandra to provide an option or default to obfuscate passwords or any sensitive information from DCL audit log statements.

      Sample audit logs with DCL queries

      Type: audit
      LogMessage: user:cassandra|host:localhost/127.0.0.1:7000|source:/127.0.0.1|port:51908|timestamp:1620190499676|type:CREATE_ROLE|category:DCL|operation:CREATE ROLE new_role;
      Type: audit
      LogMessage: user:cassandra|host:localhost/127.0.0.1:7000|source:/127.0.0.1|port:51908|timestamp:1620190505313|type:CREATE_ROLE|category:DCL|operation:CREATE ROLE alice WITH PASSWORD = 'password_a' AND LOGIN = true;
      Type: audit
      LogMessage: user:cassandra|host:localhost/127.0.0.1:7000|source:/127.0.0.1|port:51908|timestamp:1620190519521|type:REQUEST_FAILURE|category:ERROR|operation:ALTER ROLE bob WITH PASSWORD = 'PASSWORD_B' AND SUPERUSER = false;; bob doesn't exist
      Type: audit
      LogMessage: user:cassandra|host:localhost/127.0.0.1:7000|source:/127.0.0.1|port:51908|timestamp:1620190525376|type:CREATE_ROLE|category:DCL|operation:CREATE ROLE bob WITH PASSWORD = 'password_b' AND LOGIN = true AND SUPERUSER = true;
      Type: audit
      LogMessage: user:cassandra|host:localhost/127.0.0.1:7000|source:/127.0.0.1|port:51908|timestamp:1620190532462|type:ALTER_ROLE|category:DCL|operation:ALTER ROLE bob WITH PASSWORD = 'PASSWORD_B' AND SUPERUSER = false;
      

      It is also ideal to document this workaround or assumption in Cassandra audit log documentation until we close this JIRA

      Attachments

        Issue Links

          Activity

            People

              sumanth.pasupuleti Sumanth Pasupuleti
              vinaykumarcse Vinay Chella
              Sumanth Pasupuleti
              Berenguer Blasi, Ekaterina Dimitrova, Stefan Miklosovic, Vinay Chella
              Votes:
              0 Vote for this issue
              Watchers:
              11 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Time Tracking

                  Estimated:
                  Original Estimate - Not Specified
                  Not Specified
                  Remaining:
                  Remaining Estimate - 0h
                  0h
                  Logged:
                  Time Spent - 6h 40m
                  6h 40m