SlideShare una empresa de Scribd logo
1 de 50
Descargar para leer sin conexión
Harin Vadodaria
Principal MTS
SrvGen, MySQL Engineering
November 12, 2019
Securing MySQL
2 Copyright © 2019 Oracle and/or its affiliates.
Safe harbor statement
The following is intended to outline our general product direction. It is intended for information
purposes only, and may not be incorporated into any contract. It is not a commitment to deliver
any material, code, or functionality, and should not be relied upon in making purchasing decisions.
The development, release, timing, and pricing of any features or functionality described for Oracle’s
products may change and remains at the sole discretion of Oracle Corporation.
3 Copyright © 2019 Oracle and/or its affiliates.
Security Challenges
Program agenda
1
2
3
MySQL Security Architecture
Security Features in MySQL 8.0
4 Copyright © 2019 Oracle and/or its affiliates.
Security Challenges
Program agenda
1
2
3
MySQL Security Architecture
Security Features in MySQL 8.0
5 Copyright © 2019 Oracle and/or its affiliates.
6
Why should you care?
Copyright © 2019 Oracle and/or its affiliates.
Security is Priority #1
7
“Keep the organization safe
(cybersecurity/cyber resilience/GDPR
compliance/data protection compliance)”
Copyright © 2019 Oracle and/or its affiliates.
8 Copyright © 2019 Oracle and/or its affiliates.
Security is Priority #1
9
Poor
Configuration
Over Privileged
Account
Weak Access
Control
Weak
Authentication
Weak
Auditing
Lack of Encryption
Poor Credential and
Key Management
Insecure Backup
No
Monitoring
Poorly Coded
Applications
Copyright © 2019 Oracle and/or its affiliates.
Security Challenges
Program agenda
1
2
3
MySQL Security Architecture
Security Features in MySQL 8.0
10 Copyright © 2019 Oracle and/or its affiliates.
How to secure your databases?
11
• Assess
• Locate vulnerable components and
ensure security control
• Prevent
• Use strong authentication, access
control, encryption etc.
• Detect
• Prepare for the worst – Monitor, Audit,
Alert
• Recover
• Minimize downtime
• Analyze the problem and plug the
hole
Copyright © 2019 Oracle and/or its affiliates.
12
Users
Applications
 Network Encryption
 Granular Access Control
  Workbench  Database Events Logging
 File Based Keyring
 High Availability
through
InnoDB Cluster
 Assess
 Prevent
 Detect
 Recover
 Logical backup through
mysqlpump
 Strong Authentication
and Login Policy
 Protection against
Brute Force Attack
Copyright © 2019 Oracle and/or its affiliates.
13
Users
Applications
 Network Encryption
 Protection against
Brute Force Attack
 Granular Access Control
  Workbench
 High Availability
Through
InnoDB Cluster
 Assess
 Prevent
 Detect
 Recover
 Enterprise Authentication
And login policy
  Firewall
  Enterprise Monitor
 Key Vault
 Audit Vault
Copyright © 2019 Oracle and/or its affiliates.
 Enterprise Backup
 Thread pool
  Enterprise Audit
