SlideShare une entreprise Scribd logo
1  sur  52
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
MySQL TT: Security
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
43%
of companies have experienced a
data breach in the past year.
Source: Ponemon Institute, 2014
Oracle Confidential – Internal/Restricted/Highly Restricted 2
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
Mega Breaches
552 Million identities
exposed in 2013. 493%
increase over previous year 77%
Web sites with vulnerabilities.
1-in-8 of all websites had a
critical vulnerability.
8
Breaches that exposed
more than 10 million
records in 2013.
Total Breaches increased
62% in 2013
Oracle Confidential – Internal/Restricted/Highly Restricted 3
Source: Internet Security Threat Report 2014, Symantec
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
Target Breach, 2013, $270 million
The hackers who committed the Target breach took 40 million credit
and debit card numbers and 70 million records, including names and
addresses of shoppers.
Source: Fortune.com, 2014
Oracle Confidential – Internal/Restricted/Highly Restricted 4
Cybercrime cost the global economy $575 billion/year
Source: paymetric.com, 2014
One major data breach discovered every month
Those breaches include Michaels Stores, Sally Beauty Supply,
Neiman Marcus, AOL, eBay and P.F. Chang’s Chinese Bistro.
Source: paymetric.com, 2014
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
• Poor Configurations
– Set limits and change default
setting
• Over Privileged Accounts
– Privilege Policies
• Weak Access Control
– Dedicated Administrative Accounts
• Weak Authentication
– Strong Password Enforcement
• Weak Auditing
– Compliance & Audit Policies
• Lack of Encryption
– Data, Back, & Network Encryption
• Proper Credential/Key Management
– Use mysql_config_editor , Key Vaults
• Unsecured Backups
– Encrypted Backups
• No Monitoring
– Security Monitoring, Users, Objects
• Poorly Coded Applications
– Database Firewall
5
Database Vulnerabilities
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
Database Attacks
• SQL Injection
– Prevention: DB Firewall, White List, Input Validation
• Buffer Overflow
– Prevention: Frequently apply Database Software updates, DB Firewall, White List, Input Validation
• Brute Force Attack
– Prevention: lock out accounts after a defined number of incorrect attempts.
• Network Eavesdropping
– Prevention: Require SSL/TLS for all Connections and Transport
• Malware
– Prevention: Tight Access Controls, Limited Network IP access, Change default settings
6
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
Database Malicious Actions
• Information Disclosure: Obtain credit card and other personal information
– Defense: Encryption – Data and Network, Tighter Access Controls
• Denial of Service: Run resource intensive queries
– Defense: Resource Usage Limits – Set various limits – Max Connections, Sessions, Timeouts, …
• Elevation of Privilege: Retrieve and use administrator credentials
– Defense: Stronger authentication, Access Controls, Auditing
• Spoofing: Retrieve and use other credentials
– Defense: Stronger account and password policies
• Tampering: Change data in the database, Delete transaction records
− Defense: Tighter Access Controls, Auditing, Monitoring, Backups
7
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
Regulatory Compliance
• Regulations
– PCI – DSS: Payment Card Data
– HIPAA: Privacy of Health Data
– Sarbanes Oxley: Accuracy of Financial Data
– EU Data Protection Directive: Protection of Personal Data
– Data Protection Act (UK): Protection of Personal Data
• Requirements
– Continuous Monitoring (Users, Schema, Backups, etc)
– Data Protection (Encryption, Privilege Management, etc.)
– Data Retention (Backups, User Activity, etc.)
– Data Auditing (User activity, etc.)
8
https://www.mysql.com/why-mysql/white-papers/mysql-pci-data-security-compliance/
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
DBA Responsibilities
• Ensure only users who should get access, can get access
• Limit what users and applications can do
• Limit from where users and applications can access data
• Watch what is happening, and when it happened
• Make sure to back things up securely
• Minimize attack surface
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Oracle Confidential – Internal 10
MySQL Security Overview
Authentication
Authorization
Encryption
Firewall
MySQL Security
Auditing
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
Block Threats
Auditing
Regulatory Compliance
Login and Query Activities
SSL/TLS
Public Key
Private Key
Digital Signatures
Privilege Management
Administration
Database & Objects
Proxy Users
MySQL
Linux / LDAP
Windows AD
Custom
Oracle Confidential – Internal 11
MySQL Security Overview
AuthorizationAuthentication
Firewall&
Auditing
Encryption
Security
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
MySQL Authorization
• Administrative Privileges
• Database Privileges
• Session Limits and Object Privileges
• Fine grained controls over user privileges
– Creating, altering and deleting databases
– Creating, altering and deleting tables
– Execute INSERT, SELECT, UPDATE, DELETE queries
– Create, execute, or delete stored procedures and with what rights
– Create or delete indexes
12
Security Privilege Management in MySQL Workbench
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
MySQL Privilege Management
• user: user accounts, global privileges columns
• db: database-level privileges
• tables_priv: Contains table-level privileges
• columns_priv: Contains column-level privileges
• procs_priv: Contains stored procedure and function privileges
• proxies_priv: Contains proxy-user
13
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
MySQL Authentication
• Built in Authentication
– user table stores users and encrypted passwords
• X.509
– Server authenticates client certificates
• MySQL Native, SHA 256 Password plugin
– Native uses SHA1 or plugin with SHA-256 hashing and per user salting for user account passwords.
• MySQL Enterprise Authentication
– Microsoft Active Directory
– Linux PAMs (Pluggable Authentication Modules)
• Support LDAP and more
15
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
MySQL Password Policies
• Accounts without Passwords
– Assign passwords to all accounts to prevent unauthorized use
• Password Validation Plugin
– Enforce Strong Passwords
• Password Expiration/Rotation
– Require users to reset their password
• Account lockout (in v. 5.7)
16
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
MySQL Encryption
• SSL/TLS Encryption
– Between MySQL clients and Server
– Replication: Between Master & Slave
– Per connection basis
• Data Encryption
– AES Encrypt/Decrypt
17
• MySQL Enterprise Encryption
– Asymmetric Encrypt/Decrypt
– Generate Public Key and Private Keys
– Derive Session Keys
– Digital Signatures
• MySQL Enterprise Backup
– AES Encrypt/Decrypt
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
Database Auditing
• Auditing for Security & Compliance
– FIPS, HIPAA, PCI-DSS, SOX, DISA STIG, …
• MySQL built-in logging infrastructure:
– general log, error log
• MySQL Enterprise Audit
– Granularity made for auditing
– Can be modified live
– Contains additional details
– Compatible with Oracle Audit Vault.
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
Database Firewall
• SQL Injection: #1 Web Application Vulnerability
– 77% of Web Sites had vulnerabilities
– 1 in 8 critical vulnerabilities
• MySQL Enterprise Firewall
– Monitor database statements in real-time
– Automatic White List “rules” generation for any application
– Out of policy database transactions detected and blocked
19
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Oracle Confidential – Internal 20
MySQL Database Hardening
User Management
• Remove Extra Accounts
• Grant Minimal Privileges
• Audit users and privileges
Configuration
• Firewall
• Auditing and Logging
• Limit Network Access
• Monitor changes
Installation
• Mysql_secure_installation
• Keep MySQL up to date
− MySQL Installer for Windows
− Yum/Apt Repository
Backups
• Monitor Backups
• Encrypt Backups
Encryption
• SSL/TLS for Secure
Connections
• Data Encryption (AES, RSA)
Passwords
• Strong Password Policy
• Hashing, Expiration
• Password Validation Plugin
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
MySQL 5.7 Linux Packages - Security Improvements
• Test/Demo database has been removed
– Now in separate packages (prod/dev)
• Anonymous account creation is removed.
• Creation of single root account – local host only
• Default installation ensures encrypted communication by default
– Automatic generation of SSL/RSA Certs/Keys
• For EE : At server startup if options Certs/Keys were not set
• For CE : Through new mysql_ssl_rsa_setup utility
• Automatic detection of SSL Certs/Keys
• Client attempts secure TLS connection by default
21
MySQL Installer for Windows includes various Security Setup and Hardening Steps
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
MySQL Database Hardening: Installation
• MySQL_Secure_Installation / MySQL Installer for Windows
– Set a strong password for root account
– Remove root accounts that are accessible from outside the local host
– Remove anonymous-user accounts
– Remove the test database
• Which by default can be accessed by all users
• Including Anonymous Users
• Keep MySQL up to date
– Repos – YUM/APT/SUSE
– MySQL Installer for Windows
22
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
Software Updates - Database and OS Maintenance
• Maintaining security requires keeping Operating System and MySQL
security patches up to date.
– May require a restart (mysql or operating system) to take effect.
• To enable seamless upgrades consider MySQL Replication
– Allows for changes to be performed in a rolling fashion
• Best practice to upgrade slaves first
– MySQL 5.6 and above supports GTID-based replication
• Provides for simple rolling upgrades
• Follow OS vendor specific hardening Guidelines
– For example
• http://www.oracle.com/technetwork/articles/servers-storage-admin/tips-harden-oracle-linux-1695888.html
23
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
MySQL Database Hardening: Configuration
• Audit Activity
– Use Enterprise Audit
– Alt. Transiently enable Query Logging
– Monitor and Inspect regularly
• Disable or Limit Remote Access
– If local “skip-networking” or bind-
address=127.0.0.1
– If Remote access then limit hosts/IP
• Change root username
24
• Disable unauthorized reading from
local files
– Disable LOAD DATA LOCAL INFILE
• Run MySQL on non default port
– More difficult to find database
• Limit MySQL OS User
• Ensure secure-auth is enabled (do
not allow old passwords format)
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
MySQL Database Hardening: Best Practices
Parameter Recommended Value Why
Secure_file_priv A Designated Leaf directory for
data loads
Only allows file to be loaded from a specific
location. Limits use of MySQL to get data from
across the OS
Symbolic_links Boolean – NO Prevents redirection into less secure filesystem
directories
Default-storage_engine InnoDB Ensures transactions commits, data safety!
General-log Boolean – OFF Should only be used for debugging – off
otherwise
Log-raw Default - OFF Should only be used for debugging – off
otherwise
Skip-networking
or bind-address
ON
127.0.0.1
If all local, then block network connections or
limit to the local host.
SSL options Set valid values Should encrypt network communication
25
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
MySQL Database Hardening: Password Policies
• Enforce Strong Password Policies
• Password Hashing
• Password Expiration
• Password Validation Plugin
• Authentication Plugin
– Inherits the password policies from the component
– LDAP, Windows Active Directory, etc.
• Disable accounts when not in use
– Account lockout (5.7+)
26
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
MySQL Database Hardening: Backups
• Backups are Business Critical
– Used to restore after attack
– Migrate, move or clone server
– Part of Audit Trail
• Regularly Scheduled Backups
• Monitor Backups
• Encrypt Backups
• Do not forget about recovery plans
27
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
Applications and Credentials - Best Practices
• Applications – minimize sharing credentials (username/password)
– Finer grained the better – don’t overload across many applications/servers
• Should enable support for credential rotation
– Do not require all passwords to be changed in synchronization.
– Facilitates better troubleshooting and root-cause analysis.
• Steps to changing credentials should be secure and straightforward
– Not embedded in your code
• Can be changed without redeploying an application
• Should never be stored in version control and must differ between environments.
• Applications should get credentials using a secure configuration methodology.
28
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
MySQL Enterprise Edition
• MySQL Enterprise Authentication
– External Authentication Modules
• Microsoft AD, Linux PAMs
• MySQL Enterprise Encryption
– Public/Private Key Cryptography
– Asymmetric Encryption
– Digital Signatures, Data Validation
• MySQL Enterprise Firewall
– Query Monitoring, White List
Matching,
• MySQL Enterprise Audit
– User Activity Auditing, Regulatory Compliance
29
• MySQL Enterprise Monitor
– Changes in Database Configurations, Users
Permissions, Database Schema, Passwords
• MySQL Enterprise Backup
– Securing Backups, AES 256 encryption
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
MySQL Enterprise Monitor
• Enforce MySQL Security Best Practices
– Identifies Vulnerabilties
– Assesses current setup against security hardening policies
• Monitoring & Alerting
– User Monitoring
– Password Monitoring
– Schema Change Monitoring
– Backup Monitoring
• Configuration Management
– Configuration Tuning Advice
• Centralized User Management
30
"I definitely recommend the MySQL Enterprise
Monitor to DBAs who don't have a ton of MySQL
experience. It makes monitoring MySQL security,
performance and availability very easy to
understand and to act on.”
Sandi Barr
Sr. Software Engineer
Schneider Electric
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
Oracle Enterprise Manager for MySQL
31
Performance
Security
Availability
• Availability monitoring
• Performance monitoring
• Configuration monitoring
• All available metrics collected
– Allowing for custom threshold
based incident reports
• MySQL auto-detection
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
MySQL Enterprise Firewall
• Real Time Protection
– Queries analyzed and matched against White List
• Blocks SQL Injection Attacks
– Positive Security Model
• Block Suspicious Traffic
– Out of Policy Transactions detected & blocked
• Learns White List
– Automated creation of approved list of SQL command patterns on a per user basis
• Transparent
– No changes to application required
32
MySQL Enterprise Firewall monitoring
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
MySQL Enterprise Firewall
• Block SQL Injection Attacks
– Allow: SQL Statements that match Whitelist
– Block: SQL statements that are not on Whitelist
• Intrusion Detection System
– Detect: SQL statements that are not on Whitelist
• SQL Statements execute and alert administrators
33
Select *.* from employee where id=22
Select *.* from employee where id=22 or 1=1
Block✖
Allow✔
White List
Applications
Detect & Alert
Intrusion Detection
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
MySQL Enterprise Firewall: Overview
34
Inbound
SQL Traffic
Web
Applications
SQL Injection Attack
Via Brower
ALLOW
BLOCK
DETECT
1
2
3
Instance
MySQL Enterprise FirewallInternet
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 35
Receive SQL
from client
Digest into
parser tokens
Firewall
Store SQL digest
in Firewall
whitelist
Check user
Firewall mode
Detect or
protect mode
In whitelist?
Execute SQL
Send
Firewall alert to
error log
Reject SQL
Recording
Yes
Detect
Protect
Off
MySQL Enterprise Firewall
Workflow
No
Protect or Detect
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
MySQL Enterprise Firewall Details
• Firewall operation is turned on at a per user level
• Per User States are
–RECORDING
–PROTECTING
–DETECTING
–OFF
36
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 37
MySQL Enterprise Firewall: Per User Whitelists
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
MySQL Enterprise Firewall:
What happens when SQL is blocked in Protect Mode?
• The client application gets an ERROR
mysql> SELECT first_name, last_name FROM customer WHERE customer_id = 1 OR TRUE;
ERROR 1045 (28000): Statement was blocked by Firewall
mysql> SHOW DATABASES;
ERROR 1045 (28000): Statement was blocked by Firewall
mysql> TRUNCATE TABLE mysql.user;
ERROR 1045 (28000): Statement was blocked by Firewall
• Reported to the Error Log
• Increment Counter
38
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
MySQL Enterprise Firewall: Monitoring
Firewall Status Counters
39
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
MySQL Enterprise Authentication
41
• Integrate with Centralized Authentication Infrastructure
– Centralized Account Management
– Password Policy Management
– Groups & Roles
• PAM (Pluggable Authentication Modules)
– Standard interface (Unix, LDAP, Kerberos, others)
– Windows
• Access native Windows service - Use to Authenticate users using Windows
Active Directory or to a native host
Integrates MySQL with existing
security infrastructures
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
MySQL Enterprise Authentication: PAM
• Standard Interface
– LDAP
– Unix/Linux
• Proxy Users
42
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
MySQL Enterprise Authentication: Windows
•Windows Active Directory
•Windows Native Services
43
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
MySQL Enterprise Encryption
• MySQL encryption functions
– Symmetric encryption AES256 (All Editions)
– Public-key / asymmetric cryptography – RSA
• Key management functions
– Generate public and private keys
– Key exchange methods: DH
• Sign and verify data functions
– Cryptographic hashing for digital signing, verification, & validation – RSA,DSA
44
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
MySQL Enterprise Encryption
Encryption/Decryption within MySQL
Sensitive Data Sensitive Data
Private / Public Key Pairs
- Generate using MySQL Enterprise Encryption Functions
- Use externally generated (e.g. OpenSSL)
Encryption
Public Key
Decryption
Private Key
Encrypted
Data
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
MySQL Enterprise Encryption
App Encrypts/MySQL Decrypts
46
Encryption
Public Key
Decryption
Private Key
Encrypted
Data
Sensitive Data
Applications
Sensitive Data
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
MySQL Enterprise Encryption
App Encrypts / MySQL Stores / MySQL Decrypts
47
Encryption
Public Key
Decryption
Private Key
Encrypted
Data
Sensitive Data Sensitive Data
ApplicationsApplications
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
Oracle Key Vault
- Generate keys using Oracle Key Vault
- Use externally generated (e.g. OpenSSL)
Encryption
Public Key
Decryption
Private Key
Encrypted
Data
Sensitive Data
Applications
Sensitive Data
MySQL Enterprise Encryption
Oracle Key Vault Generates Keys (or externally generated)
48
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
MySQL Enterprise Audit
• Out-of-the-box logging of connections, logins, and query
• User defined policies for filtering, and log rotation
• Dynamically enabled, disabled: no server restart
• XML-based audit stream per Oracle Audit Vault spec
49
Adds regulatory compliance to
MySQL applications
(HIPAA, Sarbanes-Oxley, PCI, etc.)
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
MySQL Enterprise Audit
50
2. User Joe connects and runs a query
1. DBA enables Audit plugin
3. Joe’s connection & query logged
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
MySQL Enterprise Backup
• Online Backup for InnoDB (scriptable interface)
• Full, Incremental, Partial Backups (with compression)
• Strong Encryption (AES 256)
• Point in Time, Full, Partial Recovery options
• Metadata on status, progress, history
• Scales – High Performance/Unlimited Database Size
• Windows, Linux, Unix
• Certified with Oracle Secure Backup, NetBackup, Tivoli, others
51
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
MySQL Enterprise Oracle Certifications
• Oracle Enterprise Manager for
MySQL
• Oracle Linux (w/DRBD stack)
• Oracle VM
• Oracle Solaris
• Oracle Solaris Clustering
• Oracle Clusterware
• Oracle Audit Vault and Database Firewall
• Oracle Secure Backup
• Oracle Fusion Middleware
• Oracle GoldenGate
• My Oracle Support
MySQL integrates into your Oracle environment
52
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
Oracle Audit Vault and Database Firewall
• Oracle DB Firewall
– Oracle, MySQL, SQL Server, IBM DB2, Sybase
– Activity Monitoring & Logging
– White List, Black List, Exception List
• Audit Vault
– Built-in Compliance Reports
– External storage for audit archive
53
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
Thank You

