TMA-MYSQL-8.3
Set Maximum Connection Limits for Server and per User
Description
Limiting concurrent connections to a MySQL server can be used to reduce risk of Denial of Service (DoS) attacks performed by exhausting connection resources.
How it is checked
Audit method: Manual review
This recommendation cannot be checked automatically. A scan lists it with these instructions when you pass --include-manual.
Run SELECT VARIABLE_NAME, VARIABLE_VALUE FROM performance_schema.global_variables WHERE VARIABLE_NAME LIKE 'max_%connections'; (max_user_connections 0 = no limit) and SELECT user, host, max_user_connections FROM mysql.user WHERE user NOT LIKE 'mysql.%' AND user <> 'root'; (0 = global value applies). No server or per-user limit is a fail.
How it is fixed
Fix method: Guidance or infrastructure patch
Set max_connections and max_user_connections under [mysqld] (SET GLOBAL to apply now) and per account with ALTER USER '<user>'@'<host>' WITH MAX_USER_CONNECTIONS <n>;
Properties
- Operating systems
- Any
- Tags
- mysqldatabaseavailabilitymanual
- Reference
- CIS Oracle MySQL Community Server 8.4 Benchmark v1.1.0 - 8.3 Set Maximum Connection Limits for Server and per User