14
Connection Control Plugin
Granular Access Control
SQL Roles
Password Policies
TLSv1.3 Support
Dynamic Privileges
Resource Control
Transparent Data Encryption
Enterprise Audit Plugin
Enterprise Firewall Plugin
Binary Log Encryption
Redo/Undo Log Encryption
Enterprise Authentication
Enterprise Encryption Plugin Keyring Plugins
OpenSSL FIPS Support
Admin Port
SYSTEM_USER privilege
Partial Revokes
Random Password Generator
Keyring UDFs
MySQL Enterprise Monitor
Secure Backup with MEB
HA Using InnoDB Cluster
Performance Schema
Error Logs
MySQL Workbench
ASSESS
PREVENT
DETECT
RECOVER
Copyright © 2019 Oracle and/or its affiliates.
Data Masking UDFs
Security Challenges
Program agenda
1
2
3
MySQL Security Architecture
Security Features in MySQL 8.0
15 Copyright © 2019 Oracle and/or its affiliates.
Random Password Generator
New! Creates strong password - Returns the value as result set
Helps secure automation
CREATE USER ‘foo’ IDENTIFIED BY RANDOM PASSWORD;
ALTER USER ‘bar’ IDENTIFIED BY RANDOM PASSWORD;
SET PASSWORD FOR ‘foo’ TO RANDOM;
16 Copyright © 2019 Oracle and/or its affiliates.
Enterprise Authentication
Integrates with existing authentication infrastructure
- PAM Support
- New! Native LDAP support
- Fast & Flexible
- Supports Windows AD and OpenLDAP
17 Copyright © 2019 Oracle and/or its affiliates.
MySQL Password Features
New! Dual password support – Helps bridging gap in password propagation: database > application
- Enhanced ALTER USER
- RETAIN CURRENT PASSWORD
- DISCARD OLD PASSWORD
Default! SHA2 with Caching feature
- Secure storage of password hash
- Fast connection using cached password hash
- RSA key based password exchange
18 Copyright © 2019 Oracle and/or its affiliates.
MySQL Password Features
New! Password History
- Controls password reuse based on
- Number of passwords
- Time
New! Restrict password change in hijacked connections
- Existing password requirement can be enforced
- PASSWORD REQUIRE CURRENT
19 Copyright © 2019 Oracle and/or its affiliates.
SYSTEM_USER privilege
New! Two user categories: Power users and Regular users
- Allows maintaining separation of duty better
20
• DBAs managing instances
and NOT data
E.g. Uptime, Backup,
High Level Security
• DBAs managing data
• Regular users with
access to part of data
Copyright © 2019 Oracle and/or its affiliates.
Partial Revokes
Allows creating exception to global grants (Everything except ‘this’ and ‘that’)
- Execute GRANT at global level followed by REVOKE at schema level
GRANT SELECT ON *.* TO `developer`;
REVOKE SELECT ON `hrdb`.* FROM `developer`;
21 Copyright © 2019 Oracle and/or its affiliates.
SQL Roles
New! Improved access control using roles
- Groups privileges
- Facilitates easier privilege propagation
- Easier to maintain
- Reduces complexity
22 Copyright © 2019 Oracle and/or its affiliates.
SQL Roles
23 Copyright © 2019 Oracle and/or its affiliates.
SQL Roles
24 • 2
4
CREATE ROLE <role>GRANT <role> TO <user>REVOKE <role> FROM <user>SET ROLE instance_adminSET ROLE security_admin
GRANT <privs> … TO <role>REVOKE <privs> … FROM <role>
Copyright © 2019 Oracle and/or its affiliates.
SQL Roles
25 • 2
5
Universal Grants through
mandatory_roles
Copyright © 2019 Oracle and/or its affiliates.
Communication Security
New! OpenSSL 1.1.1 support
- Latest edition of OpenSSL library
New! TLSv1.3 support
New! Dynamic TLS options
- --ssl-* options can be changed at run time
- ALTER INSTANCE RELOAD TLS
26 Copyright © 2019 Oracle and/or its affiliates.
Communication Security
New! Dynamic OpenSSL linking
- Allows usage of platform specific enhancements (AES-NI)
- Facilitates TLS library upgrade
- Allows usage of
- FIPS object module
- OpenSSL engines
27 Copyright © 2019 Oracle and/or its affiliates.
Transparent Data Encryption
What?
- Data at Rest Encryption
- Tablespaces, Audit logs
- New! Binary logs, undo/redo logs
Transparent to applications and users
- No application code or data type changes
Transparent to DBAs
- Keys are hidden from DBAs, no configuration changes
Requires Key Management
- Protection, rotation, storage, recovery
28 Copyright © 2019 Oracle and/or its affiliates.
Transparent Data Encryption
29
MySQL Server
In-mem store
API Interface
Key Backend
InnoDB
Binary Log
Audit Log
Plugin Service
How?
Keyring Plugin
Copyright © 2019 Oracle and/or its affiliates.
Transparent Data Encryption
The journey so far…
- Introduced in MySQL 5.7
-TDE of file-per-table tablespaces in InnoDB
-Audit log encryption
- New! in MySQL 8.0
- Undo/Redo log encryption
- Binary log encryption
- Data dictionary encryption
- General tablespace encryption
-Policy to enforce table encryption
30 Copyright © 2019 Oracle and/or its affiliates.
Transparent Data Encryption
Supported backends
- KMIP compliant
- Oracle Key Vault, Gemalto KeySecure,
Thales Vormetric Key Management Server,
Fornetix Key Orchestration
- Encrypted File
31 Copyright © 2019 Oracle and/or its affiliates.
Transparent Data Encryption
Supported backend
- New! Hashicorp vault
- Scalable and available
- Stores, manages and generates secrets
- Accessed through REST APIs over TLS connection
32 Copyright © 2019 Oracle and/or its affiliates.
Data masking and De-Identification
Wikipedia - “Data masking is the process of hiding original data with random characters or data”
New! Data Masking
- String masking
- Dictionary based replacement
- Payment card : Strict/Relaxed
New! Random Data Generators
- Random number within a range
- Email
- Payment card (Luhn check compliant)
- Dictionary based generation
33 Copyright © 2019 Oracle and/or its affiliates.
Data masking and De-Identification
String
- Mask within a string : ArthXXXXnt
- Mask beginning and at the end : XXthurDeXX
- Payment Card
- Strict: XXXXXXXXXXXXXXX7395,
- Relaxed: 493812XXXXXXXXX7395
- Dictionary based masking
- gen_blacklist(“007”, “00designations”, “Cover_identity”) => Universal Exports
34 Copyright © 2019 Oracle and/or its affiliates.
Data masking and De-Identification
Random Data Generation
- Random data within range
- gen_range(10000, 20000) => 12503
- Email : kajsm.hamskdk@example.com
- Payment card : 7389026626032990
- Configurable length : 12 to 19 digits
35 Copyright © 2019 Oracle and/or its affiliates.
Data masking and De-Identification
Dictionary based data generation & blacklists
- Load multiple dictionaries
- Maps dictionary file => dictionary name
- In memory data for faster retrieval
- Generation based on dictionary data
- gen_dictionary(“periodictable”) => Oxygen
- If 007 on the blacklist then substitute
- Blacklisted – 007 – thus randomly substituted from Jobs Dictionary
- gen_blacklist(“007”, “Job_mask", “Jobs") => “Accountant”
- Not blacklisted – Administrator – thus passes through
- gen_blacklist(“Administrator”, “Job_mask", “Jobs") => “Administrator”
36 Copyright © 2019 Oracle and/or its affiliates.
MySQL Enterprise Audit
What?
- Out-of-the-box logging of connections, logins and queries
- Highly configurable – user defined filters and log rotation
- New! SQL Access to audit events
- New! Multiple file options
37
{ }
</>
Format
Compression
Encryption
GZIP
- AES-256-CBC
- Uses keyring
Copyright © 2019 Oracle and/or its affiliates.
MySQL Enterprise Audit
38 Copyright © 2019 Oracle and/or its affiliates.
MySQL Enterprise Audit
New! Ability to abort queries – Use filter abort
- Configurable – Abort based on
- Query type
- Object
39 Copyright © 2019 Oracle and/or its affiliates.
MySQL Enterprise Firewall
Statement digest based firewall
- Protects against SQL injection
- Configurable
- Per user
- Operation: LEARN->DETECT->PROTECT
40 Copyright © 2019 Oracle and/or its affiliates.
41
MySQL Enterprise Firewall
SELECT * FROM app1_data1
WHERE id = 10;
Copyright © 2019 Oracle and/or its affiliates.
42
MySQL Enterprise Firewall
SELECT * FROM app1_data1
WHERE id = 10;
LEARN
Copyright © 2019 Oracle and/or its affiliates.
43
MySQL Enterprise Firewall
SELECT * FROM app1_data1
WHERE id = 10;
LEARN
Copyright © 2019 Oracle and/or its affiliates.
SELECT * FROM app1_data2
WHERE id = 10;
44
MySQL Enterprise Firewall
DETECT
SELECT * FROM app2_data1
WHERE id = 10;
Copyright © 2019 Oracle and/or its affiliates.
SELECT * FROM app2_data1
WHERE id = 10;
SELECT * FROM app1_data1
WHERE id = 10 OR 1 = 1;
PROTECT
45
MySQL Enterprise Firewall
Copyright © 2019 Oracle and/or its affiliates.
MySQL Enterprise Encryption
46
SQL Interface to OpenSSL Functions
- Supports RSA/DSA/DH algorithms
- Configurable Key Size
Key Generation
- CREATE_ASYMMETRIC_PRIV_KEY &
CREATE_ASYMMETRIC_PUB_KEY
- CREATE_DH_PARAMETERS & ASYMMETRIC_DERIVE
Asymmetric Encryption/Decryption
- ASYMMETRIC_ENCRYPT
- ASYMMETRIC_DECRYPT
Digest Creation : CREATE_DIGEST
Sign & Verify
- ASYMMETRIC_SIGN
- ASYMMETRIC_VERIFY
Copyright © 2019 Oracle and/or its affiliates.
Security Resources
• MUST READ https://dev.mysql.com/doc/mysql-secure-deployment-guide/8.0/en/
• http://mysqlserverteam.com/
• http://insidemysql.com/
• https://blogs.oracle.com/mysql
• https://www.mysql.com/why-mysql/#en-0-40
• https://www.mysql.com/why-mysql/presentations/#en-17-40
• https://www.mysql.com/news-and-events/on-demand-webinars/#en-20-40
• https://www.mysql.com/news-and-events/health-check/
47 Copyright © 2019 Oracle and/or its affiliates.
Questions
48 Copyright © 2019 Oracle and/or its affiliates.
Thank you
49 Copyright © 2019 Oracle and/or its affiliates.
MySQL 8.0 - Security Features

