MariaDB 10.1 introduced Data at Rest Encryption. By default we provide a file_key_management plugin. This is a basic plugin storing keys in a file that can be itself encrypted. This file can come from a usb stick removed once keys have been brought into memory. But this remains a basic solution not suitable for security ...continue reading "MariaDB AWS Key Management Service (KMS) Encryption Plugin"
I’ve previously evaluated MariaDB’s 10.1 implementation of data encryption at rest (https://www.pythian.com/blog/data-encryption-rest), and recently did the same for Oracle’s implementation (https://dev.mysql.com/doc/refman/5.7/en/innodb-tablespace-encryption.html) in their MySQL 5.7.
First, here’s a walkthrough of enabling encryption for MySQL 5.7:
1. Install keyring plugin.
1a. Add the following to the [mysqld] section of /etc/my.cnf:
View the code on Gist.
1b. Restart the server:
... service mysqld restart
1c. Verify:
... …[Read more]
Oracle University recently unveiled a new online training offering – the MySQL Learning Subscription. The combination of freely-accessible and compelling paid content makes this an exciting development to me, and should prove valuable to the community and customer base alike. This post will briefly explore this new MySQL educational resource.
Organization
The subscription content is organized into topical “channels”. Current top-level channels are:
- Getting Started
- Development
- Administration
- Security
These channels have sub-channels as well – for example, the Getting Started channel includes Getting Started With MySQL New Features and MySQL For Beginners, …
[Read more]
Recently we’ve received an alert from one of our clients that
running threads are high on one of their servers. Once we logged
in, we noticed that all the selects were waiting for table level
read lock. We scrolled through the process list, and found the
selects which were causing the problems. After killing it,
everything went back to normal.
At first we couldn’t understand why the query took so long, as it
looked like all the others. Then we noticed, that one of the
WHERE clauses was strange. There, we found a SLEEP(3) attached
with OR to the query. Obviously, this server was the victim of a
SQL injection attack.
What is SQL injection?
I think most of us know what SQL injection is, but as a
refresher, SQL injection is when someone provides malicious input
into WHERE, to run their own statements as well.
Typically this occurs when you ask a user for input, like
username, but instead of a real name they give you a …
Recently a serious vulnerability called DROWN was found. The vulnerability exists in systems that support SSLv2. There is flaw in SSLv2 that could be used to decrypt information over newer SSL protocols such as TLS. More information about the DROWN vulnerability with CVE number CVE-2016-0800 can be found here: The DROWN attack Mitre CVE dictionary […]
The post MariaDB itself is NOT affected by the DROWN vulnerability appeared first on MariaDB.org.
The MySQL team has been maintaining a MySQL image on Docker. They have been listening to requests from the community and reacting quickly. So far, they have fixed two bugs that I reported and introduced a feature request that I suggested to make the server more secure.
Thanks, folks!
My latest request was about password management in a MySQL container. I have mentioned in previous posts the compatibility problems introduced by MySQL 5.7 security enhancements. Let me recap the main issues here:
MySQL is secure by default.
The recommended method to install MySQL is mysqld
--initialize
, which will generate a random password that the DBA will
then use to access the …
MySQL 5.7 makes secure connections easier with streamlined key generation for both MySQL Community and MySQL Enterprise, improves security by expanding support for TLSv1.1 and TLSv1.2, and helps administrators assess whether clients are connecting securely or not with new visibility into connection types. …
Transport Layer Security (TLS, also often referred to as SSL) is an important component of a secure MySQL deployment, but the complexities of properly generating the necessary key material and configuring the server dissuaded many users from completing this task. MySQL Server 5.7 simplifies this task for both Enterprise and Community users. …
I saw an interesting post about the ability of installing MySQL 5.7 without changing existing tools and procedures. The post is a plea to make MySQL installation frictionless.
That post was followed by a conversation on Twitter, where the recent security enhancements are blamed for getting in the way of existing practices and need a rewrite of installation tools.
I know the problem very well, as I have faced the installation change in MySQL Sandbox. SO I can sympathize with the ones who have to change deployment tools that rely on mysql_install_db, which was a Perl script up to version 5.6, then it was replaced with a C++ program in 5.7 and deprecated in the same version.
It occurred to me that, in order to keep the …
[Read more]With MySQL 5.7, our goal is to be secure by default. This means that without having to change configuration settings or perform any additional steps, your fresh installation should be safe for production use.
As part of this security initiative, MySQL 5.7 shipped with a new feature where user accounts will be disabled if the password has not been changed in a number of days.…