Contenu connexe

Tendances

Tendances (20)

MySQL 5.7 Replication News
MySQL 5.7 Replication News MySQL 5.7 Replication News
MySQL 5.7 Replication News
 
MySQL Intro JSON NoSQL
MySQL Intro JSON NoSQLMySQL Intro JSON NoSQL
MySQL Intro JSON NoSQL
 
MySQL Manchester TT - 5.7 Whats new
MySQL Manchester TT - 5.7 Whats newMySQL Manchester TT - 5.7 Whats new
MySQL Manchester TT - 5.7 Whats new
 
MySQL 5.7: Focus on Replication
MySQL 5.7: Focus on ReplicationMySQL 5.7: Focus on Replication
MySQL 5.7: Focus on Replication
 
MySQL Manchester TT - MySQL Enterprise Edition
MySQL Manchester TT - MySQL Enterprise EditionMySQL Manchester TT - MySQL Enterprise Edition
MySQL Manchester TT - MySQL Enterprise Edition
 
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
 
MySQL Security
MySQL SecurityMySQL Security
MySQL Security
 
MySQL Enterprise Backup apr 2016
MySQL Enterprise Backup apr 2016MySQL Enterprise Backup apr 2016
MySQL Enterprise Backup apr 2016
 
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
 
MySQL Enterprise Edition Overview
MySQL Enterprise Edition OverviewMySQL Enterprise Edition Overview
MySQL Enterprise Edition Overview
 