Más contenido relacionado

La actualidad más candente

MySQL Enterprise Monitor
MySQL Enterprise MonitorMySQL Enterprise Monitor
MySQL Enterprise Monitor
Mario Beck
 
What's new in my sql smug
What's new in my sql smugWhat's new in my sql smug
What's new in my sql smug
Ted Wennmark
 

La actualidad más candente (20)

MySQL Enterprise Monitor
MySQL Enterprise MonitorMySQL Enterprise Monitor
MySQL Enterprise Monitor
 
NoSQL and MySQL: News about JSON
NoSQL and MySQL: News about JSONNoSQL and MySQL: News about JSON
NoSQL and MySQL: News about JSON
 
Standard Edition High Availability (SEHA) - The Why, What & How
Standard Edition High Availability (SEHA) - The Why, What & HowStandard Edition High Availability (SEHA) - The Why, What & How
Standard Edition High Availability (SEHA) - The Why, What & How
 
MySQL 5.7: What's New, Nov. 2015
MySQL 5.7: What's New, Nov. 2015MySQL 5.7: What's New, Nov. 2015
MySQL 5.7: What's New, Nov. 2015
 
Under the Hood of the Smartest Availability Features in Oracle's Autonomous D...
Under the Hood of the Smartest Availability Features in Oracle's Autonomous D...Under the Hood of the Smartest Availability Features in Oracle's Autonomous D...
Under the Hood of the Smartest Availability Features in Oracle's Autonomous D...
 
