YugabyteDB
TMA-YUGABYTEDB-5.1
Ensure that authentication is enabled for YCQL interface of the YugabyteDB
CriticalLevel 2Automatedyugabytedb
Description
YCQL authentication is based on roles. Roles can be created with superuser, non- superuser, and login privileges. New roles can be created, and existing ones altered or dropped by administrators using YCQL commands. Reads the YB-TServer GFlags from the web UI at ${YB_TSERVER_WEB:-127.0.0.1:9000}/varz; run it against every TServer. Passes when use_cassandra_authentication=true.
How it is checked
Audit method: Shell command
shell
out=$(curl -sf "http://${YB_TSERVER_WEB:-127.0.0.1:9000}/varz?raw=1" 2>/dev/null) || exit 1; if printf '%s\n' "$out" | grep -qE -- '--use_cassandra_authentication=(true)([^[:alnum:]_]|$)'; then echo compliant; else echo noncompliant; fi- Expected output
compliant
How it is fixed
Fix method: Guidance or infrastructure patch
Add --use_cassandra_authentication=true to every YB-TServer and restart it; then change the default cassandra password (5.2).
Properties
- Operating systems
- Any
- Tags
- yugabytedbauthentication
- Reference
- CIS YugabyteDB Benchmark v2.0.0 - 5.1 Ensure that authentication is enabled for YCQL interface of the YugabyteDB
Check this host
Run this on a machine you are allowed to audit. The scan is read-only.
shell
tmaegis scan --target yugabytedb --level 2