Introduction to MySQL
Introduction to MySQLIntroduction to MySQL
Introduction to MySQL
 
MySQL Enterprise Monitor
MySQL Enterprise MonitorMySQL Enterprise Monitor
MySQL Enterprise Monitor
 
MySQL Tech Tour 2015 - Alt Intro
MySQL Tech Tour 2015 - Alt IntroMySQL Tech Tour 2015 - Alt Intro
MySQL Tech Tour 2015 - Alt Intro
 
Why MySQL High Availability Matters
Why MySQL High Availability MattersWhy MySQL High Availability Matters
Why MySQL High Availability Matters
 
Oracle Enterprise Manager for MySQL
Oracle Enterprise Manager for MySQLOracle Enterprise Manager for MySQL
Oracle Enterprise Manager for MySQL
 
MySQL Document Store
MySQL Document StoreMySQL Document Store
MySQL Document Store
 
MySQL Manchester TT - Replication Features
MySQL Manchester TT  - Replication FeaturesMySQL Manchester TT  - Replication Features
MySQL Manchester TT - Replication Features
 
MySQL Cloud Service
MySQL Cloud ServiceMySQL Cloud Service
MySQL Cloud Service
 
MySQL for Software-as-a-Service (SaaS)
MySQL for Software-as-a-Service (SaaS)MySQL for Software-as-a-Service (SaaS)
MySQL for Software-as-a-Service (SaaS)
 
