| name | cis-cassandra41-2.2 |
| description | Ensure that authorization is enabled for Cassandra databases |
| category | cis-cassandra |
| version | 1.0.0 |
| author | cyberstrike-official |
| tags | ["cis","cassandra","authentication","authorization","access-control"] |
| cis_id | 2.2 |
| cis_benchmark | CIS Apache Cassandra 4.1 Benchmark v1.0.0 |
| tech_stack | ["cassandra"] |
| cwe_ids | [] |
| chains_with | [] |
| prerequisites | [] |
| severity_boost | {} |
2.2 Ensure that authorization is enabled for Cassandra databases
Profile Applicability
- Level 1 - Cassandra on Linux
Description
Authorization is pluggable in Cassandra and is configured using the authorizer setting in cassandra.yaml. Cassandra ships with two options included in the default distribution, AllowAllAuthenticator and CassandraAuthorizer. The default, AllowAllAuthenticator performs no checking which grants all permissions to all roles. The second option, CassandraAuthorizer, implements full permissions management functionality and stores its data in Cassandra system tables.
Rationale
Authorizing roles is an important step towards ensuring only authorized access to the Cassandra database tables is permitted. It also provides the requisite means of implementing least privilege best practices. The authorization mechanism should be implemented before anyone accesses the Cassandra database.
Audit
Run the following command to verify whether authorization is enabled (authorization values set to CassandraAuthorizer) on the Cassandra server.
The Cassandra configuration files can be found in the conf directory of tarballs. For packages, the configuration files will be located in /etc/cassandra.
cat cassandra.yaml | grep -in "authorizer:"
If authorizer is set to AllowAllAuthorizer, then this is a finding.
Remediation
To enable the authorization mechanism:
- Stop the Cassandra database.
- Modify cassandra.yaml file to modify/add entry for authorization: set it to CassandraAuthorizer
- Start the Cassandra database.
Default Value
authorizer: AllowAllAuthorizer
References
- http://cassandra.apache.org/doc/latest/getting_started/configuring.html
- http://cassandra.apache.org/doc/latest/operating/security.html
CIS Controls
v8:
- 16.11 Leverage Vetted Modules or Services for Application Security Components
- Leverage vetted modules or services for application security components, such as identity management, encryption, and auditing and logging. Using platform features in critical security functions will reduce developers' workload and minimize the likelihood of design or implementation errors. Modern operating systems provide effective mechanisms for identification, authentication, and authorization and make those mechanisms available to applications. Use only standardized, currently accepted, and extensively reviewed encryption algorithms. Operating systems also provide mechanisms to create and maintain secure audit logs.