MySQL
TMA-MYSQL-2.15
Limit Accepted Transport Layer Security (TLS) Versions
HighLevel 2Automatedmysql
Description
MySQL supports multiple protocols of TLS. The higher the version the stronger the security and/or better the performance. Also review performance_schema.status_by_thread (Ssl_version) for clients still negotiating old versions. Runs mysql -NBe with the client defaults: put an administrative account in ~/.my.cnf (mode 0600) or a mysql_config_editor login path, not MYSQL_PWD (see 1.4/1.6).
How it is checked
Audit method: SQL query
sql_query
out=$(mysql -NBe "SELECT IF(FIND_IN_SET('TLSv1', @@global.tls_version) = 0 AND FIND_IN_SET('TLSv1.1', @@global.tls_version) = 0, 'compliant', 'noncompliant')" 2>/dev/null) || exit 1; printf '%s\n' "$out"- Expected output
compliant
How it is fixed
Fix method: Guidance or infrastructure patch
Set tls_version=TLSv1.3 (or TLSv1.2,TLSv1.3) under [mysqld] in /etc/my.cnf (or /etc/mysql/mysql.conf.d/mysqld.cnf) (or SET PERSIST tls_version then ALTER INSTANCE RELOAD TLS), then restart MySQL.
Properties
- Operating systems
- Any
- Tags
- mysqldatabasetls
- Reference
- CIS Oracle MySQL Community Server 8.4 Benchmark v1.1.0 - 2.15 Limit Accepted Transport Layer Security (TLS) Versions
Check this host
Run this on a machine you are allowed to audit. The scan is read-only.
shell
tmaegis scan --target mysql --level 2