MySQL Tech Tour 2015 - 5.7 Connector/J/Net
MySQL Tech Tour 2015 - 5.7 Connector/J/NetMySQL Tech Tour 2015 - 5.7 Connector/J/Net
MySQL Tech Tour 2015 - 5.7 Connector/J/Net
 

Similaire à MySQL Tech Tour 2015 - 5.7 Security

Material best practices in network security using ethical hacking
Material best practices in network security using ethical hackingMaterial best practices in network security using ethical hacking
Material best practices in network security using ethical hacking
Desmond Devendran
 
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
 

Similaire à MySQL Tech Tour 2015 - 5.7 Security (20)

Modern Data Security with MySQL
Modern Data Security with MySQLModern Data Security with MySQL
Modern Data Security with MySQL
 
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
 
Mysql user-camp-march-11th-2016
Mysql user-camp-march-11th-2016Mysql user-camp-march-11th-2016
Mysql user-camp-march-11th-2016
 
MySQL Security & GDPR
MySQL Security & GDPRMySQL Security & GDPR
MySQL Security & GDPR
 
2014 OpenSuse Conf: Protect your MySQL Server
2014 OpenSuse Conf: Protect your MySQL Server2014 OpenSuse Conf: Protect your MySQL Server
2014 OpenSuse Conf: Protect your MySQL Server
 
Material best practices in network security using ethical hacking
Material best practices in network security using ethical hackingMaterial best practices in network security using ethical hacking
Material best practices in network security using ethical hacking
 
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
 
MySQL for Oracle DBAs
MySQL for Oracle DBAsMySQL for Oracle DBAs
MySQL for Oracle DBAs
 
MySQL Enterprise Edition - Complete Guide (2019)
MySQL Enterprise Edition - Complete Guide (2019)MySQL Enterprise Edition - Complete Guide (2019)
MySQL Enterprise Edition - Complete Guide (2019)
 
AV/DF Advanced Security Option
AV/DF Advanced Security OptionAV/DF Advanced Security Option
AV/DF Advanced Security Option
 
Fighting cyber fraud with hadoop
Fighting cyber fraud with hadoopFighting cyber fraud with hadoop
Fighting cyber fraud with hadoop
 
Slides for the #JavaOne Session ID: CON11881
Slides for the #JavaOne Session ID: CON11881Slides for the #JavaOne Session ID: CON11881
Slides for the #JavaOne Session ID: CON11881
 
