OpenParable
Skip to content
← Back to skills

Cis Cassandra40 V110 5.2

DevOps & Security
cis-cassandra40-v110-5.2

Cis Cassandra40 V110 5.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.

Client Encryption

View on GitHub ↗
QUICK START

How to use this skill

Bring this guide into your coding agent with a prompt tailored to the tool you use.

  1. Open your project in Codex.
  2. Copy and paste the prompt below.
  3. Review files and risks before approving any action.
Prompt to paste
Inspect the Agent Skill at https://github.com/CyberStrikeus/CyberStrike/blob/HEAD/.cyberstrike/skill/CIS_benchmarks/Server_Software/Apache_Cassandra/CIS_Apache_Cassandra_4.0_Benchmark_v1.1.0/cis-cassandra40-v110-5.2/SKILL.md and all supporting files. Report provenance, permissions, scripts, dependencies, and security risks. Propose an exact installation into .agents/skills/cis-cassandra40-v110-5-2, but wait for my approval before writing files or running scripts.

Copying this prompt does not install or run the skill. Review third-party files before use.

5.2 Client Encryption

Profile Applicability

  • Level 1 - Cassandra on Linux

Description

Cassandra offers the option to encrypt data in transit between the client and nodes on the cluster. By default client encryption is turned off.

Rationale

Data in transit between the client and node on the cluster should be encrypted to avoid network snooping, whether legitimate or not.

Audit

The Cassandra configuration files can be found in the conf directory of tarballs. For packages, the configuration files will be located in /etc/cassandra.

Open up the cassandra.yaml file, look for client_encryption_options section.

Look for enabled: and optional::

enabled: true

optional: false

If neither is true, then all client connections are unencrypted which makes this a finding.

If enabled is true and optional is false, then all client connections must be encrypted which makes this not a finding.

If enabled is false and optional is true, then enabled wins and all client connections are unencrypted which makes this a finding.

If both are set to true, then both unencrypted and encrypted connections are allowed on the same port which makes this not a finding.

Remediation

The client encryption should be implemented before anyone accesses the Cassandra server.

To enable the client encryption mechanism:

  1. Stop the Cassandra database.
  2. If not done so already, build out your keystore and truststore.
  3. Modify cassandra.yaml file to modify/add entries under client_encryption_options:
set enabled: true

set optional: false

This will force all connections to be encrypted between client and node on the cluster.

  1. Start the Cassandra database.

Default Value

enabled: false

optional: false

References

  1. http://cassandra.apache.org/doc/latest/operating/security.html

CIS Controls

v8:

  • 3.10 Encrypt Sensitive Data in Transit - Encrypt sensitive data in transit. Example implementations can include: Transport Layer Security (TLS) and Open Secure Shell (OpenSSH).

v7:

  • 14.4 Encrypt All Sensitive Information in Transit - Encrypt all sensitive information in transit.

Profile

  • Level 1 | Automated