STIGhubSTIGhub
STIGsRMF ControlsCompare

STIGhub

A free tool to search and browse the entire DISA STIG library. Saves up to 75% in security compliance research time.

Navigation

  • Browse STIGs
  • Search
  • RMF Controls
  • Compare Versions

Resources

  • About
  • Release Notes
  • VPAT
  • DISA STIG Library
STIGs updated 2 hours ago
Powered by Pylon
© 2026 Beacon Cloud Solutions, Inc. All rights reserved.
← Back to MariaDB Enterprise 10.x Security Technical Implementation Guide

V-253706

CAT II (Medium)

MariaDB must invalidate session identifiers upon user logout or other session termination.

Rule ID

SV-253706r1043179_rule

STIG

MariaDB Enterprise 10.x Security Technical Implementation Guide

Version

V2R5

CCIs

CCI-001185

Discussion

Captured sessions can be reused in replay attacks. This requirement limits the ability of adversaries to capture and continue to employ previously valid session IDs. This requirement focuses on communications protection for the MariaDB session rather than for the network packet. The intent of this control is to establish grounds for confidence at each end of a communications session in the ongoing identity of the other party and in the validity of the information being transmitted. Session IDs are tokens generated by MariaDB to uniquely identify a user's (or process's) session. MariaDB will make access decisions and execute logic based on the session ID. Unique session IDs help to reduce predictability of said identifiers. Unique session IDs address man-in-the-middle attacks, including session hijacking or insertion of false information into a session. If the attacker is unable to identify or guess the session information related to pending application traffic, they will have more difficulty in hijacking the session or otherwise manipulating valid sessions. When a user logs out, or when any other session termination event occurs, the DBMS must terminate the user's session(s) to minimize the potential for sessions to be hijacked.

Check Content

As the database administrator, run the following SQL:
 
MariaDB> SHOW GLOBAL VARIABLES LIKE 'tcp_keepalive_interval';
MariaDB> SHOW GLOBAL VARIABLES LIKE 'tcp_keepalive_probes';
MariaDB> SHOW GLOBAL VARIABLES LIKE 'tcp_keepalive_time';
MariaDB> SHOW GLOBAL VARIABLES LIKE 'tcp_nodelay';
MariaDB> SHOW GLOBAL VARIABLES LIKE 'max_statement_time';
 
If these settings are not set, this is a finding.

Fix Text

As the administrator locate the my.cnf file to change. For Centos, RedHat, and similar distributions this will be in /etc/my.cnf.d/.

In the [mariadb] section add the lines:

tcp_keepalive_interval == seconds
https://mariadb.com/docs/reference/mdb/system-variables/tcp_keepalive_interval/ 

tcp_keepalive_probes == number of probes
https://mariadb.com/docs/reference/mdb/system-variables/tcp_keepalive_probes/ 

tcp_keepalive_time == seconds
https://mariadb.com/docs/reference/mdb/system-variables/tcp_keepalive_time/

tcp_nodelay == boolean (off or on)
https://mariadb.com/docs/reference/mdb/system-variables/tcp_nodelay/

max_statement_time == seconds
https://mariadb.com/docs/reference/mdb/system-variables/max_statement_time/