MySQL 5.6, news in 5.7 and our HA options
MySQL 5.6, news in 5.7 and our HA optionsMySQL 5.6, news in 5.7 and our HA options
MySQL 5.6, news in 5.7 and our HA options
 
Looking Inside the MySQL 8.0 Document Store
Looking Inside the MySQL 8.0 Document StoreLooking Inside the MySQL 8.0 Document Store
Looking Inside the MySQL 8.0 Document Store
 
MySQL Community and Commercial Edition
MySQL Community and Commercial EditionMySQL Community and Commercial Edition
MySQL Community and Commercial Edition
 
What's new in my sql smug
What's new in my sql smugWhat's new in my sql smug
What's new in my sql smug
 
What_to_expect_from_oracle_database_12c
What_to_expect_from_oracle_database_12cWhat_to_expect_from_oracle_database_12c
What_to_expect_from_oracle_database_12c
 
[❤PDF❤] Oracle 19c Database Administration Oracle Simplified
[❤PDF❤] Oracle 19c Database Administration Oracle Simplified [❤PDF❤] Oracle 19c Database Administration Oracle Simplified
[❤PDF❤] Oracle 19c Database Administration Oracle Simplified
 
Under the Hood of the Smartest Availability Features in Oracle's Autonomous D...
Under the Hood of the Smartest Availability Features in Oracle's Autonomous D...Under the Hood of the Smartest Availability Features in Oracle's Autonomous D...
Under the Hood of the Smartest Availability Features in Oracle's Autonomous D...
 
Top 20 FAQs on the Autonomous Database
Top 20 FAQs on the Autonomous DatabaseTop 20 FAQs on the Autonomous Database
Top 20 FAQs on the Autonomous Database
 
The Top 5 Reasons to Deploy Your Applications on Oracle RAC
The Top 5 Reasons to Deploy Your Applications on Oracle RACThe Top 5 Reasons to Deploy Your Applications on Oracle RAC
The Top 5 Reasons to Deploy Your Applications on Oracle RAC
 
MySQL Day Paris 2016 - Introducing Oracle MySQL Cloud Service
MySQL Day Paris 2016 - Introducing Oracle MySQL Cloud ServiceMySQL Day Paris 2016 - Introducing Oracle MySQL Cloud Service
MySQL Day Paris 2016 - Introducing Oracle MySQL Cloud Service
 
MAA for Oracle Database, Exadata and the Cloud
MAA for Oracle Database, Exadata and the CloudMAA for Oracle Database, Exadata and the Cloud
MAA for Oracle Database, Exadata and the Cloud
 
MySQL Enterprise Monitor
MySQL Enterprise MonitorMySQL Enterprise Monitor
MySQL Enterprise Monitor
 
MySQL for Oracle DBAs
MySQL for Oracle DBAsMySQL for Oracle DBAs
MySQL for Oracle DBAs
 
MySQL Performance Schema in MySQL 8.0
MySQL Performance Schema in MySQL 8.0MySQL Performance Schema in MySQL 8.0
MySQL Performance Schema in MySQL 8.0
 
MySQL NoSQL Document Store
MySQL NoSQL Document StoreMySQL NoSQL Document Store
MySQL NoSQL Document Store
 

Similar a MySQL 8.0 - Security Features

MySQL Day Paris 2018 - MySQL & GDPR; Privacy and Security requirements
MySQL Day Paris 2018 - MySQL & GDPR; Privacy and Security requirementsMySQL Day Paris 2018 - MySQL & GDPR; Privacy and Security requirements
MySQL Day Paris 2018 - MySQL & GDPR; Privacy and Security requirements
Olivier DASINI
 
Security Quick Tour
Security Quick TourSecurity Quick Tour
Security Quick Tour
Active Base
 

Similar a MySQL 8.0 - Security Features (20)

