# Cis Cassandra40 V100 2.2

> Cis Cassandra40 V100 2.2 is an Agent Skill for devops & security published in the CyberStrikeus/CyberStrike repository on GitHub: a SKILL.md instruction file an AI agent can load to do this task.

Ensure that authorization is enabled for Cassandra databases

- Skill name: `cis-cassandra40-v100-2.2`
- Category: [DevOps & Security](https://www.openparable.com/skill/devops-security/1)
- Source: https://github.com/CyberStrikeus/CyberStrike/blob/HEAD/.cyberstrike/skill/CIS_benchmarks/Server_Software/Apache_Cassandra/CIS_Apache_Cassandra_4.0_Benchmark_v1.0.0/cis-cassandra40-v100-2.2/SKILL.md
- Repository: CyberStrikeus/CyberStrike (1,211 GitHub stars when collected)

## SKILL.md

# 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.

```bash
cat cassandra.yaml | grep -in "authorizer:"
```

If `authorizer` is set to `AllowAllAuthorizer`, then this is a finding.

## Remediation

To enable the authorization mechanism:

1. Stop the Cassandra database.
2. Modify cassandra.yaml file to modify/add entry for authorization: set it to `CassandraAuthorizer`
3. Start the Cassandra database.

## Default Value

```
authorizer: AllowAllAuthorizer
```

## References

1. http://cassandra.apache.org/doc/latest/getting_started/configuring.html

## Additional Information

The `authorizer` must be configured to `AllowAllAuthorizer` if `AllowAllAuthenticator` is the configured authenticator.

## 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 also provide mechanisms to create and maintain secure audit logs.
- **v7 14.7** Enforce Access Control to Data through Automated Tools
  - Use an automated tool, such as host-based Data Loss Prevention, to enforce access controls to data even when data is copied off a system.

## Profile

- Level 1 - Cassandra on Linux | Automated

---

Source: https://www.openparable.com/skill/devops-security/cis-cassandra40-v100-2-2 (OpenParable). Cite the canonical URL above.
