MySQL DB Compliance Checks

Plugin ID: 149309

The MySQL DB plugin connects to targets that host MySQL databases. The plugin connects to the target, runs a query against the database, and evaluates the output for specific expressions.

Scan Requirements

Credentials

The plugin requires Database credentials with the “Database Type” of “MySQL” for scanning.

Permissions

Tenable recommends running a database compliance scan with a user account having the following permissions or privileges:

  • MySQL:

    • Log in with an account with global select privileges

      Example: >GRANT SELECT ON . TO 'scan_user'@'host';

This ensures thorough scan results and reports because some system or hidden tables and parameters can only be accessed by an account with such high level privileges. These settings were obtained by testing Tenable’s published CIS and DISA STIG audits, which primarily target system databases and tables. Custom audits with user-created databases will require independent testing to achieve maximum results.

Checks

All MySQL DB compliance checks must be bracketed with the check type encapsulation and the MySQLDB designation. This is required to differentiate .audit files intended specifically for systems running MySQL databases from other types of compliance audits.

<check_type:"MySQLDB">

   [audit content]

</check_type>

See the following topics to learn more about the MySQL DB plugin:

Notes

  • If scans that utilize this plugin are not producing any compliance results, the following items should be checked:

    • Check that the credentials provided to the scan policy work from a remote host using a native SQL client.

    • Check the audit trail for the plugin that test for database login. For MySQL, this would be plugin 91823 - MySQL Server Login Possible.

    • Check the audit trail to see if there is a result for the compliance plugin. For MySQL, this would be plugin 149309 - MySQL DB Compliance Checks.