DevTalks.ro 2019 What's New in MySQL 8.0 Security
DevTalks.ro 2019 What's New in MySQL 8.0 SecurityDevTalks.ro 2019 What's New in MySQL 8.0 Security
DevTalks.ro 2019 What's New in MySQL 8.0 Security
 
Percona Live Europe 2018: What's New in MySQL 8.0 Security
Percona Live Europe 2018: What's New in MySQL 8.0 SecurityPercona Live Europe 2018: What's New in MySQL 8.0 Security
Percona Live Europe 2018: What's New in MySQL 8.0 Security
 
Security Inside Out: Latest Innovations in Oracle Database 12c
Security Inside Out: Latest Innovations in Oracle Database 12cSecurity Inside Out: Latest Innovations in Oracle Database 12c
Security Inside Out: Latest Innovations in Oracle Database 12c
 
MySQL Day Paris 2018 - MySQL & GDPR; Privacy and Security requirements
MySQL Day Paris 2018 - MySQL & GDPR; Privacy and Security requirementsMySQL Day Paris 2018 - MySQL & GDPR; Privacy and Security requirements
MySQL Day Paris 2018 - MySQL & GDPR; Privacy and Security requirements
 
Best Practices for implementing Database Security Comprehensive Database Secu...
Best Practices for implementing Database Security Comprehensive Database Secu...Best Practices for implementing Database Security Comprehensive Database Secu...
Best Practices for implementing Database Security Comprehensive Database Secu...
 
Securing Big Data at rest with encryption for Hadoop, Cassandra and MongoDB o...
Securing Big Data at rest with encryption for Hadoop, Cassandra and MongoDB o...Securing Big Data at rest with encryption for Hadoop, Cassandra and MongoDB o...
Securing Big Data at rest with encryption for Hadoop, Cassandra and MongoDB o...
 
Security Quick Tour
Security Quick TourSecurity Quick Tour
Security Quick Tour
 
SAP HANA Cloud Security
SAP HANA Cloud SecuritySAP HANA Cloud Security
SAP HANA Cloud Security
 
MongoDB World 2019: Implementation and Operationalization of MongoDB Sharding...
MongoDB World 2019: Implementation and Operationalization of MongoDB Sharding...MongoDB World 2019: Implementation and Operationalization of MongoDB Sharding...
MongoDB World 2019: Implementation and Operationalization of MongoDB Sharding...
 
MySQL Web Reference Architecture
MySQL Web Reference Architecture MySQL Web Reference Architecture
MySQL Web Reference Architecture
 
Rethinking Cybersecurity for the Digital Transformation Era
Rethinking Cybersecurity for the Digital Transformation EraRethinking Cybersecurity for the Digital Transformation Era
Rethinking Cybersecurity for the Digital Transformation Era
 
20190915_MySQL開発最新動向
20190915_MySQL開発最新動向20190915_MySQL開発最新動向
20190915_MySQL開発最新動向
 
Představení Oracle SPARC Miniclusteru
Představení Oracle SPARC MiniclusteruPředstavení Oracle SPARC Miniclusteru
Představení Oracle SPARC Miniclusteru
 
How to operate MySQL InnoDB Cluster with MySQL Shell
How to operate MySQL InnoDB Cluster with MySQL ShellHow to operate MySQL InnoDB Cluster with MySQL Shell
How to operate MySQL InnoDB Cluster with MySQL Shell
 
TechEvent 2019: Create a Private Database Cloud in the Public Cloud using the...
TechEvent 2019: Create a Private Database Cloud in the Public Cloud using the...TechEvent 2019: Create a Private Database Cloud in the Public Cloud using the...
TechEvent 2019: Create a Private Database Cloud in the Public Cloud using the...
 
MySQL 8.0 Introduction to NoSQL + SQL
MySQL 8.0 Introduction to NoSQL + SQLMySQL 8.0 Introduction to NoSQL + SQL
MySQL 8.0 Introduction to NoSQL + SQL
 
MySQL Database Service - 100% Developed, Managed and Supported by the MySQL Team
MySQL Database Service - 100% Developed, Managed and Supported by the MySQL TeamMySQL Database Service - 100% Developed, Managed and Supported by the MySQL Team
MySQL Database Service - 100% Developed, Managed and Supported by the MySQL Team
 
MySQL Day Paris 2016 - MySQL Enterprise Edition
MySQL Day Paris 2016 - MySQL Enterprise EditionMySQL Day Paris 2016 - MySQL Enterprise Edition
MySQL Day Paris 2016 - MySQL Enterprise Edition
 
Hit Refresh with Oracle GoldenGate Microservices
Hit Refresh with Oracle GoldenGate MicroservicesHit Refresh with Oracle GoldenGate Microservices
Hit Refresh with Oracle GoldenGate Microservices
 
Oracle goldegate microservice
Oracle goldegate microserviceOracle goldegate microservice
Oracle goldegate microservice
 

Último

