| name | cis-cassandra41-3.1 |
| description | Ensure the cassandra and superuser roles are separate |
| category | cis-cassandra |
| version | 1.0.0 |
| author | cyberstrike-official |
| tags | ["cis","cassandra","access-control","roles","privileges","separation-of-duties"] |
| cis_id | 3.1 |
| cis_benchmark | CIS Apache Cassandra 4.1 Benchmark v1.0.0 |
| tech_stack | ["cassandra"] |
| cwe_ids | [] |
| chains_with | [] |
| prerequisites | [] |
| severity_boost | {} |
3.1 Ensure the cassandra and superuser roles are separate
Profile Applicability
- Level 1 - Cassandra
- Level 1 - Cassandra on Linux
Description
The default installation of Cassandra includes a superuser role named cassandra. This necessitates the creation of a separate role to be the superuser role.
Rationale
Superuser permissions allow for the creation, deletion, and permission management of other users. Considering the cassandra role is well known it should not be a superuser or one which is used for any administrative tasks.
Impact
If a separate superuser account is not created and tested for correct functionality prior to removing the superuser role from the cassandra account you will no longer be able to perform certain actions, including:
- Create a role with super user status.
- Perform DROP or CREATE USER queries.
Audit
To verify the configuration, run the following query:
select role from system_auth.roles where is_superuser= True;
If you get an error 2200 [ INVALID QUERY] due to where clause, add "ALLOW FILTERING to end of query so it looks like this:
select role from system_auth.roles where is_superuser= True ALLOW FILTERING;
Looking at the role, verify any show up with is_superuser = True and make sure it is not cassandra or any unapproved role. If any are found then, this is a finding.
Remediation
To remediate a misconfiguration, perform the following steps:
- Execute the following command:
create role '<NEW_ROLE_HERE>' with password='<NEW_PASSWORD_HERE>' and login=TRUE and superuser=TRUE ;
permissions keyspaces NEW_ROLE_HERE;