2015: Whats New in MySQL 5.7, At Oracle Open World, November 3rd, 2015
2015: Whats New in MySQL 5.7, At Oracle Open World, November 3rd, 2015 2015: Whats New in MySQL 5.7, At Oracle Open World, November 3rd, 2015
2015: Whats New in MySQL 5.7, At Oracle Open World, November 3rd, 2015
 
Java EE 6 Security in practice with GlassFish
Java EE 6 Security in practice with GlassFishJava EE 6 Security in practice with GlassFish
Java EE 6 Security in practice with GlassFish
 
Centrify Access Manager Presentation.pptx
Centrify Access Manager Presentation.pptxCentrify Access Manager Presentation.pptx
Centrify Access Manager Presentation.pptx
 
Oracle Database 11g Security and Compliance Solutions - By Tom Kyte
Oracle Database 11g Security and Compliance Solutions - By Tom KyteOracle Database 11g Security and Compliance Solutions - By Tom Kyte
Oracle Database 11g Security and Compliance Solutions - By Tom Kyte
 
MySQL enterprise edition
MySQL enterprise edition MySQL enterprise edition
MySQL enterprise edition
 
Oracle Identity Governance Technical Overview - 11gR2PS3
Oracle Identity Governance Technical Overview - 11gR2PS3Oracle Identity Governance Technical Overview - 11gR2PS3
Oracle Identity Governance Technical Overview - 11gR2PS3
 
Database Security Threats - MariaDB Security Best Practices
Database Security Threats - MariaDB Security Best PracticesDatabase Security Threats - MariaDB Security Best Practices
Database Security Threats - MariaDB Security Best Practices
 
10 tips for hardening your system
10 tips for hardening your system10 tips for hardening your system
10 tips for hardening your system
 

Plus de Mark Swarbrick

Plus de Mark Swarbrick (20)

MySQL NoSQL Document Store
MySQL NoSQL Document StoreMySQL NoSQL Document Store
MySQL NoSQL Document Store
 
MySQL @ the University Of Nottingham
MySQL @ the University Of NottinghamMySQL @ the University Of Nottingham
MySQL @ the University Of Nottingham
 
InnoDb Vs NDB Cluster
InnoDb Vs NDB ClusterInnoDb Vs NDB Cluster
InnoDb Vs NDB Cluster
 
Intro To MySQL 2019
Intro To MySQL 2019Intro To MySQL 2019
Intro To MySQL 2019
 
MySQL 8
MySQL 8MySQL 8
MySQL 8
 
MySQL Dublin Event Nov 2018 - MySQL 8
MySQL Dublin Event Nov 2018 - MySQL 8MySQL Dublin Event Nov 2018 - MySQL 8
MySQL Dublin Event Nov 2018 - MySQL 8
 
MySQL Dublin Event Nov 2018 - State of the Dolphin
MySQL Dublin Event Nov 2018 - State of the DolphinMySQL Dublin Event Nov 2018 - State of the Dolphin
MySQL Dublin Event Nov 2018 - State of the Dolphin
 
Oracle Code Event - MySQL JSON Document Store
Oracle Code Event - MySQL JSON Document StoreOracle Code Event - MySQL JSON Document Store
Oracle Code Event - MySQL JSON Document Store
 
TLV - MySQL Security overview
TLV - MySQL Security overviewTLV - MySQL Security overview
TLV - MySQL Security overview
 
TLV - MySQL Enterprise Edition + Cloud
TLV - MySQL Enterprise Edition + CloudTLV - MySQL Enterprise Edition + Cloud
TLV - MySQL Enterprise Edition + Cloud
 
TLV - Whats new in MySQL 8
TLV - Whats new in MySQL 8TLV - Whats new in MySQL 8
TLV - Whats new in MySQL 8
 
MySQL At University Of Nottingham - 2018 MySQL Days
MySQL At University Of Nottingham - 2018 MySQL DaysMySQL At University Of Nottingham - 2018 MySQL Days
MySQL At University Of Nottingham - 2018 MySQL Days
 
MySQL At Mastercard - 2018 MySQL Days
MySQL At Mastercard - 2018 MySQL DaysMySQL At Mastercard - 2018 MySQL Days
MySQL At Mastercard - 2018 MySQL Days
 
MySQL 8 - 2018 MySQL Days
MySQL 8 - 2018 MySQL DaysMySQL 8 - 2018 MySQL Days
MySQL 8 - 2018 MySQL Days
 
MySQL Security + GDPR - 2018 MySQL Days
MySQL Security + GDPR - 2018 MySQL DaysMySQL Security + GDPR - 2018 MySQL Days
MySQL Security + GDPR - 2018 MySQL Days
 
MySQL InnoDB + NDB Cluster - 2018 MySQL Days
MySQL InnoDB + NDB Cluster - 2018 MySQL DaysMySQL InnoDB + NDB Cluster - 2018 MySQL Days
MySQL InnoDB + NDB Cluster - 2018 MySQL Days
 
MySQL Cloud - 2018 MySQL Days
MySQL Cloud - 2018 MySQL DaysMySQL Cloud - 2018 MySQL Days
MySQL Cloud - 2018 MySQL Days
 
MySQL 2018 Intro - 2018 MySQL Days
MySQL 2018 Intro - 2018 MySQL DaysMySQL 2018 Intro - 2018 MySQL Days
MySQL 2018 Intro - 2018 MySQL Days
 
MySQL + GDPR
MySQL + GDPRMySQL + GDPR
MySQL + GDPR
 
MySQL Cluster Whats New
MySQL Cluster Whats NewMySQL Cluster Whats New
MySQL Cluster Whats New
 

Dernier

Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Dernier (20)

presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Cyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfCyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdf
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 

