Documentation Home
Security in MySQL
Related Documentation Download this Excerpt
PDF (US Ltr) - 1.7Mb
PDF (A4) - 1.7Mb


Security in MySQL  /  Security Plugins

Chapter 6 Security Plugins

Table of Contents

6.1 Authentication Plugins
6.1.1 Native Pluggable Authentication
6.1.2 Old Native Pluggable Authentication
6.1.3 Migrating Away from Pre-4.1 Password Hashing and the mysql_old_password Plugin
6.1.4 Caching SHA-2 Pluggable Authentication
6.1.5 SHA-256 Pluggable Authentication
6.1.6 Client-Side Cleartext Pluggable Authentication
6.1.7 PAM Pluggable Authentication
6.1.8 Windows Pluggable Authentication
6.1.9 LDAP Pluggable Authentication
6.1.10 No-Login Pluggable Authentication
6.1.11 Socket Peer-Credential Pluggable Authentication
6.1.12 Test Pluggable Authentication
6.1.13 Pluggable Authentication System Variables
6.2 The Connection-Control Plugins
6.2.1 Connection-Control Plugin Installation
6.2.2 Connection-Control System and Status Variables
6.3 The Password Validation Plugin
6.3.1 Password Validation Plugin Installation
6.3.2 Password Validation Plugin Options and Variables
6.4 The MySQL Keyring
6.4.1 Keyring Plugin Installation
6.4.2 Using the keyring_file File-Based Keyring Plugin
6.4.3 Using the keyring_encrypted_file Encrypted File-Based Keyring Plugin
6.4.4 Using the keyring_okv KMIP Plugin
6.4.5 Using the keyring_aws Amazon Web Services Keyring Plugin
6.4.6 Supported Keyring Key Types and Lengths
6.4.7 Migrating Keys Between Keyring Keystores
6.4.8 General-Purpose Keyring Key-Management Functions
6.4.9 Plugin-Specific Keyring Key-Management Functions
6.4.10 Keyring Metadata
6.4.11 Keyring Command Options
6.4.12 Keyring System Variables
6.5 MySQL Enterprise Audit
6.5.1 Elements of MySQL Enterprise Audit
6.5.2 Installing or Uninstalling MySQL Enterprise Audit
6.5.3 MySQL Enterprise Audit Security Considerations
6.5.4 Audit Log File Formats
6.5.5 Configuring Audit Logging Characteristics
6.5.6 Reading Audit Log Files
6.5.7 Audit Log Filtering
6.5.8 Writing Audit Log Filter Definitions
6.5.9 Disabling Audit Logging
6.5.10 Legacy Mode Audit Log Filtering
6.5.11 Audit Log Reference
6.5.12 Audit Log Restrictions
6.6 MySQL Enterprise Firewall
6.6.1 Elements of MySQL Enterprise Firewall
6.6.2 Installing or Uninstalling MySQL Enterprise Firewall
6.6.3 Using MySQL Enterprise Firewall
6.6.4 MySQL Enterprise Firewall Reference

MySQL includes several plugins that implement security features:

  • Plugins for authenticating attempts by clients to connect to MySQL Server. Plugins are available for several authentication protocols. For general discussion of the authentication process, see Section 4.13, “Pluggable Authentication”. For characteristics of specific authentication plugins, see Section 6.1, “Authentication Plugins”.

  • A password-validation plugin for implementing password strength policies and assessing the strength of potential passwords. See Section 6.3, “The Password Validation Plugin”.

  • Keyring plugins that provide secure storage for sensitive information. See Section 6.4, “The MySQL Keyring”.

  • (MySQL Enterprise Edition only) MySQL Enterprise Audit, implemented using a server plugin, uses the open MySQL Audit API to enable standard, policy-based monitoring and logging of connection and query activity executed on specific MySQL servers. Designed to meet the Oracle audit specification, MySQL Enterprise Audit provides an out of box, easy to use auditing and compliance solution for applications that are governed by both internal and external regulatory guidelines. See Section 6.5, “MySQL Enterprise Audit”.

  • (MySQL Enterprise Edition only) MySQL Enterprise Firewall, an application-level firewall that enables database administrators to permit or deny SQL statement execution based on matching against lists of accepted statement patterns. This helps harden MySQL Server against attacks such as SQL injection or attempts to exploit applications by using them outside of their legitimate query workload characteristics. See Section 6.6, “MySQL Enterprise Firewall”.

  • (MySQL Enterprise Edition only) MySQL Enterprise Data Masking and De-Identification, implemented as a plugin library containing a plugin and a set of functions. Data masking hides sensitive information by replacing real values with substitutes. MySQL Enterprise Data Masking and De-Identification functions enable masking existing data using several methods such as obfuscation (removing identifying characteristics), generation of formatted random data, and data replacement or substitution. See MySQL Enterprise Data Masking and De-Identification.