%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
masabamasaba
 
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Medical / Health Care (+971588192166) Mifepristone and Misoprostol tablets 200mg
 
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
masabamasaba
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
VictoriaMetrics
 
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
masabamasaba
 
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
chiefasafspells
 

Último (20)

AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
 
Artyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptxArtyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptx
 
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
 
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
 
%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto
 
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
 
WSO2CON 2024 Slides - Open Source to SaaS
WSO2CON 2024 Slides - Open Source to SaaSWSO2CON 2024 Slides - Open Source to SaaS
WSO2CON 2024 Slides - Open Source to SaaS
 
tonesoftg
tonesoftgtonesoftg
tonesoftg
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
 
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
 
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
 
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
 
WSO2CON 2024 - How to Run a Security Program
WSO2CON 2024 - How to Run a Security ProgramWSO2CON 2024 - How to Run a Security Program
WSO2CON 2024 - How to Run a Security Program
 

MySQL 8.0 - Security Features

  • 1.
  • 2. Harin Vadodaria Principal MTS SrvGen, MySQL Engineering November 12, 2019 Securing MySQL 2 Copyright © 2019 Oracle and/or its affiliates.
  • 3. Safe harbor statement The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. The development, release, timing, and pricing of any features or functionality described for Oracle’s products may change and remains at the sole discretion of Oracle Corporation. 3 Copyright © 2019 Oracle and/or its affiliates.
  • 4. Security Challenges Program agenda 1 2 3 MySQL Security Architecture Security Features in MySQL 8.0 4 Copyright © 2019 Oracle and/or its affiliates.
  • 5. Security Challenges Program agenda 1 2 3 MySQL Security Architecture Security Features in MySQL 8.0 5 Copyright © 2019 Oracle and/or its affiliates.
  • 6. 6 Why should you care? Copyright © 2019 Oracle and/or its affiliates.
  • 7. Security is Priority #1 7 “Keep the organization safe (cybersecurity/cyber resilience/GDPR compliance/data protection compliance)” Copyright © 2019 Oracle and/or its affiliates.
  • 8. 8 Copyright © 2019 Oracle and/or its affiliates.
  • 9. Security is Priority #1 9 Poor Configuration Over Privileged Account Weak Access Control Weak Authentication Weak Auditing Lack of Encryption Poor Credential and Key Management Insecure Backup No Monitoring Poorly Coded Applications Copyright © 2019 Oracle and/or its affiliates.
  • 10. Security Challenges Program agenda 1 2 3 MySQL Security Architecture Security Features in MySQL 8.0 10 Copyright © 2019 Oracle and/or its affiliates.
  • 11. How to secure your databases? 11 • Assess • Locate vulnerable components and ensure security control • Prevent • Use strong authentication, access control, encryption etc. • Detect • Prepare for the worst – Monitor, Audit, Alert • Recover • Minimize downtime • Analyze the problem and plug the hole Copyright © 2019 Oracle and/or its affiliates.
  • 12. 12 Users Applications  Network Encryption  Granular Access Control   Workbench  Database Events Logging  File Based Keyring  High Availability through InnoDB Cluster  Assess  Prevent  Detect  Recover  Logical backup through mysqlpump  Strong Authentication and Login Policy  Protection against Brute Force Attack Copyright © 2019 Oracle and/or its affiliates.
  • 13. 13 Users Applications  Network Encryption  Protection against Brute Force Attack  Granular Access Control   Workbench  High Availability Through InnoDB Cluster  Assess  Prevent  Detect  Recover  Enterprise Authentication And login policy   Firewall   Enterprise Monitor  Key Vault  Audit Vault Copyright © 2019 Oracle and/or its affiliates.  Enterprise Backup  Thread pool   Enterprise Audit
  • 14. 14 Connection Control Plugin Granular Access Control SQL Roles Password Policies TLSv1.3 Support Dynamic Privileges Resource Control Transparent Data Encryption Enterprise Audit Plugin Enterprise Firewall Plugin Binary Log Encryption Redo/Undo Log Encryption Enterprise Authentication Enterprise Encryption Plugin Keyring Plugins OpenSSL FIPS Support Admin Port SYSTEM_USER privilege Partial Revokes Random Password Generator Keyring UDFs MySQL Enterprise Monitor Secure Backup with MEB HA Using InnoDB Cluster Performance Schema Error Logs MySQL Workbench ASSESS PREVENT DETECT RECOVER Copyright © 2019 Oracle and/or its affiliates. Data Masking UDFs
  • 15. Security Challenges Program agenda 1 2 3 MySQL Security Architecture Security Features in MySQL 8.0 15 Copyright © 2019 Oracle and/or its affiliates.
  • 16. Random Password Generator New! Creates strong password - Returns the value as result set Helps secure automation CREATE USER ‘foo’ IDENTIFIED BY RANDOM PASSWORD; ALTER USER ‘bar’ IDENTIFIED BY RANDOM PASSWORD; SET PASSWORD FOR ‘foo’ TO RANDOM; 16 Copyright © 2019 Oracle and/or its affiliates.
  • 17. Enterprise Authentication Integrates with existing authentication infrastructure - PAM Support - New! Native LDAP support - Fast & Flexible - Supports Windows AD and OpenLDAP 17 Copyright © 2019 Oracle and/or its affiliates.
  • 18. MySQL Password Features New! Dual password support – Helps bridging gap in password propagation: database > application - Enhanced ALTER USER - RETAIN CURRENT PASSWORD - DISCARD OLD PASSWORD Default! SHA2 with Caching feature - Secure storage of password hash - Fast connection using cached password hash - RSA key based password exchange 18 Copyright © 2019 Oracle and/or its affiliates.
  • 19. MySQL Password Features New! Password History - Controls password reuse based on - Number of passwords - Time New! Restrict password change in hijacked connections - Existing password requirement can be enforced - PASSWORD REQUIRE CURRENT 19 Copyright © 2019 Oracle and/or its affiliates.
  • 20. SYSTEM_USER privilege New! Two user categories: Power users and Regular users - Allows maintaining separation of duty better 20 • DBAs managing instances and NOT data E.g. Uptime, Backup, High Level Security • DBAs managing data • Regular users with access to part of data Copyright © 2019 Oracle and/or its affiliates.
  • 21. Partial Revokes Allows creating exception to global grants (Everything except ‘this’ and ‘that’) - Execute GRANT at global level followed by REVOKE at schema level GRANT SELECT ON *.* TO `developer`; REVOKE SELECT ON `hrdb`.* FROM `developer`; 21 Copyright © 2019 Oracle and/or its affiliates.
  • 22. SQL Roles New! Improved access control using roles - Groups privileges - Facilitates easier privilege propagation - Easier to maintain - Reduces complexity 22 Copyright © 2019 Oracle and/or its affiliates.
  • 23. SQL Roles 23 Copyright © 2019 Oracle and/or its affiliates.
  • 24. SQL Roles 24 • 2 4 CREATE ROLE <role>GRANT <role> TO <user>REVOKE <role> FROM <user>SET ROLE instance_adminSET ROLE security_admin GRANT <privs> … TO <role>REVOKE <privs> … FROM <role> Copyright © 2019 Oracle and/or its affiliates.
  • 25. SQL Roles 25 • 2 5 Universal Grants through mandatory_roles Copyright © 2019 Oracle and/or its affiliates.
  • 26. Communication Security New! OpenSSL 1.1.1 support - Latest edition of OpenSSL library New! TLSv1.3 support New! Dynamic TLS options - --ssl-* options can be changed at run time - ALTER INSTANCE RELOAD TLS 26 Copyright © 2019 Oracle and/or its affiliates.
  • 27. Communication Security New! Dynamic OpenSSL linking - Allows usage of platform specific enhancements (AES-NI) - Facilitates TLS library upgrade - Allows usage of - FIPS object module - OpenSSL engines 27 Copyright © 2019 Oracle and/or its affiliates.
  • 28. Transparent Data Encryption What? - Data at Rest Encryption - Tablespaces, Audit logs - New! Binary logs, undo/redo logs Transparent to applications and users - No application code or data type changes Transparent to DBAs - Keys are hidden from DBAs, no configuration changes Requires Key Management - Protection, rotation, storage, recovery 28 Copyright © 2019 Oracle and/or its affiliates.
  • 29. Transparent Data Encryption 29 MySQL Server In-mem store API Interface Key Backend InnoDB Binary Log Audit Log Plugin Service How? Keyring Plugin Copyright © 2019 Oracle and/or its affiliates.
  • 30. Transparent Data Encryption The journey so far… - Introduced in MySQL 5.7 -TDE of file-per-table tablespaces in InnoDB -Audit log encryption - New! in MySQL 8.0 - Undo/Redo log encryption - Binary log encryption - Data dictionary encryption - General tablespace encryption -Policy to enforce table encryption 30 Copyright © 2019 Oracle and/or its affiliates.
  • 31. Transparent Data Encryption Supported backends - KMIP compliant - Oracle Key Vault, Gemalto KeySecure, Thales Vormetric Key Management Server, Fornetix Key Orchestration - Encrypted File 31 Copyright © 2019 Oracle and/or its affiliates.
  • 32. Transparent Data Encryption Supported backend - New! Hashicorp vault - Scalable and available - Stores, manages and generates secrets - Accessed through REST APIs over TLS connection 32 Copyright © 2019 Oracle and/or its affiliates.
  • 33. Data masking and De-Identification Wikipedia - “Data masking is the process of hiding original data with random characters or data” New! Data Masking - String masking - Dictionary based replacement - Payment card : Strict/Relaxed New! Random Data Generators - Random number within a range - Email - Payment card (Luhn check compliant) - Dictionary based generation 33 Copyright © 2019 Oracle and/or its affiliates.
  • 34. Data masking and De-Identification String - Mask within a string : ArthXXXXnt - Mask beginning and at the end : XXthurDeXX - Payment Card - Strict: XXXXXXXXXXXXXXX7395, - Relaxed: 493812XXXXXXXXX7395 - Dictionary based masking - gen_blacklist(“007”, “00designations”, “Cover_identity”) => Universal Exports 34 Copyright © 2019 Oracle and/or its affiliates.
  • 35. Data masking and De-Identification Random Data Generation - Random data within range - gen_range(10000, 20000) => 12503 - Email : kajsm.hamskdk@example.com - Payment card : 7389026626032990 - Configurable length : 12 to 19 digits 35 Copyright © 2019 Oracle and/or its affiliates.
  • 36. Data masking and De-Identification Dictionary based data generation & blacklists - Load multiple dictionaries - Maps dictionary file => dictionary name - In memory data for faster retrieval - Generation based on dictionary data - gen_dictionary(“periodictable”) => Oxygen - If 007 on the blacklist then substitute - Blacklisted – 007 – thus randomly substituted from Jobs Dictionary - gen_blacklist(“007”, “Job_mask", “Jobs") => “Accountant” - Not blacklisted – Administrator – thus passes through - gen_blacklist(“Administrator”, “Job_mask", “Jobs") => “Administrator” 36 Copyright © 2019 Oracle and/or its affiliates.
  • 37. MySQL Enterprise Audit What? - Out-of-the-box logging of connections, logins and queries - Highly configurable – user defined filters and log rotation - New! SQL Access to audit events - New! Multiple file options 37 { } </> Format Compression Encryption GZIP - AES-256-CBC - Uses keyring Copyright © 2019 Oracle and/or its affiliates.
  • 38. MySQL Enterprise Audit 38 Copyright © 2019 Oracle and/or its affiliates.
  • 39. MySQL Enterprise Audit New! Ability to abort queries – Use filter abort - Configurable – Abort based on - Query type - Object 39 Copyright © 2019 Oracle and/or its affiliates.
  • 40. MySQL Enterprise Firewall Statement digest based firewall - Protects against SQL injection - Configurable - Per user - Operation: LEARN->DETECT->PROTECT 40 Copyright © 2019 Oracle and/or its affiliates.
  • 41. 41 MySQL Enterprise Firewall SELECT * FROM app1_data1 WHERE id = 10; Copyright © 2019 Oracle and/or its affiliates.
  • 42. 42 MySQL Enterprise Firewall SELECT * FROM app1_data1 WHERE id = 10; LEARN Copyright © 2019 Oracle and/or its affiliates.
  • 43. 43 MySQL Enterprise Firewall SELECT * FROM app1_data1 WHERE id = 10; LEARN Copyright © 2019 Oracle and/or its affiliates. SELECT * FROM app1_data2 WHERE id = 10;
  • 44. 44 MySQL Enterprise Firewall DETECT SELECT * FROM app2_data1 WHERE id = 10; Copyright © 2019 Oracle and/or its affiliates.
  • 45. SELECT * FROM app2_data1 WHERE id = 10; SELECT * FROM app1_data1 WHERE id = 10 OR 1 = 1; PROTECT 45 MySQL Enterprise Firewall Copyright © 2019 Oracle and/or its affiliates.
  • 46. MySQL Enterprise Encryption 46 SQL Interface to OpenSSL Functions - Supports RSA/DSA/DH algorithms - Configurable Key Size Key Generation - CREATE_ASYMMETRIC_PRIV_KEY & CREATE_ASYMMETRIC_PUB_KEY - CREATE_DH_PARAMETERS & ASYMMETRIC_DERIVE Asymmetric Encryption/Decryption - ASYMMETRIC_ENCRYPT - ASYMMETRIC_DECRYPT Digest Creation : CREATE_DIGEST Sign & Verify - ASYMMETRIC_SIGN - ASYMMETRIC_VERIFY Copyright © 2019 Oracle and/or its affiliates.
  • 47. Security Resources • MUST READ https://dev.mysql.com/doc/mysql-secure-deployment-guide/8.0/en/ • http://mysqlserverteam.com/ • http://insidemysql.com/ • https://blogs.oracle.com/mysql • https://www.mysql.com/why-mysql/#en-0-40 • https://www.mysql.com/why-mysql/presentations/#en-17-40 • https://www.mysql.com/news-and-events/on-demand-webinars/#en-20-40 • https://www.mysql.com/news-and-events/health-check/ 47 Copyright © 2019 Oracle and/or its affiliates.
  • 48. Questions 48 Copyright © 2019 Oracle and/or its affiliates.
  • 49. Thank you 49 Copyright © 2019 Oracle and/or its affiliates.