MySQL Tech Tour 2015 - 5.7 Security

  • 1. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | MySQL TT: Security
  • 2. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 43% of companies have experienced a data breach in the past year. Source: Ponemon Institute, 2014 Oracle Confidential – Internal/Restricted/Highly Restricted 2
  • 3. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Mega Breaches 552 Million identities exposed in 2013. 493% increase over previous year 77% Web sites with vulnerabilities. 1-in-8 of all websites had a critical vulnerability. 8 Breaches that exposed more than 10 million records in 2013. Total Breaches increased 62% in 2013 Oracle Confidential – Internal/Restricted/Highly Restricted 3 Source: Internet Security Threat Report 2014, Symantec
  • 4. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Target Breach, 2013, $270 million The hackers who committed the Target breach took 40 million credit and debit card numbers and 70 million records, including names and addresses of shoppers. Source: Fortune.com, 2014 Oracle Confidential – Internal/Restricted/Highly Restricted 4 Cybercrime cost the global economy $575 billion/year Source: paymetric.com, 2014 One major data breach discovered every month Those breaches include Michaels Stores, Sally Beauty Supply, Neiman Marcus, AOL, eBay and P.F. Chang’s Chinese Bistro. Source: paymetric.com, 2014
  • 5. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | • Poor Configurations – Set limits and change default setting • Over Privileged Accounts – Privilege Policies • Weak Access Control – Dedicated Administrative Accounts • Weak Authentication – Strong Password Enforcement • Weak Auditing – Compliance & Audit Policies • Lack of Encryption – Data, Back, & Network Encryption • Proper Credential/Key Management – Use mysql_config_editor , Key Vaults • Unsecured Backups – Encrypted Backups • No Monitoring – Security Monitoring, Users, Objects • Poorly Coded Applications – Database Firewall 5 Database Vulnerabilities
  • 6. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Database Attacks • SQL Injection – Prevention: DB Firewall, White List, Input Validation • Buffer Overflow – Prevention: Frequently apply Database Software updates, DB Firewall, White List, Input Validation • Brute Force Attack – Prevention: lock out accounts after a defined number of incorrect attempts. • Network Eavesdropping – Prevention: Require SSL/TLS for all Connections and Transport • Malware – Prevention: Tight Access Controls, Limited Network IP access, Change default settings 6
  • 7. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Database Malicious Actions • Information Disclosure: Obtain credit card and other personal information – Defense: Encryption – Data and Network, Tighter Access Controls • Denial of Service: Run resource intensive queries – Defense: Resource Usage Limits – Set various limits – Max Connections, Sessions, Timeouts, … • Elevation of Privilege: Retrieve and use administrator credentials – Defense: Stronger authentication, Access Controls, Auditing • Spoofing: Retrieve and use other credentials – Defense: Stronger account and password policies • Tampering: Change data in the database, Delete transaction records − Defense: Tighter Access Controls, Auditing, Monitoring, Backups 7
  • 8. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Regulatory Compliance • Regulations – PCI – DSS: Payment Card Data – HIPAA: Privacy of Health Data – Sarbanes Oxley: Accuracy of Financial Data – EU Data Protection Directive: Protection of Personal Data – Data Protection Act (UK): Protection of Personal Data • Requirements – Continuous Monitoring (Users, Schema, Backups, etc) – Data Protection (Encryption, Privilege Management, etc.) – Data Retention (Backups, User Activity, etc.) – Data Auditing (User activity, etc.) 8 https://www.mysql.com/why-mysql/white-papers/mysql-pci-data-security-compliance/
  • 9. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | DBA Responsibilities • Ensure only users who should get access, can get access • Limit what users and applications can do • Limit from where users and applications can access data • Watch what is happening, and when it happened • Make sure to back things up securely • Minimize attack surface
  • 10. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Oracle Confidential – Internal 10 MySQL Security Overview Authentication Authorization Encryption Firewall MySQL Security Auditing
  • 11. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Block Threats Auditing Regulatory Compliance Login and Query Activities SSL/TLS Public Key Private Key Digital Signatures Privilege Management Administration Database & Objects Proxy Users MySQL Linux / LDAP Windows AD Custom Oracle Confidential – Internal 11 MySQL Security Overview AuthorizationAuthentication Firewall& Auditing Encryption Security
  • 12. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | MySQL Authorization • Administrative Privileges • Database Privileges • Session Limits and Object Privileges • Fine grained controls over user privileges – Creating, altering and deleting databases – Creating, altering and deleting tables – Execute INSERT, SELECT, UPDATE, DELETE queries – Create, execute, or delete stored procedures and with what rights – Create or delete indexes 12 Security Privilege Management in MySQL Workbench
  • 13. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | MySQL Privilege Management • user: user accounts, global privileges columns • db: database-level privileges • tables_priv: Contains table-level privileges • columns_priv: Contains column-level privileges • procs_priv: Contains stored procedure and function privileges • proxies_priv: Contains proxy-user 13
  • 14. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | MySQL Authentication • Built in Authentication – user table stores users and encrypted passwords • X.509 – Server authenticates client certificates • MySQL Native, SHA 256 Password plugin – Native uses SHA1 or plugin with SHA-256 hashing and per user salting for user account passwords. • MySQL Enterprise Authentication – Microsoft Active Directory – Linux PAMs (Pluggable Authentication Modules) • Support LDAP and more 15
  • 15. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | MySQL Password Policies • Accounts without Passwords – Assign passwords to all accounts to prevent unauthorized use • Password Validation Plugin – Enforce Strong Passwords • Password Expiration/Rotation – Require users to reset their password • Account lockout (in v. 5.7) 16
  • 16. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | MySQL Encryption • SSL/TLS Encryption – Between MySQL clients and Server – Replication: Between Master & Slave – Per connection basis • Data Encryption – AES Encrypt/Decrypt 17 • MySQL Enterprise Encryption – Asymmetric Encrypt/Decrypt – Generate Public Key and Private Keys – Derive Session Keys – Digital Signatures • MySQL Enterprise Backup – AES Encrypt/Decrypt
  • 17. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Database Auditing • Auditing for Security & Compliance – FIPS, HIPAA, PCI-DSS, SOX, DISA STIG, … • MySQL built-in logging infrastructure: – general log, error log • MySQL Enterprise Audit – Granularity made for auditing – Can be modified live – Contains additional details – Compatible with Oracle Audit Vault.
  • 18. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Database Firewall • SQL Injection: #1 Web Application Vulnerability – 77% of Web Sites had vulnerabilities – 1 in 8 critical vulnerabilities • MySQL Enterprise Firewall – Monitor database statements in real-time – Automatic White List “rules” generation for any application – Out of policy database transactions detected and blocked 19
  • 19. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Oracle Confidential – Internal 20 MySQL Database Hardening User Management • Remove Extra Accounts • Grant Minimal Privileges • Audit users and privileges Configuration • Firewall • Auditing and Logging • Limit Network Access • Monitor changes Installation • Mysql_secure_installation • Keep MySQL up to date − MySQL Installer for Windows − Yum/Apt Repository Backups • Monitor Backups • Encrypt Backups Encryption • SSL/TLS for Secure Connections • Data Encryption (AES, RSA) Passwords • Strong Password Policy • Hashing, Expiration • Password Validation Plugin
  • 20. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | MySQL 5.7 Linux Packages - Security Improvements • Test/Demo database has been removed – Now in separate packages (prod/dev) • Anonymous account creation is removed. • Creation of single root account – local host only • Default installation ensures encrypted communication by default – Automatic generation of SSL/RSA Certs/Keys • For EE : At server startup if options Certs/Keys were not set • For CE : Through new mysql_ssl_rsa_setup utility • Automatic detection of SSL Certs/Keys • Client attempts secure TLS connection by default 21 MySQL Installer for Windows includes various Security Setup and Hardening Steps
  • 21. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | MySQL Database Hardening: Installation • MySQL_Secure_Installation / MySQL Installer for Windows – Set a strong password for root account – Remove root accounts that are accessible from outside the local host – Remove anonymous-user accounts – Remove the test database • Which by default can be accessed by all users • Including Anonymous Users • Keep MySQL up to date – Repos – YUM/APT/SUSE – MySQL Installer for Windows 22
  • 22. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Software Updates - Database and OS Maintenance • Maintaining security requires keeping Operating System and MySQL security patches up to date. – May require a restart (mysql or operating system) to take effect. • To enable seamless upgrades consider MySQL Replication – Allows for changes to be performed in a rolling fashion • Best practice to upgrade slaves first – MySQL 5.6 and above supports GTID-based replication • Provides for simple rolling upgrades • Follow OS vendor specific hardening Guidelines – For example • http://www.oracle.com/technetwork/articles/servers-storage-admin/tips-harden-oracle-linux-1695888.html 23
  • 23. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | MySQL Database Hardening: Configuration • Audit Activity – Use Enterprise Audit – Alt. Transiently enable Query Logging – Monitor and Inspect regularly • Disable or Limit Remote Access – If local “skip-networking” or bind- address=127.0.0.1 – If Remote access then limit hosts/IP • Change root username 24 • Disable unauthorized reading from local files – Disable LOAD DATA LOCAL INFILE • Run MySQL on non default port – More difficult to find database • Limit MySQL OS User • Ensure secure-auth is enabled (do not allow old passwords format)
  • 24. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | MySQL Database Hardening: Best Practices Parameter Recommended Value Why Secure_file_priv A Designated Leaf directory for data loads Only allows file to be loaded from a specific location. Limits use of MySQL to get data from across the OS Symbolic_links Boolean – NO Prevents redirection into less secure filesystem directories Default-storage_engine InnoDB Ensures transactions commits, data safety! General-log Boolean – OFF Should only be used for debugging – off otherwise Log-raw Default - OFF Should only be used for debugging – off otherwise Skip-networking or bind-address ON 127.0.0.1 If all local, then block network connections or limit to the local host. SSL options Set valid values Should encrypt network communication 25
  • 25. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | MySQL Database Hardening: Password Policies • Enforce Strong Password Policies • Password Hashing • Password Expiration • Password Validation Plugin • Authentication Plugin – Inherits the password policies from the component – LDAP, Windows Active Directory, etc. • Disable accounts when not in use – Account lockout (5.7+) 26
  • 26. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | MySQL Database Hardening: Backups • Backups are Business Critical – Used to restore after attack – Migrate, move or clone server – Part of Audit Trail • Regularly Scheduled Backups • Monitor Backups • Encrypt Backups • Do not forget about recovery plans 27
  • 27. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Applications and Credentials - Best Practices • Applications – minimize sharing credentials (username/password) – Finer grained the better – don’t overload across many applications/servers • Should enable support for credential rotation – Do not require all passwords to be changed in synchronization. – Facilitates better troubleshooting and root-cause analysis. • Steps to changing credentials should be secure and straightforward – Not embedded in your code • Can be changed without redeploying an application • Should never be stored in version control and must differ between environments. • Applications should get credentials using a secure configuration methodology. 28
  • 28. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | MySQL Enterprise Edition • MySQL Enterprise Authentication – External Authentication Modules • Microsoft AD, Linux PAMs • MySQL Enterprise Encryption – Public/Private Key Cryptography – Asymmetric Encryption – Digital Signatures, Data Validation • MySQL Enterprise Firewall – Query Monitoring, White List Matching, • MySQL Enterprise Audit – User Activity Auditing, Regulatory Compliance 29 • MySQL Enterprise Monitor – Changes in Database Configurations, Users Permissions, Database Schema, Passwords • MySQL Enterprise Backup – Securing Backups, AES 256 encryption
  • 29. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | MySQL Enterprise Monitor • Enforce MySQL Security Best Practices – Identifies Vulnerabilties – Assesses current setup against security hardening policies • Monitoring & Alerting – User Monitoring – Password Monitoring – Schema Change Monitoring – Backup Monitoring • Configuration Management – Configuration Tuning Advice • Centralized User Management 30 "I definitely recommend the MySQL Enterprise Monitor to DBAs who don't have a ton of MySQL experience. It makes monitoring MySQL security, performance and availability very easy to understand and to act on.” Sandi Barr Sr. Software Engineer Schneider Electric
  • 30. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Oracle Enterprise Manager for MySQL 31 Performance Security Availability • Availability monitoring • Performance monitoring • Configuration monitoring • All available metrics collected – Allowing for custom threshold based incident reports • MySQL auto-detection
  • 31. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | MySQL Enterprise Firewall • Real Time Protection – Queries analyzed and matched against White List • Blocks SQL Injection Attacks – Positive Security Model • Block Suspicious Traffic – Out of Policy Transactions detected & blocked • Learns White List – Automated creation of approved list of SQL command patterns on a per user basis • Transparent – No changes to application required 32 MySQL Enterprise Firewall monitoring
  • 32. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | MySQL Enterprise Firewall • Block SQL Injection Attacks – Allow: SQL Statements that match Whitelist – Block: SQL statements that are not on Whitelist • Intrusion Detection System – Detect: SQL statements that are not on Whitelist • SQL Statements execute and alert administrators 33 Select *.* from employee where id=22 Select *.* from employee where id=22 or 1=1 Block✖ Allow✔ White List Applications Detect & Alert Intrusion Detection
  • 33. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | MySQL Enterprise Firewall: Overview 34 Inbound SQL Traffic Web Applications SQL Injection Attack Via Brower ALLOW BLOCK DETECT 1 2 3 Instance MySQL Enterprise FirewallInternet
  • 34. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 35 Receive SQL from client Digest into parser tokens Firewall Store SQL digest in Firewall whitelist Check user Firewall mode Detect or protect mode In whitelist? Execute SQL Send Firewall alert to error log Reject SQL Recording Yes Detect Protect Off MySQL Enterprise Firewall Workflow No Protect or Detect
  • 35. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | MySQL Enterprise Firewall Details • Firewall operation is turned on at a per user level • Per User States are –RECORDING –PROTECTING –DETECTING –OFF 36
  • 36. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 37 MySQL Enterprise Firewall: Per User Whitelists
  • 37. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | MySQL Enterprise Firewall: What happens when SQL is blocked in Protect Mode? • The client application gets an ERROR mysql> SELECT first_name, last_name FROM customer WHERE customer_id = 1 OR TRUE; ERROR 1045 (28000): Statement was blocked by Firewall mysql> SHOW DATABASES; ERROR 1045 (28000): Statement was blocked by Firewall mysql> TRUNCATE TABLE mysql.user; ERROR 1045 (28000): Statement was blocked by Firewall • Reported to the Error Log • Increment Counter 38
  • 38. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | MySQL Enterprise Firewall: Monitoring Firewall Status Counters 39
  • 39. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | MySQL Enterprise Authentication 41 • Integrate with Centralized Authentication Infrastructure – Centralized Account Management – Password Policy Management – Groups & Roles • PAM (Pluggable Authentication Modules) – Standard interface (Unix, LDAP, Kerberos, others) – Windows • Access native Windows service - Use to Authenticate users using Windows Active Directory or to a native host Integrates MySQL with existing security infrastructures
  • 40. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | MySQL Enterprise Authentication: PAM • Standard Interface – LDAP – Unix/Linux • Proxy Users 42
  • 41. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | MySQL Enterprise Authentication: Windows •Windows Active Directory •Windows Native Services 43
  • 42. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | MySQL Enterprise Encryption • MySQL encryption functions – Symmetric encryption AES256 (All Editions) – Public-key / asymmetric cryptography – RSA • Key management functions – Generate public and private keys – Key exchange methods: DH • Sign and verify data functions – Cryptographic hashing for digital signing, verification, & validation – RSA,DSA 44
  • 43. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | MySQL Enterprise Encryption Encryption/Decryption within MySQL Sensitive Data Sensitive Data Private / Public Key Pairs - Generate using MySQL Enterprise Encryption Functions - Use externally generated (e.g. OpenSSL) Encryption Public Key Decryption Private Key Encrypted Data
  • 44. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | MySQL Enterprise Encryption App Encrypts/MySQL Decrypts 46 Encryption Public Key Decryption Private Key Encrypted Data Sensitive Data Applications Sensitive Data
  • 45. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | MySQL Enterprise Encryption App Encrypts / MySQL Stores / MySQL Decrypts 47 Encryption Public Key Decryption Private Key Encrypted Data Sensitive Data Sensitive Data ApplicationsApplications
  • 46. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Oracle Key Vault - Generate keys using Oracle Key Vault - Use externally generated (e.g. OpenSSL) Encryption Public Key Decryption Private Key Encrypted Data Sensitive Data Applications Sensitive Data MySQL Enterprise Encryption Oracle Key Vault Generates Keys (or externally generated) 48
  • 47. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | MySQL Enterprise Audit • Out-of-the-box logging of connections, logins, and query • User defined policies for filtering, and log rotation • Dynamically enabled, disabled: no server restart • XML-based audit stream per Oracle Audit Vault spec 49 Adds regulatory compliance to MySQL applications (HIPAA, Sarbanes-Oxley, PCI, etc.)
  • 48. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | MySQL Enterprise Audit 50 2. User Joe connects and runs a query 1. DBA enables Audit plugin 3. Joe’s connection & query logged
  • 49. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | MySQL Enterprise Backup • Online Backup for InnoDB (scriptable interface) • Full, Incremental, Partial Backups (with compression) • Strong Encryption (AES 256) • Point in Time, Full, Partial Recovery options • Metadata on status, progress, history • Scales – High Performance/Unlimited Database Size • Windows, Linux, Unix • Certified with Oracle Secure Backup, NetBackup, Tivoli, others 51
  • 50. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | MySQL Enterprise Oracle Certifications • Oracle Enterprise Manager for MySQL • Oracle Linux (w/DRBD stack) • Oracle VM • Oracle Solaris • Oracle Solaris Clustering • Oracle Clusterware • Oracle Audit Vault and Database Firewall • Oracle Secure Backup • Oracle Fusion Middleware • Oracle GoldenGate • My Oracle Support MySQL integrates into your Oracle environment 52
  • 51. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Oracle Audit Vault and Database Firewall • Oracle DB Firewall – Oracle, MySQL, SQL Server, IBM DB2, Sybase – Activity Monitoring & Logging – White List, Black List, Exception List • Audit Vault – Built-in Compliance Reports – External storage for audit archive 53
  • 52. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Thank You

Notes de l'éditeur

  1. 1
  2. 2
  3. 3
  4. 4
  5. 6
  6. 12
  7. 13
  8. 14
  9. 15
  10. 16
  11. 17
  12. 20
  13. 26
  14. 27
  15. 30
  16. 31
  17. 41
  18. 49
  19. 50
  20. 54